stringtranslate.com

Протокол точного времени

Precision Time Protocol ( PTP ) — это протокол синхронизации часов по всей компьютерной сети с относительно высокой точностью и, следовательно, потенциально высокой достоверностью. В локальной вычислительной сети (LAN) точность может быть менее микросекунды, что делает ее пригодной для систем измерения и управления. [1] PTP используется для синхронизации финансовых транзакций , передач вышек мобильной связи , подводных акустических массивов и сетей, требующих точного времени, но не имеющих доступа к сигналам спутниковой навигации . [ требуется ссылка ]

Первая версия PTP, IEEE 1588-2002 , была опубликована в 2002 году. IEEE 1588-2008 , также известная как PTP версии 2, не имеет обратной совместимости с версией 2002 года. IEEE 1588-2019 была опубликована в ноябре 2019 года и включает обратно совместимые улучшения публикации 2008 года. IEEE 1588-2008 включает концепцию профиля , определяющую рабочие параметры и опции PTP. Было определено несколько профилей для приложений, включая телекоммуникации , распределение электроэнергии и аудиовизуальное использование.IEEE 802.1AS — это адаптация PTP, называемая gPTP, для использования саудио- и видеомостами(AVB) ичувствительными ко времени сетями(TSN).

История

По словам Джона Эйдсона, который возглавлял усилия по стандартизации IEEE 1588-2002, «IEEE 1588 разработан для заполнения ниши, которую не обслуживают ни один из двух основных протоколов, NTP и GPS . IEEE 1588 разработан для локальных систем, требующих точности, превышающей ту, которая достижима при использовании NTP. Он также разработан для приложений, которые не могут позволить себе стоимость приемника GPS в каждом узле или для которых сигналы GPS недоступны». [2]

Первоначально PTP был определен в стандарте IEEE 1588-2002, официально названном «Стандарт для протокола точной синхронизации часов для сетевых систем измерения и управления» , и опубликованном в 2002 году. В 2008 году IEEE 1588-2008 был выпущен как пересмотренный стандарт; также известный как PTP версии 2 (PTPv2), он повышает точность, правильность и надежность, но не имеет обратной совместимости с исходной версией 2002 года. [3] IEEE 1588-2019 был опубликован в ноябре 2019 года, [4] неофициально известен как PTPv2.1 и включает обратно совместимые улучшения публикации 2008 года. [5]

Архитектура

Стандарты IEEE 1588 описывают иерархическую архитектуру ведущий-ведомый для распределения часов , состоящую из одного или нескольких сегментов сети и одного или нескольких часов. Обычные часы — это устройство с одним сетевым соединением, которое является либо источником, либо местом назначения для эталона синхронизации. Источник называется лидером , он же мастер, а место назначения называется последователем , он же ведомый. Граничные часы имеют несколько сетевых соединений и синхронизируют один сегмент сети с другим. Для каждого сегмента сети выбирается один лидер синхронизации, он же избранный. Корневой эталон синхронизации называется гроссмейстером . [ 6]

Относительно простая архитектура PTP состоит из обычных часов в односегментной сети без граничных часов. Выбирается гроссмейстер, и все остальные часы синхронизируются с ним.

IEEE 1588-2008 вводит часы, связанные с сетевым оборудованием, используемым для передачи сообщений PTP. Прозрачные часы изменяют сообщения PTP по мере их прохождения через устройство. [7] Временные метки в сообщениях корректируются с учетом времени, потраченного на прохождение через сетевое оборудование. Эта схема повышает точность распределения, компенсируя изменчивость доставки по сети.

PTP обычно использует ту же эпоху , что и время Unix (начало 1 января 1970 года). [a] В то время как время Unix основано на всемирном координированном времени (UTC) и подвержено високосным секундам , PTP основано на международном атомном времени (TAI). Главный мастер PTP сообщает текущее смещение между UTC и TAI, так что UTC может быть вычислено из полученного времени PTP.

Подробности протокола

Синхронизация и управление системой PTP достигается посредством обмена сообщениями через среду связи. Для этого PTP использует следующие типы сообщений.

Сообщения подразделяются на сообщения о событиях и общие сообщения. Сообщения о событиях критичны ко времени, поскольку точность передачи и получения метки времени напрямую влияет на точность распределения часов. Sync , Delay_Req , Pdelay_Req и Pdelay_resp являются сообщениями о событиях . Общие сообщения являются более традиционными единицами данных протокола , поскольку данные в этих сообщениях важны для PTP, но их метки времени передачи и получения — нет. Announce , Follow_Up , Delay_Resp , Pdelay_Resp_Follow_Up , сообщения управления и сигнализации являются членами класса общих сообщений. [8] : пункт 6.4 

Передача сообщений

Сообщения PTP могут использовать протокол пользовательских датаграмм по протоколу Интернета (UDP/IP) для транспортировки. IEEE 1588-2002 использует только транспорты IPv4 , [9] : Приложение D  , но это было расширено для включения IPv6 в IEEE 1588-2008. [8] : Приложение F  В IEEE 1588-2002 все сообщения PTP отправляются с использованием многоадресной передачи сообщений, в то время как IEEE 1588-2008 представил возможность для устройств согласовывать одноадресную передачу на основе порт-за-портом. [8] : Пункт 16.1  Многоадресные передачи используют многоадресную IP- адресацию, для которой многоадресные групповые адреса определены для IPv4 и IPv6 (см. таблицу). [8] : Приложения D и E  Сообщения о событиях , критичных по времени (Sync, Delay_req, Pdelay_Req и Pdelay_Resp), отправляются на порт номер 319. Общие сообщения (Announce, Follow_Up, Delay_Resp, Pdelay_Resp_Follow_Up, управление и сигнализация) используют порт номер 320. [8] : Пункт 6.4 

В IEEE 1588-2008 инкапсуляция также определена для DeviceNet , [8] : Приложение G  ControlNet [8] : Приложение H  и PROFINET . [8] : Приложение I 

Домены

Домен [i] — это взаимодействующий набор часов, которые синхронизируются друг с другом с помощью PTP. Часы назначаются домену в соответствии с содержимым полей Subdomain name (IEEE 1588-2002) или domainNumber (IEEE 1588-2008) в сообщениях PTP, которые они получают или генерируют. Домены позволяют нескольким системам распределения часов совместно использовать одну и ту же среду связи.

Лучший алгоритм главного тактового генератора

Алгоритм наилучшего главного тактового генератора (BMCA) выполняет распределенный выбор наилучшего тактового генератора, который будет выступать в качестве ведущего, на основе следующих свойств тактового генератора:

IEEE 1588-2008 использует иерархический алгоритм выбора, основанный на следующих свойствах в указанном порядке: [8] : Рисунок 27 

  1. Приоритет 1 – пользователь может назначить определенный статически разработанный приоритет для каждого тактового генератора, заранее определяя приоритет среди них. Меньшие числовые значения указывают на более высокий приоритет.
  2. Класс — каждые часы являются членами определенного класса, каждый класс имеет свой собственный приоритет.
  3. Точность – погрешность между часами и UTC, в наносекундах (нс)
  4. Дисперсия – изменчивость хода часов
  5. Приоритет 2 – окончательно определенный приоритет, определяющий резервный порядок на случай, если другие критерии недостаточны. Меньшие числовые значения указывают на более высокий приоритет.
  6. Уникальный идентификатор — выбор на основе MAC-адреса используется в качестве решающего фактора при равенстве всех остальных свойств.

IEEE 1588-2002 использует алгоритм выбора, основанный на схожих свойствах.

Свойства часов объявляются в сообщениях IEEE 1588-2002 Sync и в сообщениях IEEE 1588-2008 Announce . Текущий лидер передает эту информацию с регулярным интервалом. Часы, которые считают себя лучшим лидером, будут передавать эту информацию, чтобы вызвать смену лидера. Как только текущий лидер распознает лучшие часы, текущий лидер прекращает передачу сообщений Sync и связанных с ними свойств часов ( сообщений Announce в случае IEEE 1588-2008), и лучшие часы берут на себя роль лидера. [10] BMCA учитывает только самодекларируемое качество часов и не принимает во внимание качество сетевого соединения. [11]

Синхронизация

С помощью BMCA PTP выбирает источник времени для домена IEEE 1588 и для каждого сегмента сети в домене.

Часы определяют смещение между собой и своим лидером. [12] Пусть переменная представляет физическое время. Для данного устройства-последователя смещение во времени определяется как:

где представляет собой время, измеренное ведомыми часами в физическое время , а представляет собой время, измеренное ведущими часами в физическое время .

Лидер периодически транслирует текущее время в качестве сообщения другим часам. Согласно IEEE 1588-2002 трансляции осуществляются до одного раза в секунду. Согласно IEEE 1588-2008 допускается до 10 трансляций в секунду.

Механизм синхронизации IEEE 1588 и расчет задержки

Каждая трансляция начинается в момент времени с сообщения Sync , которое лидер отправляет всем часам в домене. Часы, получающие это сообщение, отмечают местное время , когда это сообщение получено.

Лидер может впоследствии отправить многоадресное сообщение Follow_Up с точной временной меткой. Не все лидеры имеют возможность предоставить точную временную метку в сообщении Sync . Только после завершения передачи они могут получить точную временную метку для передачи Sync из своего сетевого оборудования. Лидеры с этим ограничением используют сообщение Follow_Up для передачи . Лидеры со встроенными в их сетевое оборудование возможностями PTP могут предоставить точную временную метку в сообщении Sync и не должны отправлять сообщения Follow_Up.

Для точной синхронизации со своим лидером часы должны индивидуально определять время передачи по сети сообщений Sync . Время передачи определяется косвенно путем измерения времени прохождения туда и обратно от каждого часа к своему лидеру. Часы инициируют обмен со своим лидером, предназначенный для измерения времени передачи . Обмен начинается с того, что часы отправляют сообщение Delay_Req в момент времени лидеру. Лидер получает и ставит временную метку на сообщение Delay_Req в момент времени и отвечает сообщением Delay_Resp . Лидер включает временную метку в сообщение Delay_Resp .

Благодаря этим обменам часы узнают , , и .

Если — время передачи сообщения Sync , а — постоянное смещение между часами лидера и последователя, то

Объединяя два приведенных выше уравнения, мы находим, что

Теперь часы знают смещение во время этой транзакции и могут скорректировать себя на эту величину, чтобы согласовать его со своим лидером.

Одно предположение заключается в том, что этот обмен сообщениями происходит в течение периода времени, настолько малого, что это смещение можно смело считать постоянным в течение этого периода. Другое предположение заключается в том, что время передачи сообщения от лидера к последователю равно времени передачи сообщения от последователя к лидеру. Наконец, предполагается, что и лидер, и последователь могут точно измерить время отправки или получения сообщения. Степень, в которой эти предположения верны, определяет точность часов на устройстве последователя. [8] : Пункт 6.2 

Дополнительные функции

Стандарт IEEE 1588-2008 перечисляет следующий набор функций, которые реализации могут поддерживать:

IEEE 1588-2019 добавляет дополнительные необязательные и обратно совместимые функции: [5]

Связанные инициативы

Смотрите также

Примечания

  1. ^ Возможности профиля в соответствии со стандартом IEEE 1588-2008 позволяют использовать эпохи, специфичные для приложения. [8] : Приложение B 
  2. ^ В IEEE 1588-2002 информация, передаваемая сообщениями Announce , передается в сообщениях Sync . В IEEE 1588-2008 сообщение Sync было оптимизировано, и эта информация больше не передается здесь.
  3. ^ PTP через чистый Ethernet IEEE 802.3 с использованием Ethertype 0x88F7
  4. ^ Домены IEEE 1588-2002, не являющиеся доменами по умолчанию, используют адреса назначения от 224.0.1.130 до 224.0.1.132 (см. #Домены).
  5. ^ Где x — область действия адреса (2 для локального канала) согласно RFC 2373 (см. IPv6 multicast address )
  6. ^ В некоторых приложениях PTP допускается отправка всех сообщений PTP на адрес 01-1B-19-00-00-00.
  7. ^ Сообщения о задержке пиров предназначены для распространения к немедленно подключенному соседу. Многоадресные адреса для этих сообщений разработаны так, чтобы быть локальными по области действия и не передаваться через маршрутизатор . IEEE 1588-2008 также рекомендует устанавливать время жизни на 1 (IPv4) или ограничение переходов на 0 (IPv6) в качестве дополнительной гарантии того, что сообщения не будут маршрутизированы.
  8. ^ Сообщения о задержке одноранговых соединений не представлены в IEEE 1588-2002.
  9. ^ IEEE 1588-2002 определяет домен как любой взаимосвязанный набор часов (независимо от того, синхронизированы ли они друг с другом) и использует термин «поддомен» для обозначения того, что известно как домен в IEEE 1588-2008.
  10. ^ IEEE 1588-2008 использует 224.0.1.129 в качестве адреса для всех многоадресных сообщений.
  11. ^ AVB дополнительно расширен рабочей группой IEEE 802.1 Time-Sensitive Networking (TSN).

Ссылки

  1. ^ Эйдсон, Джон (10 октября 2005 г.). «Стандарт IEEE-1588 для протокола точной синхронизации часов для сетевых систем измерения и управления, учебное пособие». Национальный институт стандартов и технологий (NIST).
  2. ^ Eidson, John C. (апрель 2006 г.). Измерение, управление и связь с использованием IEEE 1588. Springer . ISBN 978-1-84628-250-8.
  3. ^ Eidson, John (2 октября 2006 г.). "IEEE 1588 Standard Version 2 - A Tutorial" (PDF) . Архивировано из оригинала (PDF) 31 марта 2010 г. . Получено 12 июня 2008 г. .
  4. ^ "1588-2019 - IEEE одобрил проект стандарта для протокола точной синхронизации часов для сетевых систем измерения и управления". IEEE . Получено 15 февраля 2020 г. .
  5. ^ ab Douglas Arnold (24 сентября 2017 г.). «Что нас ждет в следующем издании IEEE 1588?» . Получено 15 февраля 2020 г. .
  6. ^ "Значения общих терминов, используемых в IEEE 1588". Национальный институт стандартов и технологий. Архивировано из оригинала 27 мая 2010 года . Получено 19 мая 2006 года .
  7. ^ "AN-1838 IEEE 1588 Boundary Clock и Transparent Clock Implementation Using the DP83640" (PDF) . ti.com . Texas Instruments . Получено 17 июля 2019 г. .
  8. ^ abcdefghijkl Стандарт IEEE для протокола точной синхронизации часов для сетевых систем измерения и управления , IEEE , 24 июля 2008 г., doi :10.1109/IEEESTD.2008.4579760, ISBN 978-0-7381-5400-8
  9. ^ abc Стандарт IEEE для протокола точной синхронизации часов для сетевых систем измерения и управления , IEEE , 8 ноября 2002 г., doi :10.1109/IEEESTD.2002.94144, ISBN 978-0-7381-3369-0
  10. ^ Уотт, Стив Т.; Аханта, Шанкар; Абубакари, Хамза; Саген, Эрик (март 2014 г.), Понимание и применение протокола точного времени (PDF) , дата обращения 9 сентября 2017 г.
  11. ^ Технический персонал FSMLabs (сентябрь 2015 г.), Smart and Dumb PTP Client и «так называемый» Best Master Clock Algorithm , получено 17 мая 2018 г.
  12. ^ Международный стандарт IEC 61588: Протокол точной синхронизации часов для сетевых систем измерения и управления. 2004.
  13. ^ Сайт ISPCS
  14. Джеффри М. Гарнер (28 мая 2010 г.), IEEE 802.1AS и IEEE 1588 (PDF)
  15. ^ SMPTE публикует первые две части стандарта, обеспечивающего развертывание оборудования с синхронизацией PTP на существующих предприятиях SDI, Общество инженеров кино и телевидения , 13 апреля 2015 г. , получено 21 мая 2015 г.
  16. ^ AES-R16-2016: Отчет о стандартах AES — параметры PTP для совместимости AES67 и SMPTE ST 2059-2, Audio Engineering Society , 2 мая 2016 г.
  17. ^ ab https://www.smpte.org/sites/default/files/users/user27446/AES67%20for%20Audio%20Production-Background%20Applications%20and%20Challenges.pdf [ мертвая ссылка ]
  18. ^ "Протокол синхронизации PTPv2 в сетях AV". Luminex. 6 июня 2017 г. Q-LAN обновился до PTPv2 примерно два года назад.
  19. ^ Пепичелло, Антонио; Ваккаро, Альфредо (17 декабря 2018 г.), «Надежная архитектура на основе протокола точного времени для синхронизации WAMPAC», Международная ежегодная конференция AEIT 2018 г. , IEEE , стр. 1–5, doi : 10.23919/AEIT.2018.8577414, ISBN 978-8-8872-3740-5, S2CID  58819556

Внешние ссылки