Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Протокол синхронизации сетевого времени
Network time synchronization protocol
Протокол точного времени (PTP) — это протокол, используемый для синхронизации часов в компьютерной сети. В локальной сети он достигает точности часов в диапазоне долей микросекунды, что делает его подходящим для систем измерений и управления. PTP применяется для синхронизации финансовых транзакций, передач данных с вышек сотовой связи, подводных акустических систем и сетей, требующих точной синхронизации, но не имеющих доступа к сигналам спутниковой навигации. Первая версия PTP, IEEE 1588 2002, была опубликована в 2002 году. IEEE 1588 2008, также известный как PTP версия 2, не обеспечивает обратную совместимость с версией 2002 года. IEEE 1588 2019 был опубликован в ноябре 2019 года и включает в себя улучшения, обратно совместимые с публикацией 2008 года. IEEE 1588 2008 включает в себя концепцию профилей, определяющую параметры и опции работы PTP. Для различных областей применения, включая телекоммуникации, распределение электроэнергии и аудиовизуальные системы, разработано несколько профилей. Является адаптацией PTP для использования с технологиями Audio Video Bridging и Time Sensitive Networking.
The Precision Time Protocol (PTP) is a protocol used to synchronize clocks throughout a computer network. On a local area network, it achieves clock accuracy in the sub microsecond range, making it suitable for measurement and control systems. PTP is employed to synchronize financial transactions, mobile phone tower transmissions, sub sea acoustic arrays, and networks that require precise timing but lack access to satellite navigation signals. The first version of PTP, IEEE 1588 2002, was published in 2002. IEEE 1588 2008, also known as PTP Version 2, is not backward compatible with the 2002 version. IEEE 1588 2019 was published in November 2019 and includes backward compatible improvements to the 2008 publication. IEEE 1588 2008 includes a profile concept defining PTP operating parameters and options. Several profiles have been defined for applications including telecommunications, electric power distribution and audiovisual uses. is an adaptation of PTP for use with Audio Video Bridging and Time Sensitive Networking.
История
По словам Джона Эйдсона, возглавлявшего работу по стандартизации IEEE 1588 2002 года, "IEEE 1588 разработан для заполнения ниши, которую недостаточно хорошо обслуживают два доминирующих протокола – NTP и GPS. IEEE 1588 предназначен для локальных систем, которым требуется точность, недостижимая при использовании NTP. Он также разработан для приложений, где стоимость GPS-приемника на каждом узле является непомерной, или где сигналы GPS недоступны". PTP был впервые определен в стандарте IEEE 1588 2002 года, официально озаглавленном "Стандарт протокола прецизионной синхронизации часов для сетевых систем измерений и управления", и опубликованном в 2002 году. В 2008 году был выпущен пересмотренный стандарт IEEE 1588 2008; также известный как PTP версия 2 (PTPv2), он повышает точность, прецизионность и устойчивость, но не обеспечивает обратную совместимость с оригинальной версией 2002 года. IEEE 1588 2019 был опубликован в ноябре 2019 года, его неофициальное название – PTPv2.1, и он включает в себя улучшения, совместимые с публикацией 2008 года.
According to John Eidson, who led the IEEE 1588 2002 standardization effort, "IEEE 1588 is designed to fill a niche not well served by either of the two dominant protocols, NTP and GPS. IEEE 1588 is designed for local systems requiring accuracies beyond those attainable using NTP. It is also designed for applications that cannot bear the cost of a GPS receiver at each node, or for which GPS signals are inaccessible." PTP was originally defined in the IEEE 1588 2002 standard, officially entitled Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, and published in 2002. In 2008, IEEE 1588 2008 was released as a revised standard; also known as PTP version 2 (PTPv2), it improves accuracy, precision and robustness but is not backward compatible with the original 2002 version. IEEE 1588 2019 was published in November 2019, is informally known as PTPv2.1 and includes backwards compatible improvements to the 2008 publication.
Архитектура
Стандарты IEEE 1588 описывают иерархическую архитектуру «главный-подчиненный» для распределения времени. В соответствии с этой архитектурой, система распределения времени состоит из одного или нескольких каналов связи (сетевых сегментов) и одного или нескольких часов. Обычный час – это устройство с одним сетевым подключением, которое является источником (главный или лидер) или получателем (подчиненный или ведомый) опорного сигнала синхронизации. Граничный час имеет несколько сетевых подключений и может точно синхронизировать один сегмент сети с другим. Для каждого сегмента сети в системе выбирается главный час синхронизации. Корневой опорный сигнал времени называется главным синхронизатором (grandmaster). Главный синхронизатор передает информацию о синхронизации часам, находящимся в его сегменте сети. Граничные часы, присутствующие в этом сегменте, затем передают точное время другим сегментам, к которым они также подключены. Упрощенная система PTP часто состоит из обычных часов, подключенных к одной сети, и не использует граничные часы. Выбирается главный синхронизатор, и все остальные часы синхронизируются непосредственно с ним. IEEE 1588 2008 вводит часы, связанные с сетевым оборудованием, используемым для передачи PTP-сообщений. Прозрачные часы изменяют PTP-сообщения по мере их прохождения через устройство. Временные метки в сообщениях корректируются с учетом времени, затраченного на прохождение через сетевое оборудование. Эта схема повышает точность распределения, компенсируя вариативность задержки в сети. PTP обычно использует ту же эпоху, что и время Unix (начало 1 января 1970 года). В то время как время Unix основано на Координированном универсальном времени (UTC) и подвержено вставке високосных секунд, PTP основано на Международном атомном времени (TAI). Главный синхронизатор PTP сообщает текущее смещение между UTC и TAI, чтобы можно было вычислить UTC из полученного времени PTP.
The IEEE 1588 standards describe a hierarchical master–slave architecture for clock distribution. Under this architecture, a time distribution system consists of one or more communication media (network segments), and one or more clocks. An ordinary clock is a device with a single network connection and is either the source of (master or leader) or destination for (slave or follower) a synchronization reference. A boundary clock has multiple network connections and can accurately synchronize one network segment to another. A synchronization master is selected for each of the network segments in the system. The root timing reference is called the grandmaster. The grandmaster transmits synchronization information to the clocks residing on its network segment. The boundary clocks with a presence on that segment then relay accurate time to the other segments to which they are also connected. A simplified PTP system frequently consists of ordinary clocks connected to a single network, and no boundary clocks are used. A grandmaster is elected and all other clocks synchronize directly to it. IEEE 1588 2008 introduces a clock associated with network equipment used to convey PTP messages. The transparent clock modifies PTP messages as they pass through the device. Timestamps in the messages are corrected for time spent traversing the network equipment. This scheme improves distribution accuracy by compensating for delivery variability across the network. PTP typically uses the same epoch as Unix time (start of 1 January 1970). While the Unix time is based on Coordinated Universal Time (UTC) and is subject to leap seconds, PTP is based on International Atomic Time (TAI). The PTP grandmaster communicates the current offset between UTC and TAI, so that UTC can be computed from the received PTP time.
Подробности протокола
Синхронизация и управление системой PTP достигаются посредством обмена сообщениями по каналу связи. Для этого PTP использует следующие типы сообщений. Сообщения Sync, Follow Up, Delay Req и Delay Resp используются обычными и граничными часами для передачи информации о времени, необходимой для синхронизации часов в сети. Сообщения Pdelay Req, Pdelay Resp и Pdelay Resp Follow Up используются прозрачными часами для измерения задержек в канале связи, чтобы система могла их компенсировать. Прозрачные часы и связанные с ними сообщения отсутствовали в оригинальном стандарте IEEE 1588 2002 (PTPv1) и были добавлены в PTPv2. Сообщения Announce используются алгоритмом выбора лучшего главного часов (best master clock) в IEEE 1588 2008 для построения иерархии часов и выбора главного часов (grandmaster). Управляющие сообщения используются для мониторинга, настройки и обслуживания системы PTP средствами управления сетью. Сигнальные сообщения используются для некритичной ко времени связи между часами. Сигнальные сообщения были введены в IEEE 1588 2008. Сообщения классифицируются на событийные и общие. Событийные сообщения критичны ко времени, поскольку точность передачи и временные метки приема напрямую влияют на точность распространения времени. Sync, Delay Req, Pdelay Req и Pdelay Resp являются событийными сообщениями. Общие сообщения представляют собой более традиционные протокольные данные, в которых данные важны для PTP, но их временные метки передачи и приема не имеют значения. Сообщения Announce, Follow Up, Delay Resp, Pdelay Resp Follow Up, Management и Signaling относятся к классу общих сообщений. Однако в IEEE 1588 2008 эта поддержка была расширена и включила IPv6. Алгоритм BMC учитывает только заявленное часами качество и не принимает во внимание качество сетевых соединений.
Synchronization and management of a PTP system is achieved through the exchange of messages across the communications medium. To this end, PTP uses the following message types. Sync, Follow Up, Delay Req and Delay Resp messages are used by ordinary and boundary clocks and communicate time related information used to synchronize clocks across the network. Pdelay Req, Pdelay Resp and Pdelay Resp Follow Up are used by transparent clocks to measure delays across the communications medium so that they can be compensated for by the system. Transparent clocks and these messages associated with them are not available in original IEEE 1588 2002 PTPv1 standard, and were added in PTPv2. Announce messages are used by the best master clock algorithm in IEEE 1588 2008 to build a clock hierarchy and select the grandmaster. Management messages are used by network management to monitor, configure and maintain a PTP system. Signaling messages are used for non time critical communications between clocks. Signaling messages were introduced in IEEE 1588 2008. Messages are categorized as event and general messages. Event messages are time critical in that accuracy in transmission and receipt timestamp accuracy directly affects clock distribution accuracy. Sync, Delay Req, Pdelay Req and Pdelay resp are event messages. General messages are more conventional protocol data units in that the data in these messages is of importance to PTP, but their transmission and receipt timestamps are not. Announce, Follow Up, Delay Resp, Pdelay Resp Follow Up, Management and Signaling messages are members of the general message class. but this has been extended to include IPv6 in IEEE 1588 2008. The BMC algorithm only considers the self declared quality of clocks and does not take network link quality into consideration.