Введение

Международная компьютерная сеть
компьютерная сеть BBS

/ \
/|oo \
( | / )
`@/ \
| | \ \\
| (*) | \ ))
| U | / \//
/ FIDO \ //|| \ /
( ) ( /( |( /
(c) John Madill
Логотип FidoNet от John Madill

FidoNet – это всемирная компьютерная сеть, используемая для обмена информацией между BBS (bulletin board systems). Она использует систему «храни и перешли» для обмена личными (электронной почтой) и публичными (форумами) сообщениями между BBS в сети, а также другими файлами и протоколами в некоторых случаях. Система FidoNet была построена на нескольких небольших взаимодействующих программах, и для поддержки другого программного обеспечения BBS требовалось портировать только одну из них. FidoNet была одной из немногих сетей, поддерживаемых практически всем программным обеспечением BBS, а также рядом онлайн-сервисов, не являющихся BBS. Такая модульная конструкция также позволяла FidoNet легко переходить на новые системы сжатия данных, что было особенно важно в эпоху модемной связи по телефонным линиям с высокими тарифами на междугородние звонки. Быстрое увеличение скорости модемов в начале 1990-х годов в сочетании с резким снижением цен на компьютерные системы и накопители сделало BBS все более популярными. К середине 1990-х годов в эксплуатации находилось почти 40 000 систем FidoNet, и можно было общаться с миллионами пользователей по всему миру. Только UUCPNET была сопоставима по масштабу и количеству пользователей; пользовательская база FidoNet значительно превосходила другие сети, такие как BITNET. Широкая доступность недорогих интернет-соединений, начиная с середины 1990-х годов, снизила потребность в системе «храни и перешли» FidoNet, поскольку до любой системы в мире можно было добраться за одинаковую плату. Прямое подключение к локальным BBS-системам быстро сократилось. Хотя FidoNet значительно уменьшилась с конца 1990-х годов, она продолжает использоваться и сегодня, несмотря на все более широкое распространение интернет-соединений.

Происхождение

Существуют два основных изложения истории развития FidoNet, различающихся лишь в незначительных деталях.

Счет Тома Дженнингса

Около Рождества 1983 года Том Дженнингс начал работу над новой системой электронных досок объявлений, которая впоследствии стала известна как Fido BBS. Название "Fido" возникло потому, что собранное оборудование представляло собой "настоящую мешанину". Дженнингс запустил систему в Сан-Франциско где-то в начале 1984 года. Одним из первых пользователей был Джон Мадилл, который пытался установить аналогичную систему в Балтиморе на своем Rainbow 100. Fido начал распространяться на новые системы, и Дженнингс в итоге начал вести неформальный список их телефонных номеров, где Дженнингс стал номером 1, а Мадилл – номером 2. Дженнингс выпустил первую версию программного обеспечения FidoNet в июне 1984 года. В начале 1985 года он написал документ, описывающий работу FidoNet, а также краткую историю системы. В этой версии FidoNet разрабатывался как способ обмена почтой между первыми двумя системами Fido BBS, системами Дженнингса и Мадилла, чтобы "просто проверить, возможно ли это, ради интереса". Первоначально это было реализовано в Fido V7, "где-то в июне 1984 года".

Рассказ Бена Бейкера

В начале 1984 года Бен Бейкер планировал создать BBS для недавно сформированного компьютерного клуба в автомобильном подразделении McDonnell Douglas в Сент-Луисе. Бейкер входил в группу специального интереса CP/M в клубе. Он намеревался использовать основополагающую систему CBBS, работающую на CP/M, и начал искать машину для её запуска. Президент клуба сообщил Бейкеру, что DEC предоставит им компьютер Rainbow 100 на неопределённый срок, поэтому он запланировал перенос CBBS на эту машину. Rainbow содержал два процессора, Intel 8088 и Zilog Z80, что позволяло ему работать как с MS DOS, так и с CP/M, при этом BBS функционировала на последней. Когда машина прибыла, выяснилось, что Z80 не имел доступа к портам ввода-вывода, поэтому CBBS не мог взаимодействовать с модемом. В поисках программного обеспечения для MS DOS-части системы Бейкер узнал о Fido через Мадилла. Чтобы снизить стоимость междугородних звонков, обмен почтой планировался на позднюю ночь, обычно в 4 часа утра. С тех пор для присоединения к FidoNet требовалось настроить свою систему и использовать её для отправки сообщения сетевой почты в специальную систему, узел 51. Сообщение содержало необходимую контактную информацию. Успешная передача этого сообщения гарантировала, что по крайней мере часть системы работает исправно. Команда, отвечающая за список узлов, затем отправляла ответное сообщение сетевой почтой в соответствующую систему, содержащее присвоенный номер узла. В случае успешной доставки система считалась работоспособной и добавлялась в список узлов. Полный сетевой адрес теперь состоял из пары: номер сети и номер узла, разделенных косой чертой. Вся почта между сетями сначала отправлялась локальному хосту – добровольцу, оплачивающему междугородние звонки. Этот хост собирал всю сетевую почту со всех систем в своей сети, затем переупаковывал её в отдельные пакеты, предназначенные для каждой сети. После этого он звонил администраторам необходимых сетей и доставлял пакеты. Эти хосты обрабатывали почту как обычно, при этом все сообщения в пакете были гарантированно локальными звонками. Различные стороны согласовали все детали новой концепции. В рамках этой встречи они также добавили понятие региона – чисто административного уровня, не входящего в схему адресации. Региональные хосты обрабатывали системы, не привязанные к локальным хостам сети. Затем они разделили США на десять регионов, которые, по их мнению, имели бы примерно одинаковое население. Со временем эта информация была включена в обновленные версии формата списка узлов, и файл ROUTES больше не использовался. Была выпущена новая версия FIDO и FIDONET, 10C, содержащая все эти функции. 12 июня 1985 года основная группа запустила 10C, и большинство систем Fido были обновлены в течение нескольких месяцев. В феврале 1986 года Джефф Раш, один из членов группы, представил новый почтовый модуль, который извлекал сообщения из публичных форумов, выбранных сисопом, аналогично тому, как исходный модуль обрабатывал личные сообщения. Новая программа получила название tosser/scanner. Tosser создавал файл, аналогичный (или идентичный) результату обычного сканирования netmail, но эти файлы затем сжимались и прикреплялись к обычному сообщению netmail в виде вложения. Это сообщение отправлялось на специальный адрес в удаленной системе. После получения netmail, сканер на удаленной системе искал эти сообщения, распаковывал их и помещал в тот же публичный форум в исходной системе. Таким образом, система Раша реализовала систему хранения и пересылки публичных сообщений, аналогичную Usenet, но основанную на и размещенную в системе FidoNet. Первым таким форумом электронной почты был форум, созданный сисопами из района Далласа для обсуждения бизнеса, известный как SYSOP. Вскоре появился другой, названный TECH. За ними последовали несколько публичных эхо, включая GAYNET и CLANG. Они породили сотни новых эхо и привели к созданию списка конференций Echomail (Echolist) Томасом Кенни в январе 1987 года. Echomail создал общемировые общие форумы, и его трафик быстро превзошел исходную систему netmail. К началу 1990-х годов echo mail передавал более 8 МБ сжатого трафика сообщений в день, что многократно превышало объем несжатых данных. Хотя FidoNet была, безусловно, самой известной сетью на основе BBS, она не была единственной. С 1988 года системы PCBoard могли размещать аналогичную функциональность, известную как RelayNet, а другие популярные сети включали RBBSNet из мира Commodore 64 и AlterNet. В конце развития системы FidoNet было предложено разрешить почте (но не сообщениям форумов) из этих систем переключаться в структуру FidoNet. Это не было принято, и стремительный рост интернета сделал это излишним, поскольку эти сети быстро добавили интернет-обмен, который действовал как lingua franca.

Пик

FidoNet начал свою работу в 1984 году и к концу года насчитывал 100 узлов. Устойчивый рост продолжался в течение 1980-х годов, но сочетание факторов привело к быстрому росту после 1988 года. Среди них – более быстрые и доступные модемы, а также стремительное снижение стоимости жестких дисков и компьютерных систем в целом. К апрелю 1993 года список узлов FidoNet содержал более 20 000 систем. В то время оценивалось, что в среднем каждый узел имел около 200 активных пользователей. Из этих 4 миллионов пользователей в общей сложности 2 миллиона регулярно использовали echomail – общие публичные форумы, а около 200 000 – частную систему netmail. На протяжении всего своего существования FidoNet сталкивался с проблемами управления и внутренними конфликтами. Это во многом объяснялось тем, что передача данных стоила реальных денег, а трафик рос быстрее, чем снижение затрат, вызванное увеличением скорости модемов и снижением тарифов на междугороднюю связь. По мере роста затрат предпринимались различные попытки их возмещения, все они вызывали напряженность в сообществе. Проблемы были настолько серьезными, что Дженнингс стал называть систему "сетью-дракой".

Упадок

По мере того, как модемы достигали скорости 28,8 кбит/с, подключение к Интернету через модем становилось все более распространенным. К 1995 году рынок BBS находился в упадке, поскольку пользователи отказывались от локальных BBS-систем в пользу более крупных сайтов и веб-страниц, к которым можно было получить доступ по всему миру за ту же стоимость, что и к локальной BBS-системе. Это также удешевило развертывание FidoNet, поскольку интернет-передачи можно было осуществлять через Интернет с минимальными или нулевыми дополнительными затратами. Однако это серьезно подорвало саму суть модели "храни и пересылай", которая была специально разработана для решения проблемы связи на большие расстояния, которая больше не существовала. Список узлов FidoNet начал сокращаться, особенно в регионах с широким распространением интернет-соединений. Эта тенденция к снижению продолжается, но стабилизировалась примерно на уровне 2500 узлов. FidoNet остается популярным в регионах, где доступ в Интернет затруднен или дорог.

Возрождение

Около 2014 года возникшая ретро-волна привела к постепенному росту числа BBS и узлов, подключенных к интернету. Для связи между системами используются Telnet, rlogin и SSH. Это означает, что пользователь может подключиться к любой BBS в мире по Telnet по той же цене, что и к локальной. Кроме того, появились Usenet и интернет-почта, а также поддержка длинных имен файлов во многих новых версиях BBS-софта, часть из которых распространяется бесплатно, что способствовало увеличению их популярности. Списки узлов (ноделисты) перестали повсеместно сокращаться.

Организационная структура FidoNet

FidoNet управляется иерархической структурой в соответствии с политикой FidoNet, с назначенными координаторами на каждом уровне для управления администрированием узлов FidoNet и разрешения споров между участниками. Координаторы сети отвечают за управление отдельными узлами в пределах своей зоны ответственности, обычно города или территории аналогичного размера. Региональные координаторы отвечают за управление работой сетевых координаторов в своем регионе, который обычно соответствует размеру штата или небольшой страны. Координаторы зон отвечают за управление всеми регионами в пределах своей зоны. Мир разделен на шесть зон, координаторы которых избирают одного из себя в качестве международного координатора FidoNet.

Техническая структура

FidoNet исторически был разработан для использования модемного доступа по коммутируемой линии между BBS, и большая часть его политики и структуры отражала это. Система FidoNet официально относилась только к передаче Netmail – индивидуальных личных сообщений между пользователями BBS, включая протоколы и стандарты, обеспечивающие эту передачу. Сообщение Netmail содержало имя отправителя, имя предполагаемого получателя и соответствующие адреса FidoNet обоих. Система FidoNet отвечала за маршрутизацию сообщения от одной системы к другой (подробности ниже), а программное обеспечение BBS на каждом конце обеспечивало, чтобы сообщение мог прочитать только адресат. В силу любительского характера сети, конфиденциальность между отправителем и получателем зависела исключительно от вежливости владельцев систем FidoNet, участвующих в передаче сообщения. Однако операторы систем обычно оставляли за собой право просматривать содержимое проходящей через их систему почты. Netmail позволял прикреплять один файл к каждому сообщению. Это привело к появлению ряда дополнительных протоколов, расширявших функциональность FidoNet путем передачи информации в виде файлов. Среди них – автоматизированное распространение файлов и передача данных для многопользовательских игр между BBS. Наиболее распространенным из этих протоколов был Echomail – публичные дискуссии, по своей природе схожие с новостными группами Usenet. Echomail поддерживался различными программами, которые собирали новые сообщения с публичных форумов локальных BBS (сканеры), сжимали их с помощью ARC или ZIP, прикрепляли полученный архив к сообщению Netmail и отправляли это сообщение в выбранную систему. Получив такое сообщение, идентифицированное как адресованное конкретному пользователю, использовался обратный процесс для извлечения сообщений, и программа-тоссер помещала их обратно на форумы новой системы. Echomail был настолько популярен, что для многих пользователей FidoNet и был Echomail. Личные сообщения Netmail были относительно редки.

Адреса FidoNet

Адреса FidoNet явно состоят из номера зоны, номера сети (или номера региона) и номера узла. Они записываются в формате Zone:Network/Node. Структура FidoNet также позволяет семантически определять статус региона, хоста и хаба для отдельных узлов, но этот статус не указывается непосредственно в основном адресе. Например, рассмотрим узел, расположенный в городе Тулса, штат Оклахома, США, с присвоенным номером узла 918, находящийся в зоне 1 (Северная Америка), регионе 19 и сети 170. Полный адрес FidoNet для этой системы будет 1:170/918. Регион использовался в административных целях и являлся частью адреса только в том случае, если узел был зарегистрирован непосредственно под региональным координатором, а не под одной из сетей, которые использовались для дальнейшего деления региона. Политика FidoNet требует, чтобы каждая система FidoNet поддерживала список узлов всех остальных систем-членов. Информация о каждом узле включает в себя название системы или BBS, имя оператора узла, географическое местоположение, номер телефона и программные возможности. Список узлов обновляется еженедельно, чтобы избежать нежелательных звонков в узлы, которые были отключены, при этом их телефонные номера могли быть переназначены телефонной компанией для голосовой связи. Для обеспечения регулярных обновлений координаторы каждой сети ведут список систем в своих локальных областях. Эти списки регулярно отправляются Международному координатору через автоматизированные системы. Затем Международный координатор составляет новый список узлов и генерирует список изменений (nodediff) для распространения среди операторов узлов, чтобы они могли применить его к своим существующим спискам узлов.

Очки

По мере того, как количество сообщений в Echomail со временем росло, пользователям становилось всё труднее успевать за объёмом, находясь в локальном BBS. Для решения этой проблемы были введены точки, позволяющие технически подкованным пользователям получать уже сжатый и объединённый Echomail (и Netmail) и читать его локально на своих компьютерах. Для этого схема адресации FidoNet была расширена добавлением последнего сегмента адреса – номера точки. Например, пользователю в вышеуказанной системе мог быть присвоен номер точки 10, и ему можно было бы отправить почту по адресу 1:170/918.10. В реальной практике настройка точек довольно сложна. Программное обеспечение FidoNet обычно состояло из множества небольших утилит, запускаемых с помощью вручную отредактированных скриптов, требовавших определённого уровня технических знаний. Для чтения и редактирования почты требовалась программа "sysop editor" или локально запущенная BBS-программа. В Северной Америке (зона 1), где местные звонки обычно бесплатны, преимущества системы нивелировались её сложностью. Точки использовались недолго и даже тогда лишь в ограниченном масштабе. В середине 1990-х годов появились специализированные автономные почтовые клиенты, такие как Blue Wave, Squiggy и Silver Xpress (OPX), которые быстро сделали систему точек устаревшей. Многие из этих пакетов поддерживали стандарт оффлайн-почты QWK. В других частях мира, особенно в Европе, ситуация была иной. В Европе даже местные звонки обычно тарифицируются, поэтому существовал серьёзный стимул сокращать продолжительность звонков. Программное обеспечение для работы с точками использует стандартное сжатие (ZIP, ARJ и т.д.), что позволяет сократить время соединения до нескольких минут в день. В отличие от Северной Америки, в Европе использование точек получило быстрое и довольно широкое распространение. Многие регионы распространяют список точек параллельно с нодельным списком. Сегменты списка точек поддерживаются хранителями списков точек сети и региона, а хранитель списка точек зоны собирает их в общий список точек зоны. На пике популярности FidoNet в списке точек зоны 2 было зарегистрировано более 120 000 точек. Регистрация точек осуществляется на добровольной основе, и не все точки регистрируются, поэтому точное их количество остаётся неизвестным. По состоянию на июнь 2006 года в списках всё ещё числилось около 50 000 точек. Большинство из них находится в России и Украине.

Технические спецификации

FidoNet содержал несколько технических спецификаций для обеспечения совместимости между системами. Наиболее базовой из них является FTS 0001, которой все системы FidoNet обязаны соответствовать как минимальному требованию. FTS 0001 определял:
Рукопожатие – протоколы, используемые почтовыми программами для идентификации друг друга и обмена метаинформацией о сеансе связи. Протокол передачи (XMODEM) – протоколы, используемые для передачи файлов, содержащих почту FidoNet, между системами. Формат сообщений – стандартный формат сообщений FidoNet во время их обмена между системами. Другие часто используемые спецификации предусматривали поддержку эхопочты, различные протоколы передачи и методы рукопожатия (например: Yoohoo/Yoohoo2u2, EMSI), сжатие файлов, формат списка узлов, передачу по надежным каналам связи, таким как Интернет (Binkp), и другие аспекты.

Зонный час почты

Поскольку компьютерные доски объявлений исторически использовали те же телефонные линии для передачи почты, что и для подключения пользователей BBS, политика FidoNet предписывает, чтобы как минимум одна выделенная линия каждого узла FidoNet была доступна для приема почты от других узлов FidoNet в течение определенного часа каждого дня. Этот час, получивший название "Зонный почтовый час", зависел от географического местоположения узла и был установлен на раннее утро. Точное время варьировалось в зависимости от часового пояса, и любой узел, располагающий только одной телефонной линией, должен был отклонять входящие звонки от пользователей. На практике, особенно позднее, большинство систем FidoNet стремились принимать почту в любое время суток, когда телефонная линия свободна, как правило, ночью.

Развертывание FidoNet

Большинство развертываний FidoNet были разработаны модульно. Типичное развертывание включало в себя несколько приложений, которые общались через общие файлы и каталоги и переключались друг с другом с помощью тщательно разработанных скриптов или пакетных файлов. Однако доступно и монолитное программное обеспечение, объединяющее все необходимые функции в одном пакете, например, D'Bridge. Такое программное обеспечение избавляло от необходимости в пользовательских пакетных файлах и было тесно интегрировано в работу системы. Выбор способа развертывания зависел от предпочтений оператора, и оба подхода имели свои преимущества и недостатки. Вероятно, самым важным программным обеспечением в системе Fido на базе DOS был драйвер FOSSIL – небольшой драйвер устройства, обеспечивавший стандартный способ взаимодействия программного обеспечения Fido с модемом. Этот драйвер необходимо было загрузить перед запуском любого программного обеспечения Fido. Эффективный драйвер FOSSIL обеспечивал более быстрые и надежные соединения. Программное обеспечение для передачи почты (мейлер) отвечало за передачу файлов и сообщений между системами, а также за передачу управления другим приложениям, таким как программное обеспечение BBS, в нужный момент. Мейлер сначала отвечал на звонок и, при необходимости, обрабатывал входящую почту с использованием протоколов передачи FidoNet. Если мейлер отвечал на звонок и обнаруживал звонящего человека, а не другое программное обеспечение мейлера, он завершал работу и передавал управление программному обеспечению BBS, которое затем инициализировалось для взаимодействия с пользователем. Когда исходящая почта ожидала отправки в локальной системе, мейлер периодически пытался отправить ее, набирая номер и подключаясь к другим системам, которые принимали и пересылали почту дальше. Учитывая стоимость междугородних звонков, которая часто различалась в зависимости от времени суток (пиковое и непиковое), программное обеспечение мейлера обычно позволяло оператору настраивать оптимальное время для отправки почты в другие системы. Программное обеспечение BBS использовалось для взаимодействия с пользователями, подключающимися к системе по телефонной линии. Программное обеспечение BBS позволяло пользователям использовать базы сообщений системы и отправлять почту другим пользователям, как локально, так и на другие BBS. Почта, адресованная другим BBS, позже маршрутизировалась и отправлялась мейлером, обычно после того, как пользователь заканчивал работу с системой. Многие BBS также позволяли пользователям обмениваться файлами, играть в игры и взаимодействовать с другими пользователями различными способами (например, чат между узлами). Приложение сканера/отправителя (scanner/tosser), такое как FastEcho, FMail, TosScan и Squish, обычно запускалось, когда пользователь BBS вводил новое сообщение FidoNet, которое необходимо было отправить, или когда мейлер получал новую почту для импорта в локальные базы сообщений. Это приложение отвечало за обработку упаковки входящей и исходящей почты, перемещая ее между базами сообщений локальной системы и входящими и исходящими каталогами мейлера. Приложение сканера/отправителя обычно отвечало за базовую информацию о маршрутизации, определяя, на какие системы пересылать почту. Позже были разработаны и отдельные программы для чтения и редактирования сообщений, не зависящие от программного обеспечения BBS. Часто системный оператор конкретной BBS использовал специальную программу для чтения сообщений, а не само программное обеспечение BBS, для чтения и отправки сообщений FidoNet и связанных с ними. Одним из самых популярных редакторов в 2008 году был GoldED+. В некоторых случаях узлы FidoNet или, чаще, точки FidoNet не имели подключенной публичной доски объявлений и существовали только для передачи почты в интересах оператора узла. Большинство узлов в 2009 году не имели доступа к BBS, а только точки, если таковые вообще были. Оригинальное программное обеспечение Fido BBS и некоторые другие программы FidoNet 1980-х годов больше не работают на современных системах. Это связано с несколькими причинами, включая проблемы, связанные с ошибкой Y2K. В некоторых случаях оригинальные авторы покинули сообщество BBS или shareware, и программное обеспечение, большая часть которого была закрытым исходным кодом, больше не поддерживается. Несколько устаревших мейлеров FidoNet для DOS, таких как FrontDoor, Intermail, MainDoor и D'Bridge начала 1990-х годов, все еще можно запускать сегодня под Windows без модема, используя бесплатный драйвер NetFoss Telnet FOSSIL и виртуальный модем, такой как NetSerial. Это позволяет мейлеру подключаться к IP-адресу или имени хоста через Telnet, а не набирать номер реального телефонного номера POTS. Существуют аналогичные решения для Linux, такие как MODEMU (эмулятор модема), которые имеют ограниченный успех в сочетании с DOSEMU (эмулятор DOS). Сканеры/отправители, такие как FastEcho и FMail, все еще используются сегодня как под Windows, так и под Linux/DOSEMU. В настоящее время доступно несколько современных мейлеров FidoNet для Windows с открытым исходным кодом, включая Argus, Radius и Taurus. MainDoor – еще один мейлер FidoNet для Windows, который также можно запускать с использованием модема или напрямую через TCP/IP. Два популярных бесплатных мейлера FidoNet с открытым исходным кодом для Unix-подобных систем – это binkd (кроссплатформенный, только IP, использует протокол binkp) и qico (поддерживает связь через модем, а также IP-протоколы ifcico и binkp). Что касается аппаратного обеспечения, системы Fido обычно были хорошо оснащены для своего времени, с быстрыми процессорами, высокоскоростными модемами и UART 16550, которые в то время считались улучшением. Поскольку система Fido обычно представляла собой BBS, ей требовалось быстро обрабатывать все новые события почты, прежде чем вернуться в состояние "ожидания звонка". Кроме того, самой BBS обычно требовалось много места для хранения данных. Наконец, система Fido обычно имела как минимум одну выделенную телефонную линию. Следовательно, эксплуатация системы Fido часто требовала значительных финансовых вложений, которые обычно покрывались владельцем системы.

Доступность FidoNet

Хотя использование FidoNet значительно сократилось по сравнению с его популярностью до середины 1990-х годов, оно до сих пор используется во многих странах, особенно в России и бывших республиках СССР. Некоторые BBS, включая те, которые теперь доступны пользователям с интернет-соединением через telnet, по-прежнему поддерживают FidoNet-почту и эхоконференции. Некоторые эхоконференции FidoNet доступны через шлюзы в иерархию новостей Usenet с использованием программного обеспечения, такого как UFGate. Также существуют почтовые шлюзы для обмена сообщениями между Интернетом и FidoNet. Распространенное злоупотребление сетью и спам в электронной почте в Интернете привели к тому, что некоторые шлюзы (например, бывший 1:1/31 IEEE fidonet.org) стали неработоспособными или полностью прекратили свою работу.

FidoNews

FidoNews – это информационный бюллетень сообщества FidoNet. В шутку его называют "Снуз", и он выходит еженедельно. Первый выпуск был опубликован в 1984 году. На протяжении всей своей истории его издавали разные люди и организации, в том числе недолго просуществовавшая Международная ассоциация FidoNet.