Кратко

  • RFC 981 описал экспериментальный Wiretap для пакетного радио AX.25: пассивно читать чужие заголовки маршрутов, строить граф и вычислять основной и запасные пути.
  • Прототип различал услышанную связь и предполагаемое продолжение, штрафовал непроверенные связи и работал в пределах небольших таблиц узлов и каналов.

Один пакет идёт через цепочку ретрансляторов. Соседняя станция слышит его и выписывает из заголовка позывные по всему маршруту. Можно ли теперь отправить по этой дороге свой пакет? D.L. Mills превратил такой вопрос в алгоритм Wiretap в марте 1986 года. Его станция была детективом у радиоприёмника: фиксировала улики, рисовала несколько дорог и отмечала, где карта уже вышла за пределы услышанного.

Опыт проводился на канале AX.25 в районе Вашингтона, где часть станций скрыта друг от друга. Заголовок называл источник, назначение и промежуточные дигипитеры. То, что позволило кадру дойти до наблюдателя, имело прямое подтверждение. Дальнейший участок оставался предположением. Кадры I или S могли усилить вывод о существующей виртуальной цепи; U такого подтверждения не давал. Прототип отдельно отмечал услышанное направление, обратное направление и признак синхронизации.

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

Память сыщика была ограничена. На LSI-11 таблица вмещала до 75 узлов и 150 связей; запись узла занимала 26 байтов, связи — четыре. Взвешенный кэш освобождал место для свежих сведений. В примере из 24 часов прослушивания после стабилизации обычно оставалось около 60 узлов и 100 связей. Прежде чем выбрать маршрут, машина выбирала, какую часть вчерашнего эфира помнить.

Веса раскрывают её осторожность. Переход добавлял 30, непроверенная связь — ещё 50; отсутствие взаимности и синхронизации стоили по пять. Учитывались и свойства узлов. Динамический показатель перегрузки ещё планировался и в описанном прототипе не работал. Mills называл веса пробными экспериментальными оценками. Но арифметика уже проводила важную черту: дорога, дорисованная по разговорам соседей, должна платить за неизвестный участок.

Запись редакции RFC датирует эксперимент мартом 1986 года. Это был работающий прототип и первые испытания на местном радиоканале. Маршрутизатор слушал чужие разговоры и делал ставки. Честность заключалась в том, что он помнил, где кончался слух и начиналась догадка.