Кратко

  • Добровольцы публиковали структурированные описания узлов и связей в comp.mail.maps, чтобы pathalias мог рассчитывать маршруты почты.
  • Карта не была официальной топологией в реальном времени: каждый узел добавлял собственные сведения, а точность зависела от сообщений и исправлений операторов.

Маршрут можно записать как последовательность компьютеров, но сначала нужно знать, какие из них готовы передать сообщение дальше. Поздняя история проекта сообщает, что в январе 1984 года встреча Birds-of-a-Feather на конференции USENIX собрала более тридцати добровольцев для создания и поддержки карты UUCP. Pathalias уже умел рассчитывать маршруты, однако полной карты для него не было. Участники назвали инициативу UUCP Project и стали публиковать региональные обновления в группе Usenet comp.mail.maps. Когда первоначальное финансирование USENIX закончилось, проект продолжился на добровольной основе.

Карта не была центральным маршрутизатором, который предписывал путь всем узлам. Записи описывали сами площадки: имена хостов, организации, контакты, оборудование, соединения и заявленные стоимость или частоту связи. В переизданном README с датой июль 1985 года сказано, что pathalias обрабатывал общую карту вместе с локальными дополнениями Path.*. Поэтому каждый узел рассчитывал почтовые маршруты для себя. Общий файл сообщал о возможных переходах; выбор зависел от локальных данных и практики.

У соединений были разные условия. Одни проходили по локальной сети или выделенной линии, другие зависели от городских звонков, междугородней связи или ночных сеансов. README задавал для pathalias примерные издержки, которые отражали прежде всего затраченное время, а не только скорость передачи. Более медленный, но частый канал мог оказаться предпочтительнее быстрого и дорогого. Это была рабочая модель пересылки почты, а не измерение IP-задержки и не гарантия доступности адресата в данный момент.

Составители ограничивали и сведения, предназначенные для публикации. Организациям с большим числом внутренних компьютеров советовали указывать несколько шлюзов, оставляя местные подробности в непубличном дополнении. В карту следовало включать узлы, доступные через UUCP, а не каждый компьютер локальной сети. Запись помогала почтовым программам и поиску контакта, но не доказывала прямое IP-соединение, работающую службу или подключённость ко всему Интернету.

Австралийская статья 1988 года показывает практическое применение. С 1986 года сведения об узлах ACSnet собирали в aus.map, хранили на определённом хосте и частично передавали для мировой карты UUCP. В Сиднейском университете скрипты собирали сообщения Usenet, распаковывали shell-архивы и строили индекс для поиска. Карта отвечала на вопросы, которых не было в файлах состояния сети: кто обслуживает машину и какая версия Unix на ней установлена. Автор подчёркивал, что она дополняет statefile, а не заменяет его.

Указанные в статье 266 записей относились к ACSnet, а не ко всей мировой UUCP. Автор также описывал пробелы: новые узлы не всегда добровольно присылали сведения, а молчащий хост мог временно не работать или уже исчезнуть. Связи для обмена новостями считались одними из наименее надёжных данных карты. Общая запись делала сеть понятнее, но не снимала неопределённость о том, кто подтверждает существование узла.

В ноябре 1990 года сообщение в Usenet описывало более автоматизированный цикл на одной площадке: собирать comp.mail.maps, распаковывать файлы, запускать pathalias ежедневно по cron, обновлять локальный файл маршрутов и сообщать администратору об ошибках по почте. Автоматизация сокращала путь от публикации к использованию, но не превращала сведения в проверенные факты. В обсуждении динамической маршрутизации 1987 года участники предупреждали, что базы маршрутов обновлялись недостаточно быстро, чтобы гарантированно исключить петли.

Результатом не стала одна исчерпывающая карта. Возникло разделение труда: добровольцы собирали описания, Usenet доставляла обновления, локальные скрипты обрабатывали их, а узлы рассчитывали маршруты по своим условиям. Такая схема делала сеть с отложенной пересылкой обозримее, не выдавая опубликованный файл за полное знание о работе каждого соединения.

Источники