Первое, что необходимо для того, чтобы достаточное количество телекоммуникационных узлов, объединенных в сеть, могли обмениваться информацией — это наличие в сети определенной структуры. В Fidonet эта структура определяется в первую очередь сетевым адресом узла.
Адрес узла в Fidonet (и любой FTN–совместимой сети) имеет числовую форму и строится по схеме:
зона : сеть или регион / узел
Узел (Node) является наименьшей структурной единицей Fidonet; в то же время это основная единица Fidonet.
Сеть (Network) — это объединение узлов некой локальной географической области, обычно определяемое областью с удобной (то есть бесплатной) телефонной связью между узлами сети.
Регион (Region) — это определенная достаточно крупная географическая область, включающая узлы, которые могут быть объединены либо не объединены в сети; типичный регион содержит множество узлов, объединенных в сети, и несколько независимых узлов, не являющихся частью какой–либо сети. В адрес сети, как правило, входит как составная часть адрес региона, которому принадлежит эта сеть.
Зона (Zone) — это наиболее крупная структурная единица Fidonet, большая географическая область, включающая множество регионов и охватывающая одну или несколько стран и(или) континентов. Fidonet насчитывает шесть зон: 1 — Северная Америка; 2 — Европа и территория бывшего СССР; 3 — Австралия и Океания; 4 — Южная Америка; 5 — Африка; 6 — Азия.
Таким образом, сетевая принадлежность конкретного узла, например 2:5020/113, определяется как узел 113 сети 5020 региона 50 зоны 2 Fidonet. Географическое местоположение узла можно также определить из сетевого адреса: 2 — Европа, 50 — Россия, 5020 — Москва.
Основополагающим принципом Fidonet является обеспечение возможности передачи данных напрямую от любого узла Fidonet к любому другому узлу. Это обеспечивается распространением среди всех узлов сети списка–справочника узлов, или нодлиста (Nodelist). Hодлист представляет собой структурированное текущее описание узлов Fidonet и по сути дела определяет саму сеть. Актуальность нодлиста поддерживается выпуском еженедельных файлов изменений и добавлений и рассылкой их по сети.
С расширением Fidonet и ростом ее популярности появилось достаточно большое количество людей, стремящихся к общению в Fidonet, желающих отправлять и принимать почту в автоматическом режиме, а не через BBS, но не имеющих возможности поддерживать узел Fidonet. Согласно первоначальным стандартам Fidonet для таких пользователей на узлах, к которым они подключались, образовывались «псевдо–сети» (fakenets) с произвольным номером сети; при отправке писем этих пользователей с узла Fidonet в них подставлялся реальный Fidonet–адрес узла–отправителя. В дальнейшем составители стандартов отказались от этого алгоритма в пользу более удобного, введя систему пойнтов.
Пойнт, посылающий почту через определенный узел, пользуется адресом узла, к которому через точку добавлен номер пойнта, например 2:5020/113.1.
Следует подчеркнуть разницу между пойнтом и узлом. Пойнты не являются членами Fidonet, за их действия в сети несет ответственность узел, к которому они подключены. Пойнт не обязан соблюдать технические процедуры, установленные для узла Fidonet. Фактически пойнт
представляет собой пользователя BBS, наделенного сетевым адресом и использующего Fidonet–совместимое программное обеспечение для работы с почтой. В Fidonet ведутся и распространяются списки пойнтов отдельных сетей в формате, аналогичном нодлисту.
Однако одной структуры мало для того, чтобы сеть масштаба Fidonet на распалась от собственной тяжести на отдельные мелкие сети. Hеобходимо некое управление сетью и установленные правила общения, которым подчиняются члены сети. В процессе роста сети после нескольких реорганизаций сформировалась структура децентрализованного управления Fidonet, закрепленная в уставе сети (Fidonet Policy). Policy является основным документом Fidonet, описывающим структуру управления сетью и процедуры, разработанные для управления.
В Policy закреплен любительский и некоммерческий характер Fidonet. Fidonet не предназначается для того, чтобы коммерческие предприятия пользовались этими добровольными усилиями участников сети в своих собственных деловых интересах. Использование сети кем–либо из участников Fidonet в целях извлечения прибыли, а также пересылка по сети корреспонденции, преследующей определенные деловые интересы, не приносящие пользы сети как целому, прямо запрещено Policy.
Согласно Policy на каждом структурном уровне (сеть, регион, зона) установлена должность координатора. Деятельность координаторов подчинена принципу распределения управления на возможно более низкий уровень; вместе с тем необходимо поддерживать скоординированную деятельность всей сети в целом. Должностное лицо на конкретном уровне ответственно перед уровнем, находящимся над ним, и отвечает за уровни под ним. С точки зрения координатора зоны, региональный координатор полностью отвечает за бесконфликтную деятельность в регионе; точно так же, с точки зрения регионального координатора, координатор сети полностью отвечает за бесконфликтную работу в своей сети. Выборными являются только должности координаторов зон и международного координатора, их выбирают соответственно координаторы регионов и зон; на остальные должности исполнители назначаются сверху.
Права и обязанности координаторов всех уровней также описаны в Policy. Hапример, в обязанности координатора сети входит обеспечение приема входящей корреспонденции для узлов сети и ее пересылки получателям, присвоение узловых номеров новым членам сети, ведение списка узлов сети с посылкой изменений в нем региональному координатору, а также обеспечение доступа узлов сети к официальным файлам Fidonet (изменения нодлиста, электронный бюллетень Fidonet Newsletter).
Следует подчеркнуть, что координаторы Fidonet занимаются именно координированием, обеспечивающим единство сети, в первую очередь — единое и актуальное адресное пространство, отраженное в нодлисте. Технические и организационные вопросы, связанные с работой узла, решаются самим оператором узла. Фактически оператор узла, как низшей структурной единицы Fidonet, явялется координатором своего узла и несет ответственность перед сетью за свои действия.
Права и обязанности оператора узла Fidonet детально изложены в Policy. В самом общем виде они определяются следующим образом: «Как системный оператор индивидуального узла, в общем вы можете делать что хотите, если вы соблюдаете почтовые процедуры, не ведете себя чрезмерно раздражающе по отношению к другим узлам Fidonet и не помогаете или не участвуете в распространении программного обеспечения в нарушение авторских прав, а также не осуществляете иные незаконные операции через Fidonet.» Оператор узла несет ответственность за трафик, входящий в Fidonet через его систему, включая трафик, входящий от пользователей BBS, пойнтов узла и любых других сетей, для которых система может служить шлюзом в Fidonet.
Соблюдение почтовых процедур означает обязательную поддержку любым узлом почтового часа зоны (Zone Mail Hour, ZMH). Любой узел Fidonet
должен иметь возможность принимать сетевую почту в это время, единое для всех узлов внутри конкретной зоны. Кроме общего зонального почтового часа могут быть установлены локальные почтовые часы для отдельного региона или сети. Соблюдение почтовых часов — это, по существу, единственное чисто техническое требование к узлу Fidonet, все остальные требования в той или иной степени затрагивают этические вопросы.
Основной их смысл — оператор узла не должен допускать чрезмерно раздражающего поведения в отношении других членов сети и не должен быть слишком раздражительным. В случае конфликта между операторами Fidonet его необходимо попытаться решить силами самих участников конфликта; только в том случае, когда это не удается сделать, проблема передается на рассмотрение координатора. В Policy подробно описан механизм передачи проблемы на рассмотрение координатора, а также апелляции на решение координатора на вышестоящем уровне; основным требованием при этом является документированность конфликта, голословные жалобы не рассматриваются.
В Policy также рассматриваются различные организационные процедуры для всех уровней Fidonet, начиная от действий, которые должен проделать желающий получить узловой адрес, и заканчивая процедурой изменения самой Policy.
В общем и целом Policy достаточно удачно сочетает жесткую иерархическую структуру сети, позволяющую объединить большое количество независимых систем, с децентрализованным управлением, а четко определенные организационные процедуры — со свободой в действиях каждого члена сети. Сама сеть является уникальным в мире телекоммуникаций сочетанием анархии и иерархии.