ru
ru en

Семь вопросов о протоколе PTP, после которых в нём разберётся каждый

Специалисты компании Tekron, занимающейся разработкой решений для систем обеспечения единого времени, подготовили небольшую заметку о протоколе PTP (Precision Time Protocol), которая проливает свет на основные аспекты его функционирования.

Что такое PTP?

PTP,  также известный как IEEE 1588v2,  является протоколом точной синхронизации времени, функционирующим по сети Ethernet. Высокая точность синхронизации конечных устройств по времени достигается благодаря проставлению меток времени на аппаратном уровне и расчёту временных задержек прохождения сообщений синхронизации времени через устройства сети. Некоторым образом протокол PTP похож на хорошо известный протокол NTP (Network Time Protocol), однако, в отличие от последнего, способен обеспечивать погрешность, не превышающую одной микросекунды.

Как работает PTP?

Как и протокол NTP, протокол PTP использует взаимный информационный обмен между устройствами сети для обеспечения точной временной синхронизации конечных устройств. Согласно рис. 1, в начале процедуры синхронизации ведущие часы отправляют сообщение синхронизации времени (SYNC) в сеть. В зависимости от настроек это сообщение может быть либо одноадресным (unicast, т. е. иметь одного адресата), либо многоадресным (multicast, т. е. иметь группу адресатов). При этом фиксируется метка времени отправки данного сообщения на соответствующем порту ведущих часов. Сообщение синхронизации времени включает в себя точную метку времени в формате TAI (Temps Atomique International, международное атомное время) и метку времени TS1 отправки сообщения синхронизации времени ведущими часами, зафиксированную с погрешностью менее 100 нс.

Рис. 1. Иллюстрация принципа работы протокола PTP.

Ведомое устройство принимает сообщение синхронизации времени и присваивает ему метку времени TS2 (причём ещё до момента его обработки)  и отправляет сообщение обратно в адрес ведущих часов, фиксируя метку времени отправки TS3. Это сообщение, отправляемое в адрес ведущих часов, называется сообщением типа Delay Request (запрос задержки передачи сообщения синхронизации времени по сети).

Ведущие часы получают сообщение типа Delay Request, фиксируя метку времени его получения TS4, и отправляют назад сообщение-ответ типа Delay Response, в которое включена метка времени TS4.

Рис. 2. Одно из исполнений сервера времени с поддержкой протокола PTP (производство компании Tekron). На рынке подобные устройства в различных исполнениях (для монтажа и в стойку, и на DIN-рейку) выпускают также Meinberg, «Метроном», RuggedCom — Siemens и другие компании.

Ведомые часы теперь имеют информацию о метках времени TS1-TS4. По этим данным вычисляются время обработки сообщений устройствами и сетевая задержка передачи сообщений между ведущим и ведомым устройством.

Использует ли PTP метки времени UTC?

Протокол PTP использует временной формат TAI.

По сути, TAI является основной для формата UTC (к последнему добавляются високосные секунды через неравные промежутки времени, чтобы компенсировать замедление вращения Земли).

Для многих применений это не имеет никакого значения, поскольку ведомые часы PTP автоматически корректируют свое время в соответствии с форматом UTC (или локального времени). На самом деле, вряд ли вне формата сообщений PTP можно встретить ситуацию, когда конечное устройство представляет время в формате TAI.

Что делает PTP таким точным?

Для обеспечения погрешности синхронизации времени в микросекундном диапазоне PTP опирается на проставление меток времени на аппаратном уровне.

Устройство с поддержкой протокола PTP всегда проставляет метку времени согласно TAI каждому входящему сообщению на соответствующем порту — это делается еще до обработки пакета. За счёт того, что проставление метки времени осуществляется на аппаратном уровне, программные задержки в части обработки сообщений перестают иметь значение.

Для многих устройств с поддержкой протокола PTP погрешность проставления метки времени не превышает 100 нс на уровне порта. При отправке сообщения ему проставляется метка времени физического перенаправления информации портом. Во многих случаях метка времени добавляет к пакету «на лету», т. е. в самый последний момент времени перенаправления кадра.

Обязательным условием для обеспечения высокой точности синхронизации устройств по времени согласно протоколу PTP является использованием специальных коммутаторов в сети. При прохождении сообщений типа Sync через эти коммутаторы последние фиксируют время поступления и перенаправления кадров для обеспечения возможности компенсации задержек на конечном устройстве.

Рис. 3. На фото коммутатор фирмы RuggedCom — Siemens (модель RSG-2488), обладающий поддержкой протокола PTP. Такие устройства есть в линейках MOXA, Hirschmann, Symanitron и других компаний.

За счёт проставления точных меток времени прихода и ухода сообщений с портов устройств измеряется время распространения сообщений по сети. Когда сообщение поступает на конечное устройство, оно имеет информацию о том, когда сообщение было отправлено с ведущих часов и сколько времени потребовалось сообщению, чтобы поступить на ведомое устройство. Затем эти данные используются для вычисления текущего времени с погрешностью 1 мкс и менее.

Что такое профиль PTP?

Профиль PTP — это набор настроек протокола в соответствии с определенной спецификацией.

Например, профиль протокола может специфировать передачу сообщений синхронизации времени в режиме многоадресной рассылки (multicast) и предназначаться для использования в локальных сетях. Телекоммуникационный профиль, наоборот, может потребовать работы в режиме одноадресной рассылки (unicast) и быть предназначенным для распределения сообщений по разветвленным сетям. Каждый профиль может отличаться не только коммуникационной частью, но и структурой сообщений. Для успешной синхронизации по времени ведомые и ведущие часы должны иметь поддержку одного и того же профиля.

Рис. 4. Профиль протокола PTP для использования в системах на основе стандарта МЭК 61850 определён стандартом «Communication networks and systems for power utility automation — Part 9-3: Precision time protocol profile for power utility automation».

Что происходит при наличии в сети нескольких ведущих часов?

В рамках протокола PTP предусмотрено наличие специального алгоритма определения наилучших часов (BMCA — Best Master Clock Algorithm). После ввода в работу системы этот алгоритм функционирует на всех часах сети на постоянной основе. Он определяет, какие из часов готовы наилучшим образом исполнить функцию мастера в данный момент времени.

Алгоритм BMCA анализирует специальные сообщения типа Announce, формируемые, как правило, раз в секунду ведущими часами системы. Используя эти сообщения, ведущие часы сообщают всем другим устройствам сети, что они исправны и предоставляют информацию о текущей погрешности их функционирования. Ведомые часы и другие часы системы обрабатывают эти сообщения. Если погрешность ведущих часов увеличивается, например в связи с потерей сигнала GPS, другие часы системы, понимая, что обладают более высокой точностью, начинают сообщать о своём присутствии, формируя сообщения типа Announce.

После этого все часы системы начинают конкурировать друг с другом за получение статуса ведущих часов. В рамках этой конкуренции они производят сравнение погрешностей, анализируют источники синхронизации и настройки приоритета, заданные пользователем при конфигурировании системы. Если все часы имеют равнозначные характеристики и параметры, ведущими становятся часы со страшим MAC-адресом.

В больших сетях с несколькими часами появляется возможность обеспечить многократное резервирование.

Резервирование обеспечит условие наличия синхронизации времени в системе при отказе ведущих часов. Резервные часы зафиксируют отсутствие сообщений типа Announce и начнут сообщать о своём присутствии. Меньше чем за минуту новые часы примут на себя роль ведущих, минимизируя временной интервал отсутствия сообщений синхронизации времени.

Стоит ли переходить на использование PTP, если требуется высокая точность синхронизации времени?

С увеличением объема применения протокола PTP и со снижением стоимости оборудования, поддерживающего данный протокол, придёт время, когда его реализация станет экономически целесообразней, нежели внедрение альтернативных решений, опирающихся на использование выделенных линий связи (например, IRIG-B).

При этом следует помнить, что протокол PTP не только обеспечивает сверхточную временную синхронизацию, но также позволяет обеспечить резервирование в системе обеспечения единого времени (за счёт наличия резервных часов, возможности использования в сетях PRP/HSR и т. д.) и допускает использование Ethernet-сетей, которые тоже используются для передачи информации.

Сейчас, если не используется протокол Sampled Values, внедрять PTP не обязательно, однако всегда стоит принимать во внимание тенденции. Возможно, вместо того, чтобы проигнорировать новую технологию, стоит приступить к её реализации уже сейчас. [По материалам linkedin.com]

Цифровая подстанция

(close)