Список узлов (FTS-0005)

Список узлов (Nodelist) — это официальный документ в рамках сети. Использование и поддержка списка узлов является удобным способом распространения и обновления данных об узлах сети.

Система Аргус поддерживает список узлов стандарта FTS-0005, который соответствует списку узлов сети Public Fidonet Network (PFN), публикуемому каждую пятницу. Этот формат исторически известен как St. Louis nodelist format.

Список узлов стандарта FTS-0005 представляет собой ASCII-файл. Имя файла соответствует маске NODELIST.%%%, где %%% — это три цифры, представляющие число (дополненное слева нулями) дней с начала года до пятницы, в которую был опубликован. Файл списка узлов содержит два типа строк: строки комментариев, начинающиеся с символа “;” и строки данных. Каждая строка завершается парой ASCII-симолов перевода строки (CR) и возврата каретки (LF). Строк данных не может содержать пробелов и символов табуляции. Файл завершается ASCII-символом конца файла (десятичный код 26, или “Ctrl-Z”).

Система Аргус снимает множество ограничений, накладываемых на список узлов стандартом FTS-0005. Так, например, маска NODELIST.%%% не является обязательной для Аргуса, как и символ конца файла, а пятница не является единственно допустимым днем недели для опубликования.

Каждая строка данных списка узлов состоит из восьми полей, разделенных запятой “,”. Так как использование пробельных символов в строке данных не допускается, вместо них применяется символ подчеркивания “_”.

Поле 1: “Ключевое слово”

Zone
Служит для определения зоны и ее координатора. Все последующие строки данных описывают регионы, сети, и узлы этой зоны. Узлы, определенные сразу после ключевого слова “Zone”, но до первого определения региона или хоста, являются административными узлами зоны.
Region
Служит для определения региона в пределах зоны и его координатора. Узлы, определенные сразу после ключевого слова “Region”, но до первого “Zone”, “Region” или “Host”, называются независимыми узлами данного региона.
Host
Служит для определения сети и ее координатора. Узлы, определенные после ключевого слова “Host”, но до первого “Zone”, “Region” или “Host”, являются узлами (или членами) данной сети.
Hub
Определяет узел, который является главным в подсегменте сети. Подсегмент включает все узлы до первого “Zone”, “Region”, “Host” или “Hub”.
Pvt
Определяет служебный узел в рамках сети. В соответствии с FTS-0005, этот флаг позволяет узлу иметь неопубликованный номер телефона.
Hold
Определяет временно нефункционирующий узел, на который почта обычно передается через сетевого координатора.
Down
Определяет полностью нефункционирующий узел, подлежащий скорому удалению из списка узлов. На этот узел почта передаваться не может.
пусто
Определяет обычный узел.

Поле 2: “Номер Зоны / Региона / Сети / Узла”

Это поле содержит только цифры, и, в соответствии с FTS-0005, является номером в диапазоне 0-32767. Система Аргус накладывает иные ограничения на это поле: для зоны — до 4095, для сетей и узлов — до 65535.

Номера зон должны быть уникальными. Номера регионов и сетей должны быть уникальными только в пределах своей зоны. Номера главных узлов подсегментов уникальны в пределах своей сети. Номера узлов уникальны в пределах сети (в пределах региона, для независимых узлов региона, и в пределах зоны, для административных узлов зоны).

Поле 3: “Имя узла”

Это поле может содержать любые алфавитные символы, кроме пробелов и запятых. Подчеркивания используются, чтобы представить пробелы, а запятая определяет конец поля. Имя узла — это, обычно, название, под которым узел известен в сети.

Поле 4: “Географическое положение”

Это поле может содержать любые алфавитные символы, кроме пробелов и запятых. Подчеркивания используются, чтобы представить пробелы, а запятая определяет конец поля. Географическое положение обычно состоит из имени населенного пункта и административного деления.

Поле 5: “Имя системного оператора”

Это поле содержит имя системного оператора, и может содержать любые алфавитные символы, кроме пробелов и запятых. Подчеркивания используются, чтобы представить пробелы, а запятая определяет конец поля.

Поле 6: “Номер телефона”

Это поле представляет несколько числовых подполей, разделенных символом черточки ( ‹-‹, десятичный код 45). По спецификации FTS-0005, числовых подполей должно быть как минимум три, хотя обычно используется четыре. В системе Аргус нет ограничений на количество подполей, однако, хотя бы один символ-разделитель “-“ должен присутствовать в номере телефона обязательно.

Поле номера телефона может содержать, вместо номера, зарезервированную строку “-Unpublished-”. По стандарту FTS-0005, узел с неопубликованным телефоном должен обязательно иметь ключевой слово Pvt в первом поле. Аргус такое ограничение не накладывает, и строка “-Unpublished-” может присутствовать вместо номера телефона у любого узла, в таком случае прозвонка на такой узел просто не будет производиться.

Поле 7: “Скорость”

По стандарту FTS-0005, это поле определяет максимальную скорость соединения для узла, и может содержать одно из значений: 300, 1200, 2400, 9600, а в последних редакциях, 19200 или 38400. Система Аргус поддерживает это поле только для совместимости с FTS-0005, иными словами, значение поля 7 игнорируется.

Поле 8: “Флаги”

Это поле опционально, оно может содержать специфичные данные о работе узла, такие как типы обрабатываемых файловых запросов, протоколы модема, и т.д. Это поле состоит из одного или более подполей, разделенных запятыми.

Вот несколько примеров строк данных списка узлов:

Zone,2,Europe_&_more,Belgium,Ward_Dossche,32-3-4480880,9600,CM,XX,U,K12,Z19
Region,46,Ukraine_and_Moldova,Donetsk_Ukraine,Anton_Kuznetsov,380-622-322106,9600,V34,V32B,V42B,CM,MO,XA,U,ENC
Host,469,Moldova_Net,Moldova,Michael_Karpov,373-2-246484,9600,V34,XX,MO,U,TSF
Hub,38,RIT_Zeppelin,Kishinau,Auto_Pilot,373-2-246888,9600,CM,MO,V34,XA,ZYX
,84,Blue_Carnation,Kishinau,Max_Masyutin,373-2-511511,9600,ZYX,XA