Summary

  • RFC 778 описал службу времени на хостах DCNET: предложенные тогда сообщения ICMP Timestamp и временную совместимость через эхо GGP.
  • Опорный COMSAT-WWV обычно получал время WWVB с точностью в миллисекунду, но другие хосты регулярно расходились с ним на заметную долю секунды. Для описанного маршрута к шлюзу BBN типичное время туда и обратно составляло 550 мс.

Точные часы в приёмной не гарантируют пунктуальности всему учреждению. RFC 778 Д. Л. Миллса от 18 апреля 1981 года описал эту разницу в терминах хостов, поправок и пакетов. Виртуальный узел COMSAT-WWV использовал радиочасы Spectracom, которые обычно давали дату и время по WWVB с точностью в пределах миллисекунды. Остальные машины DCNET корректировали по этому узлу свои смещения и дрейф. У некоторых часы отсчитывали время от электросети и плохо поддавались слежению; смещения на заметную долю секунды возникали регулярно. Источник говорил верно, а соседние компьютеры всё ещё нуждались в проверке.

Служба Internet Clock Service работала на хостах DCNET и предназначалась прежде всего для синхронизации и измерения задержки в одном направлении с сотрудничающими интернет-хостами. Основным средством были сообщения Timestamp и Timestamp Reply в предлагаемом ICMP. Для существующих систем на ограниченное время сохраняли Echo и Echo Reply из GGP. Миллс предлагал другим хостам и шлюзам внедрять такую службу и выяснять, насколько она пригодна для более широкого круга участников. В документе видны и работающая DCNET, и граница дальнейшего эксперимента.

Запрос нёс три временных поля: отправление, приём, обратную отправку. Перед передачей источник записывал своё местное время во все три. Адресат при поступлении пакета заменял поле приёма, а перед ответом — поле передачи. В ICMP запрос имел тип 13, ответ — 14; в GGP это были Echo типа 8 и ответ типа 0. Время считали миллисекундами от полуночи всемирного времени, обычно по модулю суток. В RFC указан дейтаграммный размер 36 октетов вместе с двадцатиоктетным заголовком Internet. Каждое прикосновение к пакету оставляло отметку.

По возвращении отправитель добавлял четвёртый момент. Складывая участки пути и вычитая внутреннюю обработку на хосте DCNET, он получал круговую задержку; расхождение двух часов в такой сумме сокращалось. Для отдельных направлений смещение часов вновь становилось важным. Один пакет приносил несколько ответов, но каждому ответу требовались свои исходные условия.

Маршрут из документа имел вполне земную длину. COMSAT-WWV находился внутри физического COMSAT-GAT, который выходил к BBN через шлюз, Clarksburg SIMP и линию на 4800 бит/с. Между COMSAT-GAT и шлюзом BBN типичный путь пакета туда и обратно занимал 550 миллисекунд. Этот результат принадлежал названному маршруту. Радиочасы могли быть точны до миллисекунды, пока весточка от них путешествовала более полусекунды.

Проверить состояние можно было руками. Оператор заходил по TELNET на COMSAT-GAT и командой SET HOST HOST получал таблицу смещений для хостов DCNET. SET WWV SHOW показывала статистику дейтаграмм и последний ответ радиоприёмника. Пробел в начале строки времени означал правильный приём WWVB; ? сообщал об ошибке. Документ объяснял, какую поправку прибавить к отметкам COMSAT-GAT или COMSAT-WWV, чтобы получить радиовремя. В конце следовала просьба закрыть соединение — «please!». Даже точной часовой службе не хотелось держать TELNET-сеанс бесконечно.

У отказа опоры тоже было сообщение. Когда Spectracom выходил из строя или работал неправильно, виртуальный COMSAT-WWV в этой схеме становился недоступным, и возвращалась ошибка GGP «хост недостижим». RFC 777 того же апреля определил типы ICMP для отметок времени и сослался на Миллса; RFC 792 в сентябре изложил обновлённый формат. DCNET использовал протоколы на смене эпох, чтобы дать людям возможность видеть состояние радиоприёмника и поправки узлов.

Время из сети в этом документе не приходило одним загадочным числом. Радиоприёмник показывал, есть ли сигнал, таблица — насколько отстали машины, пакет — сколько стоила дорога. RFC 778 сохранил эти данные рядом. У одного знака вопроса было важное назначение: остановить уверенный ответ часов, которые в этот момент слушали тишину.