Синхронизация часов
Синхронизация часов (англ. Clock synchronization) — понятие в информатике и инженерии, связанное с координацией независимых часовых устройств (таймеров, программных часов и др.). Даже при точной начальной установке часы с течением времени начинают расходиться из-за дрейфа часов, поскольку каждый механизм подсчёта времени работает с незначительными отличиями в частоте. Это приводит к ряду проблем, связанных с разницей хода часов, для решения которых используются различные методы — в зависимости от контекста одни способы оказываются более приемлемыми, чем другие[1].
Терминология
В последовательной передаче данных синхронизация часов может означать восстановление тактовой частоты (англ. clock recovery), обеспечивающее синхронизацию по частоте, а не полную синхронизацию по фазе. Такая синхронизация применяется в телекоммуникациях и автоматическом определении скорости передачи[2].
Плезиохронная или изохронная работа означает частотную синхронизацию при слабо выраженных ограничениях по фазе. Синхронный режим подразумевает более жёсткую синхронизацию по времени, возможную совместно с синхронизацией частоты.
Проблемы
Из-за сложности управления временем на мелких временных масштабах возникает проблема разброса хода часов, особенно это критично в распределённых вычислениях, где несколько компьютеров должны оперировать единой системой отсчёта времени. Например, в системах Unix команда make используется для компиляции только новых или изменённых файлов, чтобы избежать ненужного перекомпилирования неизменённых исходных кодов. make ориентируется на локальные часы, чтобы определить, какие файлы требуют перекомпиляции. Если исходные файлы хранятся на отдельном файловом сервере, а часы обеих машин не синхронизированы, программа make может работать некорректно[3].
Синхронизация также необходима для точного воспроизведения потокового мультимедиа. Синхронизация часов играет важную роль в системах аудио по Ethernet.
Безопасность
Поскольку от точности времени зависит работа критически важной инфраструктуры, такой как энергетические системы, финансовые рынки и сети связи, обеспечение безопасности систем синхронизации является одной из ключевых задач[4][5]. Основные угрозы связаны как с уязвимостями физических источников времени, так и с атаками на сетевые протоколы.
Уязвимости глобальных навигационных спутниковых систем (GNSS) Основным источником точного времени для многих систем служат GNSS (включая GPS, ГЛОНАСС и др.), однако их сигналы обладают существенными уязвимостями. Достигая поверхности Земли, сигналы спутников становятся очень слабыми, что делает их подверженными преднамеренным и непреднамеренным помехам[6]. Ключевыми угрозами являются:
- Глушение (англ. jamming) — подавление спутникового сигнала более мощным радиосигналом, что приводит к потере синхронизации.
- Спуфинг (англ. spoofing) — подмена подлинных сигналов ложными, что заставляет приёмник вычислять неверное время и координаты. Это представляет серьёзную угрозу для критической инфраструктуры[6].
Дополнительный риск создают ГНСС-приёмники, доступные через интернет, которые могут стать точкой входа для атак на внутренние сети организаций[6].
Атаки на сетевые протоколы Сетевые протоколы синхронизации, такие как NTP и PTP, также подвержены атакам.
Протокол NTP исторически уязвим для атак типа «человек посередине», манипуляций с временными метками и DDoS-атак с усилением, где злоумышленники используют общедоступные NTP-серверы для генерации большого объёма трафика[7][8]. В ответ на эти угрозы был разработан и в 2020 году стандартизирован протокол Network Time Security (NTS) (RFC 8915)[9]. NTS обеспечивает криптографическую защиту NTP, используя TLS для первоначальной аутентификации и обмена ключами, а также AEAD для защиты каждого пакета синхронизации, что предотвращает подмену серверов и изменение временных данных[10]. Разрабатываемая версия NTPv5 также нацелена на повышение безопасности, в частности, за счёт отказа от устаревших и небезопасных режимов работы[8].
Протокол PTP, обеспечивающий более высокую точность, также требует механизмов защиты. Стандарт IEEE 1588-2019 (PTPv2.1) ввёл опциональный механизм аутентификации (Security TLV) для проверки целостности PTP-сообщений[11]. Кроме того, ведётся разработка специализированных расширений, таких как PTPsec, для защиты от атак с внесением задержки (delay attacks) и других угроз[12].
Решения
В системах с центральным сервером синхронизация тривиальна — сервер задаёт единую системную метку времени. Алгоритм Кристиана (англ. Cristian's algorithm) и Беркельский алгоритм (англ. Berkeley algorithm) являются возможными решениями задачи синхронизации в таких условиях.
В распределённых системах задача усложняется, поскольку глобальное время неизвестно или недоступно. Наиболее широко распространённым методом синхронизации в Интернете является сетевой протокол времени (англ. Network Time Protocol, NTP) — иерархическая архитектура клиент–сервер на базе UDP. Метки Лампорта (англ. Lamport timestamps) и векторные часы (англ. vector clocks) реализуют концепцию логических часов в распределённых вычислениях.
В беспроводных сетях задача еще сложнее: существует риск коллизий синхронизирующих пакетов и более высокий дрейф часов из-за аппаратных ограничений и дешёвых компонентов[13].
Беркельский алгоритм предназначен для систем без доступа к радиочасам. В такой системе фактически невозможно узнать точное время, поэтому поддерживается усреднённое значение: сервер времени периодически опрашивает все клиентские машины, усредняет отчеты, затем раздаёт клиентам корректировки хода их локальных часов. Алгоритм иллюстрирует, что часы различаются не только по текущему значению, но и по скорости хода (часовой частоте).
Алгоритм взаимной синхронизации по сэмплированию часов (англ. Clock-sampling mutual network synchronization, CS-MNS) подходит для распределённых и мобильных приложений. Показано, что он масштабируется в mesh-сетях с непрямыми связями между узлами и совместим со стандартами, такими как IEEE 802.11. Такой способ обеспечивает точность на уровне нескольких микросекунд, однако требует прямого беспроводного соединения с незначительной задержкой (< 1 мкс) между соседними узлами, что ограничивает их расстояние до нескольких сотен метров[14].
Алгоритм Кристиана основывается на наличии сервера времени[15]. Сервер поддерживает свой ход времени по точному источнику (радиочасы и др.), все остальные системы синхронизируются с ним. Для синхронизации клиент вызывает процедуру на сервере. Различные варианты алгоритма учитывают время передачи по сети для большей точности.
Кроме навигационных задач, Глобальная система позиционирования (GPS) используется и для синхронизации часов — сигналы времени GPS обеспечивают точность до ±10 наносекунд[16]. Для синхронизации по GPS система должна быть оборудована приёмником с антенной, не блокируемой препятствиями.
Несмотря на высокую точность, зависимость от ГНСС (включая GPS, ГЛОНАСС и др.) признана значительным риском, особенно для критически важной инфраструктуры[17]. Сигналы спутников, достигая поверхности Земли, становятся очень слабыми, что делает их уязвимыми для преднамеренных и непреднамеренных помех, таких как глушение (англ. jamming) и спуфинг (англ. spoofing)[18]. В связи с этим растёт тенденция к созданию резервных и альтернативных наземных систем синхронизации для обеспечения надёжности[17]. Одним из ключевых подходов является использование сетей связи, в частности 5G, для распределения точного времени с помощью протокола PTP от централизованного источника[19][20]. Такой гибридный подход позволяет создавать более устойчивую инфраструктуру, способную поддерживать точность времени (англ. holdover) даже при потере спутникового сигнала[19].
IRIG-временные коды (англ. IRIG timecodes) — стандартизированные форматы передачи данных о времени. Частотные стандарты и GPS-приёмники, рассчитанные на высокую точность, как правило имеют соответствующий IRIG-выход. Стандарты разработаны Рабочей группой по телекоммуникациям Вооружённых сил США (Inter-Range Instrumentation Group, IRIG) и одобрены в 1960 году, начиналась разработка в 1956 году[21]. В современных системах, особенно в таких отраслях, как энергетика и телекоммуникации, продолжается переход от традиционных методов синхронизации по выделенным линиям (например, через интерфейсы IRIG-B) к пакетным технологиям, таким как PTP[22][23].
Сетевой протокол времени (NTP) — надёжный, отработанный годами протокол синхронизации в распределённых системах и в Интернете, устойчивый к ненадёжности сетевых соединений. Он обеспечивает точность синхронизации до миллисекунд в общедоступных сетях и субмиллисекундную точность во внутренних сетях[24]. Однако для многих современных приложений, таких как сети 5G, IIoT и высокочастотный трейдинг, его точности уже недостаточно, что приводит к использованию более точного протокола PTP.
Ведётся работа над пятой версией протокола (NTPv5), улучшения в которой направлены на повышение безопасности и точности[25]. Ключевые изменения включают отказ от поддержки устаревших и уязвимых режимов (например, broadcast), которые использовались в DDoS-атаках с усилением. Новая версия также решает проблему переполнения 64-битного таймстемпа, ожидавшуюся в 2036 году, за счёт добавления номера эпохи, и вводит поддержку различных временных шкал, таких как TAI.
Одной из проблем, связанных с NTP и другими системами, использующими время UTC, является високосная секунда, вводимая для согласования атомного времени с астрономическим и создающая риски для цифровых систем. Для предотвращения сбоев крупные технологические компании применяют метод «размазывания» секунды (англ. leap smear), распределяя её на более длительный интервал. В техническом сообществе ведутся дискуссии о возможном отказе от этой практики в будущем[26].
Упрощённая версия NTP — простой сетевой протокол времени (англ. Simple Network Time Protocol, SNTP) — может функционировать как первичный/вторичный протокол (master/slave), но обладает низкой производительностью и устойчивостью за счёт отказа от сложных механизмов NTP.
Прецизионный протокол времени (англ. Precision Time Protocol, PTP) — протокол типа мастер/слейв, обеспечивающий синхронизацию с высокой точностью в масштабах локальных сетей. Стандарт, описывающий протокол, — IEEE 1588. Его точность, достигающая микро- и наносекунд, делает его предпочтительным решением по сравнению с NTP для таких требовательных сфер, как сети 5G, IIoT и высокочастотный трейдинг.
В июне 2020 года была опубликована обновлённая версия стандарта — IEEE 1588-2019, также известная как PTPv2.1[27]. Название «2019» связано с тем, что стандарт был утверждён в ноябре 2019 года[28]. Новая версия сохранила обратную совместимость с редакцией 2008 года, но ввела ряд опциональных улучшений, направленных на повышение точности, безопасности и надёжности[29]. Ключевые нововведения включают:
- Профиль высокой точности (англ. High Accuracy Profile), официально включивший технологию White Rabbit для достижения субнаносекундной точности[30].
- Механизмы безопасности, в том числе опциональный Security TLV для аутентификации и проверки целостности PTP-сообщений.
- Повышение надёжности за счёт возможности одновременного использования нескольких главных часов (англ. Grandmaster)[29].
Протокол активно применяется в медиаиндустрии для синхронизации оборудования при передаче видеосигналов по стандарту SMPTE 2110[31] и является ключевым компонентом сетей, чувствительных ко времени (англ. Time-Sensitive Networking, TSN)[32].
Алгоритм синхронизации по эталонной широковещательной передаче (RBS) широко применяется в беспроводных и сенсорных сетях: инициатор передаёт специальное сообщение-эталон по сети, побуждая получателей синхронизировать свои часы.
Протокол Reference Broadcast Infrastructure Synchronization (RBIS)[33] — протокол синхронизации в архитектуре мастер/слейв, аналогичный RBS, реализующий синхронизацию между приемниками (receiver/receiver), и предназначен специально для IEEE 802.11 в инфраструктурном режиме (через точку доступа) без её модификации.
Синхронный Ethernet (англ. Synchronous Ethernet, SyncE) — технология, которая обеспечивает синхронизацию по частоте на физическом уровне Ethernet. В современных системах SyncE часто используется в комбинации с протоколом PTP, который, в свою очередь, отвечает за точную передачу времени и синхронизацию фазы.
Ярким примером такого подхода является технология White Rabbit, которая объединяет PTP с синхронизацией на физическом уровне (SyncE) и точными измерениями задержек для достижения субнаносекундной точности[34]. Такая комбинация также находит применение в сетях 5G, где SyncE и PTP рассматриваются как надёжная альтернатива или дополнение к спутниковой синхронизации. Поддержка синхронизации на физическом уровне была также усовершенствована в стандарте IEEE 1588-2019 (PTPv2.1)[35].
White Rabbit (WR) — технология, представляющая собой расширение протокола PTP, которая обеспечивает синхронизацию с субнаносекундной точностью по оптоволоконным сетям Ethernet. Такая точность достигается за счёт комбинации PTP с синхронизацией на физическом уровне (Synchronous Ethernet) и точных измерений задержек в линии связи[30]. Изначально разработанная в CERN для синхронизации оборудования на научных установках, технология была официально включена в стандарт IEEE 1588-2019 в качестве профиля высокой точности (англ. High Accuracy Profile)[30].
Помимо научных исследований, White Rabbit находит всё более широкое применение в финансовом секторе, телекоммуникациях и сетях квантовых коммуникаций[36], рассматриваясь как надёжная альтернатива или дополнение к GNSS[37]. Для поддержки и дальнейшего развития этой открытой технологии в марте 2024 года было создано сообщество «White Rabbit Collaboration»[38].
В беспроводных самоорганизующихся сетях для синхронизации используются ретрансляция сообщений по многошаговой схеме (multi-hop) и поочерёдная синхронизация каждого узла с отправителем синхронизирующего сообщения. Пример: протокол FTSP (Flooding Time Synchronization Protocol)[13], Harmonia — оба обеспечивают точность на уровне микросекунд.
С ростом промышленного Интернета вещей (IIoT) и беспроводных сенсорных сетей (WSN) возникают новые вызовы, связанные с масштабируемостью и энергоэффективностью. Для сетей, состоящих из тысяч узлов с ограниченным питанием, традиционные протоколы, такие как NTP, оказываются неподходящими из-за высокого энергопотребления, что требует разработки лёгких и масштабируемых протоколов. В связи с этим ведётся разработка интеллектуальных подходов, например, с использованием цифровых двойников для моделирования и прогнозирования поведения часов, что позволяет снизить сетевой трафик[39]. Обеспечение надёжной синхронизации в сетях с миллионами устройств (Massive IoT)[40] и в системах периферийных вычислений[41] также является серьёзной проблемой, так как разнородность устройств и ограниченная пропускная способность требуют новых, более адаптивных подходов[42].
Исследователи из Стэнфорда и Google разработали Huygens — программный алгоритм синхронизации часов, основанный на переборочных (probe-based) измерениях. Это решение можно внедрять в центрах обработки данных и облачных средах. Используя особенности современных дата-центров и новые методы оценивания, алгоритм Huygens достигает точности в десятки наносекунд даже при высокой сетевой нагрузке[43]. Разработку тестируют для применения в финансовой сфере[44].
Применение в современных системах
Развёртывание сетей 5G и разработка стандартов 6G стали одним из главных драйверов развития технологий синхронизации, поскольку эти сети предъявляют беспрецедентно строгие требования к точности времени и фазы[45]. В отличие от предыдущих поколений, для эффективной работы ключевых технологий 5G, таких как дуплекс с временным разделением каналов (англ. Time Division Duplex, TDD), Massive MIMO и формирование луча (англ. Beamforming), необходима синхронизация на наносекундном уровне[45].
Точность необходима для предотвращения межсотовых помех и оптимизации использования радиочастотного спектра[46]. Базовое требование для сетей TDD составляет 1,5 микросекунды (1500 нс) относительно эталона времени, однако для реализации продвинутых функций, таких как агрегация несущих и скоординированная многоточечная передача (англ. CoMP), погрешность не должна превышать 130–260 наносекунд[47]. Для некоторых приложений требуется точность менее ±10 нс[48].
Эти требования привели к смене архитектуры синхронизации: от распределённой модели, где каждая базовая станция оснащалась собственным ГНСС-приёмником, к централизованной. В новой модели один или несколько эталонных источников времени (англ. Grandmaster) распределяют точное время по всей сети с помощью протокола PTP через пакетные сети Ethernet. Такой подход также позволяет использовать наземные сети связи как надёжный резервный канал при потере спутникового сигнала.
Перспективные сети 6G потребуют ещё более высокого уровня точности — вплоть до пикосекунд. Это необходимо для реализации таких приложений, как совместная работа базовых станций, высокоточное позиционирование объектов с сантиметровой точностью и интерактивные голографические коммуникации, поскольку существующие технологии не могут в полной мере обеспечить такой уровень синхронизации.
В ряде отраслей, где требуется согласованная работа распределённых систем в режиме реального времени, точность традиционного протокола NTP (миллисекунды) является недостаточной. Это привело к широкому внедрению PTP, обеспечивающего синхронизацию на уровне микро- и наносекунд.
В финансовом секторе точная временная привязка критически важна для высокочастотного трейдинга (HFT) и соблюдения нормативных требований к регистрации транзакций, где требуется микросекундная точность[49]. Для достижения ещё более высокой, субнаносекундной точности, применяется технология White Rabbit.
В промышленности PTP стал стандартом для современных сетей IIoT и систем автоматизации, построенных на промышленном Ethernet[50]. Особое значение он имеет в энергетике, в частности на цифровых подстанциях, работающих по стандарту МЭК 61850. Здесь синхронизация с точностью до 1 микросекунды необходима для корректной работы систем релейной защиты и точных измерений[49][51]. Кроме того, PTP является ключевым компонентом сетей, чувствительных ко времени (англ. Time-Sensitive Networking, TSN), которые обеспечивают детерминированную передачу данных в системах управления в реальном времени.
В медиаиндустрии переход на производство контента по IP-сетям сделал PTP незаменимым для синхронизации профессионального аудио- и видеооборудования. Протокол является основой стандарта SMPTE 2110, который используется для передачи несжатых видеосигналов сверхвысокой чёткости (UHD) и обеспечивает согласованную работу всех устройств в производственной цепочке.
Сверхточная синхронизация является критически важным элементом для проведения современных научных исследований, особенно в физике высоких энергий и радиоастрономии. Для этих целей используется технология White Rabbit, которая, будучи расширением протокола PTP, обеспечивает субнаносекундную точность по оптоволоконным сетям. Изначально разработанная в CERN, она находит применение в синхронизации оборудования на научных установках, а также в сетях квантовых коммуникаций. Для поддержки и развития этой открытой технологии в марте 2024 года было создано сообщество «White Rabbit Collaboration».
Одним из наиболее перспективных направлений является квантовая синхронизация. Исследования показывают, что использование квантовой запутанности позволяет удвоить точность квантовых часов, приближая её к фундаментальному пределу Гейзенберга[52]. Это открывает возможности для сверхточных измерений, которые могут быть использованы в изучении гравитационных волн и тёмной материи[52]. Уже продемонстрирована успешная синхронизация квантовых часов по оптоволоконным линиям, что рассматривается как более точная и безопасная альтернатива спутниковым системам[53]. Ведутся разработки компактных атомных часов, в том числе на чипах, для интеграции в телекоммуникационное оборудование и спутники, что позволит системам поддерживать точное время автономно[54]. Квантовые датчики также рассматриваются как основа для создания систем позиционирования, навигации и синхронизации (PNT), не зависящих от GPS[55].
На горизонте появляются ещё более точные технологии. В 2024 году были опубликованы результаты прорывных исследований в области ядерных часов на основе изотопа торий-229. В будущем они могут лечь в основу новых стандартов времени с беспрецедентной точностью[56]. Предлагаются и другие концепции, например, часы, основанные на измерении непериодических колебаний волнового пакета атома гелия, что позволяет достигать фемтосекундной точности[57].
С ростом точности всё большее значение приобретает учёт эффектов общей и специальной теории относительности. Такие явления, как гравитационное смещение частоты и эффект Доплера, требуют компенсации. В качестве примера можно привести метод релятивистской синтонизации, который позволяет достичь более высокой точности передачи частоты по сравнению со спутниковыми методами[58].
Примечания
Литература
- Govindan Kannan, Pravein. Precise Time-synchronization in the Data-Plane using Programmable Switching ASICs // Proceedings of the 2019 ACM Symposium on SDN Research : [англ.] / Pravein. Govindan Kannan, Raj. Joshi, Mun Choon. Chan. — ACM, апрель 2019. — P. 8–20. — ISBN 9781450367103. — doi:10.1145/3314148.3314353.
- Exploiting a Natural Network Effect for Scalable, Fine-grained Clock Synchronization (англ.). Дата обращения: 5 июня 2024.


