Протокол IEEE 1588 Precision Time Protocol (PTP) предназначен для высокоточной синхронизации времени между устройствами в компьютерной сети.
В отличие от NTP (точность ~1-10 мс), PTP способен обеспечивать точность синхронизации на уровне единиц наносекунд.
Маршрутизаторы серии ME поддерживают работу протокола PTP начиная с версии ПО 3.9.7. Начиная с версии 3.12.0 добавлены: traceability no-override по умолчанию, локальное отображение Steps Removed. Начиная с версии 3.13.0 добавлены: holdover in/out-of-spec, non-forwardable MAC, расширенные servo-параметры.
Поддерживаемое оборудование:
| Модель | Поддержка PTP | Порт ToD |
|---|---|---|
| ME5210S | Да | Присутствует |
| ME2001 | Да | Присутствует |
| ME6008 | Да | Присутствует |
Примечание: ME5100 и ME5200 не поддерживают протокол PTP. На данный момент протокол РТР для ME6008 находится в разработке.
Профили PTP
Сейчас имеются default (базовый профиль, использующий стандарт IEEE 1588-2008 для синхронизации часов), G.8275.1, G.8275.2 и G.8265-1 packet-master.
Профиль G.8265.1 (packet-slave) находится в разработке и не доступен в версии 3.13.0.
Схемы включения
Схема 1 — ME в роли Slave
Наиболее распространённая схема — подключение маршрутизатора ME к внешним PTP Grandmaster часам. Подходит для прямого подключения, подключения через Boundary Clock (BC) и через Transparent Clock (TC). Различие — в значении Steps Removed: чем меньше промежуточных узлов — тем выше точность.
ptp
profile-8275-2
clock
clock-type t-timeslave-p
priority2 255
exit
ports
clock-port 1
interface tengigabitethernet 0/0/1.828
port-type slave
exit
exit
uc-masters
uc-master 1
ip-address 10.0.0.1
port-number 1
exit
exit
exit
exit
ptp
profile-8275-1
clock
clock-type t-timeslave
clock-class 255
exit
ports
clock-port 1
interface tengigabitethernet 0/0/1
exit
exit
exit
exit
Схема 2 — ME в роли Grandmaster с ToD подключением
Внешние часы → [ToD RJ45 / SMB(coax)] → ME2001/ME5210S (GM) → [te0/0/1.828] → Slave
Если добавляете ToD в конфигурацию, то необходимо дополнительно указать вход 1PPS через RJ-45 либо SMB (coax).
ptp
profile-8275-2
clock
clock-type t-grandmaster
exit
ports
clock-port 1
interface tengigabitethernet 0/0/1.828
port-type master
exit
exit
time-config
inputs
one-pps
source rj45
exit
exit
time-of-day
mode in
exit
exit
uc-slaves
uc-slave 1
ip-address 10.0.1.2
port-number 1
exit
uc-slave 2
ip-address 10.0.2.2
port-number 1
exit
exit
exit
exit
ptp
profile-default
clock
clock-type ordinary-clock
exit
ports
clock-port 1
interface tengigabitethernet 0/0/1.828
port-type master
transmission-mode multicast
exit
exit
time-config
inputs
one-pps
source coax
exit
exit
time-of-day
mode in
exit
exit
exit
exit
Схема 3 — ME в роли Boundary
GM → [te0/0/1] → ME2001/ME5210S (Boundary) → [te0/0/2] → Slave
ptp
profile-default
clock
clock-type boundary-clock
exit
ports
clock-port 1
interface tengigabitethernet 0/0/1
port-mode l2
port-type slave
transmission-mode unicast
exit
clock-port 2
interface tengigabitethernet 0/0/2
port-mode l2
port-type master
transmission-mode multicast mac-egress non-forwardable
exit
exit
exit
exit
ptp
profile-8275-2
clock
clock-type t-boundary-p
exit
ports
clock-port 1
interface tengigabitethernet 0/0/1
exit
clock-port 2
interface tengigabitethernet 0/0/2
exit
exit
uc-masters
uc-master 1
ip-address 10.0.0.1
port-number 1
exit
exit
uc-slaves
uc-slave 1
ip-address 10.0.1.2
port-number 2
exit
uc-slave 2
ip-address 10.0.2.2
port-number 2
exit
exit
exit
exit
Дополнительные опции конфигурации
Резерв для нескольких PTP-мастеров
Для резерва можно добавить второй clock-port в сторону GM и задать приоритеты:
GM → [te0/0/1 | te0/0/2] → ME2001/ME5210S (Boundary) → [te0/0/3] → Slave
ptp
profile-8275-1
clock
clock-type t-boundary
exit
ports
clock-port 1
interface tengigabitethernet 0/0/1
local-priority 255
port-type slave
exit
clock-port 2
interface tengigabitethernet 0/0/2
local-priority 100
port-type slave
exit
clock-port 3
interface tengigabitethernet 0/0/3
port-type master
exit
exit
exit
exit
Non-forwardable MAC (с версии 3.13.0)
По умолчанию используется forwardable MAC-адрес 01:1B:19:00:00:00. Он позволяет PTP-сообщениям проходить сквозь стандартное сетевое оборудование (в том числе не поддерживающее PTP), так как коммутаторы транслируют его как обычный мультикаст.
Опция non-forwardable устанавливает MAC 01:80:C2:00:00:0E. Пакеты с этим адресом не транслируются за пределы локального сегмента — аналогично BPDU коммутатор отсекает их на границе L2-сегмента. Пакеты обрабатываются только устройствами, поддерживающими PTP (в противном случае отбрасываются).
ptp
profile-8275-1
clock
clock-type t-timeslave
exit
ports
clock-port 1
interface tengigabitethernet 0/0/1
transmission-mode multicast mac-egress non-forwardable
exit
exit
exit
exit
Servo
Servo-параметры можно настроить через секцию time-config внутри профиля:
ptp
profile-8275-2
clock
clock-type t-timeslave-p
priority2 255
exit
ports
clock-port 1
interface tengigabitethernet 0/0/1.828
exit
exit
time-config
servo
frequency-lock-threshold 100000000
frequency-unlock-threshold 100000000
phase-lock-threshold 100000000
phase-unlock-threshold 100000000
exit
exit
uc-masters
uc-master 1
ip-address 10.0.0.1
port-number 1
exit
exit
exit
exit
show ptp clock
Выводит информацию по трём уровням: 1) локальные параметры текущего устройства; 2) данные вышестоящего мастера (или internal oscillator в режиме holdover); 3) характеристики grandmaster-узла в начале цепочки синхронизации.
0/ME2001:EOS# show ptp clock Local clock details: Clock Identity : ec:b1:e0:ff:fe:50:6e:40 Current Ports On Device : 1 Steps removed : 1 Clock Priority1 : 128 Clock Priority2 : 255 Clock Class : 248 Clock Accuracy : 0xfe (Unknown) Scaled log : 0xffff PTP Time scale : True Time traceable : False Frequency Traceable : False Slave only : False Remote clock details: Source : Internal Oscillator Steps removed : 0 Remote clock id : 90:54:b7:ff:fe:f5:bd:00 UTC offset : 36 Leap-59 : 0 Leap-61 : 0 UTC valid : False Time traceable : False Frequency Traceable : False Grand master clock data: GMC ID : 90:54:b7:ff:fe:f5:bd:00 GMC Class : 248 GMC Accuracy : 0xfe (Unknown) GMC Scaled Log Variance : 0xffff GMC Priority1 : 128 GMC Priority2 : 255
Ключевые поля:
- Steps removed (в Local clock) — количество промежуточных PTP-узлов до мастера. Чем меньше — тем выше точность
- Steps removed (в Remote clock) — Steps Removed вышестоящего мастера
- Clock Class — класс часов (1-16 высокоточные, 135 holdover in-spec, 165 holdover out-of-spec, 248-250 низкоточные, 255 неизвестно)
- Time/Frequency traceable — индикация синхронизации времени/частоты с эталонным источником
- GMC Class — класс grandmaster (должен быть 1-16 для высокоточных источников)
show ptp all-master-clock
0/ME2001:EOS# show ptp all-master-clock AMC data: Interface : te0/0/1.828 Remote clock identity : 68:13:e2:ff:fe:d8:3b:00 PTP Timescale : True Transmission mode : UC Step mode : One step Steps removed : 0 Log announce interval : 0 UTC Offset : True Leap-59 : 0 Leap-61 : 0 UTC valid : False Time Traceable : False Frequency Traceable : False Grand master clock data: GMC Source : Internal Oscillator GMC ID : 68:13:e2:ff:fe:d8:3b:00 GMC Class : 248 GMC Accuracy : 0xfe (Unknown) GMC Scaled log : 0xfff
Holdover in/out-of-spec
Начиная с версии 3.13.0 реализован функционал holdover in/out-of-spec. При потере связи с мастером устройство переходит в состояние holdover:
- Holdover in-spec (Clock Class 135) — устройство удерживает синхронизацию в допустимых пределах. Флаги Time/Frequency traceable сохраняют значение True.
- Holdover out-of-spec (Clock Class 165) — пределы удержания превышены. Флаги traceable устанавливаются в False.
При восстановлении связи с мастером servo возвращается в состояние Fast/Normal loop.
Holdover in/out-of-spec работает для профилей G.8275.1 и G.8275.2. На данный момент переход из состояния holdover in-spec в holdover out-of-spec занимает 4 часа — как при поддержке SyncE, так и без неё.
Traceability no-override
По умолчанию (начиная с версии 3.12.0) traceability установлена в режим no-override. В этом режиме флаги Time/Frequency traceable прозрачно передаются от мастера — какие получили, такие и передают нижестоящим устройствам.
Режим no-override корректно работает при Normal/Fast loop состоянии servo. Во время holdover флаги определяются согласно holdover in/out-of-spec.
Особенности работы
- PTP и SyncE — могут работать совместно, в том числе с профилем G.8265.1
- Таймстампы выставляются аппаратно
- forwardable/non-forwardable mac
- traceability no-override — по умолчанию. Флаги traceable наследуются от мастера, а не перезаписываются локальной настройкой
Диагностика проблем
- Servo state — если не переходит в
Fast loopилиNormal loop, проверьте доступность мастера - Lock status —
Unlockedозначает, что фаза не захвачена - Steps removed — если больше ожидаемого, возможно лишнее звено в цепочке
- GMC Class — должен быть 1-16 для высокоточных часов. 248 = grandmaster не найден, 135 = holdover in-spec, 165 = holdover out-of-spec
- Счётчики пакетов — если Sync received = 0, пакеты не доходят. Проверьте ACL, VLAN, L2-связность
При настройке PTP убедитесь, что PTP-пакеты не блокируются ACL и корректно маршрутизируются. PTP использует UDP-порты 319 (events) и 320 (general).