Морские информационно-управляющие системы Сентябрь 2014, № 5 | Page 48
Рис. 5. Блок коммутации общесудовой сети обмена
данными
Рис. 6. Модуль преобразования протоколов общесудовой сети обмена данными
терминов как «текущая дата» (в каком часовом поясе?), «час
по Гринвичу» (это обиходный синоним UTC?) и «поясное
время» (местное астрономическое? для географической
зоны?). Но стоит лишь задуматься над реализацией описанного проекта, и вопросы – практические и теоретические –
возникают сами собой.
Главный вопрос: как конкретно должны использовать
рассылаемую хронометрическую информацию те или иные
абоненты системы? Например, надлежит ли им застопорить
свои часы на весь интервал до следующей посылки, или
они должны интерполировать значение времени на этом
интервале? Если первое, то разрешающая способность часов ограничивается до 1 мс, что неприемлемо для многих
прикладных систем. Если второе, то по какому конкретно
алгоритму выполнять интерполяцию? Позволяет ли этот
алгоритм определить погрешность хода собственных часов,
чтобы поддерживать автономную работу даже после потери
сигнала – при аварии или поломке? Какова при этом может
быть максимальная погрешность хода собственных часов?
Каким образом абоненты должны определять и учитывать задержку сигнала, если рассылка всегда однонаправленная? Можно пренебречь временем распространения
по кабелю, если отклонение на 1–2 мкс не существенно.
Однако затраты на обработку пришедшего пакета могут
быть в десятки и сотни раз больше времени распространения, – ведь, повторимся, в описании этой «системы» не указаны требуемые параметры быстродействия контроллера
последовательной шины, производительности процессора,
равно как и необходимость использования операционной
системы реального времени.
46
Морские информационно-управляющие системы, 2014/ No. 2 (5)
Принципиально, что в формате посылки не заложена
возможность информирования абонентов о предстоящих
событиях координации времени. Абоненты смогут узнавать
об этих событиях лишь постфактум – внезапно обнаружив
отсутствие последней секунды суток, либо ее дублирование, либо появление 61‑й секунды. Даже если абонент
готов безоговорочно доверять любой аномальной информации, поступающей извне, это может идти вразрез с его
внутренним представлением о времени. Дело в том, что
некоторые прикладные задачи рассчитаны на непрерывность шкалы времени больше, чем на синтонность, поэтому, чтобы избежать скачкообразного перевода часов сразу
на целую секунду, они либо дозируют это на мелкие порции,
либо ускоряют/замедляют ход часов в рамках допустимого.
И даже когда скачки времени приемлемы, бывает нежелательно поворачивать время вспять, чтобы не нарушать
очередность событий: согласитесь, было бы странно, если
окончание некоторого процесса оказалось зафиксировано
в одной системе судна якобы раньше, чем этот процесс был
инициирован другой системой того же судна.
Таким образом, данный протокол синхронизации не может служить в качестве базового при построении корректных систем единого времени, что привело к поиску
альтернатив.
Обзор альтернативных технологий
При построении систем единого времени следует учитывать опыт уже существующих решений, самыми известными
из которых можно считать Network Time Protocol (NTP, [3–4])
и Precision Time Protocol (PTP, [5–6]). Эти два средства покрывают широчайший спектр конфигураций, поскольку NTP
ориентирован на протяженные линии связи – от внутригородских до межконтинентальных и даже межпланетных, –
а PTP более адаптирован к локальным сетям, для которых
характерна малая задержка и высокая скорость передачи,
нет необходимости экономить трафик и проводить сеансы
связи по расписанию.
За тридцать с лишним лет существования NTP накоплен
огромный пласт теоретических изысканий по этой технологии, практического опыта, научных статей, книг и электронных пособий.
Технология PTP более молода, продолжает эволюционировать и обрастать документальными материалами. Оба
протокола допускают некоторую свободу в реализации ведущих и ведомых систем, но главное – предлагают полную
модель каждого участника взаимодействия.
Они указывают минимальные требования к используемой аппаратуре, дают общий алгоритм работы, определяют
перечень возможных состояний каждой системы и условия перехода между этими состояниями. Эти протоколы
не просто предлагают математический аппарат в виде модели часов и формул расчета коррекции, – они аналитически и экспериментально обосновывают применение этого