Перейти к основному содержимому

5.10 Натройка PTP

5.10.1 Обзор​

Введение в функционал​

Precision Time Protocol (PTP) - определенный стандартом IEEE 1588, синхронизирует в реальном времени устройства в сети с точностью до наносекунд. Часы в сети организуются в иерархию «мастер-участник». PTP определяет порт коммутатора, подключенный к устройству с наиболее точными часами. Эти часы называются мастер-часами. Все остальные устройства сети синхронизируют свои часы с мастером и называются участниками. Постоянный обмен временными сообщениями обеспечивает непрерывную синхронизацию.

PTP особенно полезен для систем промышленной автоматизации и сетей управления процессами, где важны точность движений и контроль измерительного оборудования.

Вы можете настроить коммутатор так, чтобы:

  • Передавать пакеты PTP как обычный мультикаст-трафик (PTP отключен).
  • Синхронизировать все порты коммутатора с главным мастером (прозрачный режим).
  • Использовать режим пограничных (boundary) или обычных (ordinary) часов, в котором коммутатор участвует в выборе лучшего мастера и может стать мастером, если лучшие часы не обнаружены.

Принципы работы​

Реализовано в соответствии со стандартом IEEE 1588-2008.

Терминология​

ТерминОписание
GPSГлобальная система позиционирования
NTPПротокол сетевого времени
PTPПротокол точного времени
UTCКоординированное всемирное время
TAIМеждународное атомное время

5.10.2 Настройки по умолчанию​

ФункцияЗначение по умолчанию
Часы PTPОтключено
Тип устройства PTPОбычные часы
Приоритет PTP (priority1 и priority2)128 (по умолчанию)
Режим шагов PTPДвухшаговый
Интервал объявлений2 секунды
Тайм-аут объявлений8 секунд
Интервал запросов задержки1 секунда
Интервал запросов задержки (peer)1 секунда
Интервал синхронизации1 секунда

5.10.3 Конфигурация​

Рисунок 5-10: PTP Timing Domain

Рисунок 5-10: PTP Timing Domain

Конфигурация домена времени PTP с использованием пограничных часов​

Шаг 1: Настройка Switch1 как обычных часов​

Настройте Switch1 как обычные часы с priority1 = 0, чтобы этот коммутатор имел наивысший приоритет в домене PTP и стал мастером. Включите глобально PTP, установите priority1 в 0, выберите механизм задержки (peer) и включите PTP на интерфейсе.

Switch# configure terminal
Switch(config)# ptp global-enable
Switch(config)# ptp priority1 0
Switch(config)# interface eth-0-9
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable

Шаг 2: Настройка Switch2 как пограничных часов​

Установите тип устройства на boundary clock и включите PTP глобально. Настройте механизм задержки (peer) и включите PTP на интерфейсах:

Switch# configure terminal
Switch(config)# ptp device-type bc
Switch(config)# ptp global-enable
Switch(config)# interface eth-0-9
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable
Switch(config)# interface eth-0-18
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable

Шаг 3: Настройка Switch3 как обычных часов​

Включите PTP глобально и настройте свойство slave-only в значение TRUE. Настройте механизм задержки (peer) и включите PTP на интерфейсе:

Switch# configure terminal
Switch(config)# ptp global-enable
Switch(config)# ptp slave-only
Switch(config)# interface eth-0-18
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable

Шаг 4: Проверка​

Проверка глобального состояния PTP на Switch1:​

Switch# show ptp 
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 1
Domain : 0
Slave Only : false
Clock Type : ordinary clock
Priority1 : 0
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 248
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : (null)
Parent Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Parent Port Number : 0
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 0
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false

Проверка состояния порта PTP на Switch1:​

Switch# show ptp interface eth-0-9 
---------------------------------------------------------------
Interface : eth-0-9
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 60:4D:39:FF:FE:FF:C5:00@9
Delay Mechanism : peer
Step Mode : two
Port State : master
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 5 Sync : 0
Delay_Req : 0 Pdelay_Req : 5248
Delay_Resp : 0 Pdelay_Resp : 5249
Follow_Up : 0 Pdelay_Resp_Follow_Up : 5249
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 5345 Sync : 10609
Delay_Req : 0 Pdelay_Req : 10617
Delay_Resp : 0 Pdelay_Resp : 5248
Follow_Up : 10607 Pdelay_Resp_Follow_Up : 5248
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 9
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 0
Follow_Up : 9 Pdelay_Resp_Follow_Up : 0
Unknown : 0

Проверка глобального состояния PTP на Switch2:​

Switch# show ptp 
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 2
Domain : 0
Slave Only : false
Clock Type : boundary clock
Priority1 : 128
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 248
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : 5E:C4:DC:FF:FE:AE:78:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : eth-0-9
Parent Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Parent Port Number : 9
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 1
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false

Проверка состояния PTP foreign-master на Switch2:​

Switch# show ptp foreign-master 
Foreign_master_port_identity Qualification Interface
---------------------------------------------------------------
*60:4D:39:FF:FE:FF:C5:00@9 true eth-0-9

Проверка состояния порта PTP на Switch2:​

Switch# show ptp interface eth-0-9 
---------------------------------------------------------------
Interface : eth-0-9
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@9
Delay Mechanism : peer
Step Mode : two
Port State : slave
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 2944 Sync : 5837
Delay_Req : 0 Pdelay_Req : 5876
Delay_Resp : 0 Pdelay_Resp : 5876
Follow_Up : 5837 Pdelay_Resp_Follow_Up : 5875
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 15 Sync : 30
Delay_Req : 0 Pdelay_Req : 5876
Delay_Resp : 0 Pdelay_Resp : 5876
Follow_Up : 27 Pdelay_Resp_Follow_Up : 5876
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 9
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 0
Follow_Up : 9 Pdelay_Resp_Follow_Up : 0
Unknown : 0

Switch# show ptp interface eth-0-18
---------------------------------------------------------------
Interface : eth-0-18
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@18
Delay Mechanism : peer
Step Mode : two
Port State : master
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 5680
Delay_Resp : 0 Pdelay_Resp : 5680
Follow_Up : 0 Pdelay_Resp_Follow_Up : 5680
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce :2950 Sync : 5860
Delay_Req : 0 Pdelay_Req : 5868
Delay_Resp : 0 Pdelay_Resp : 5680
Follow_Up : 5858 Pdelay_Resp_Follow_Up : 5680
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 0
Follow_Up : 0 Pdelay_Resp_Follow_Up : 0
Unknown : 0

Проверка глобального состояния PTP на Switch3:​

Switch# show ptp
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 1
Domain : 0
Slave Only : true
Clock Type : ordinary clock
Priority1 : 128
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 255
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : A0:D2:25:FF:FE:B1:F8:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : eth-0-18
Parent Clock Identity : 5E:C4:DC:FF:FE:AE:78:00
Parent Port Number : 18
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 2
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false

Проверка состояния PTP foreign-master на Switch3:​

Switch# show ptp foreign-master 
Foreign_master_port_identity Qualification Interface
---------------------------------------------------------------
*5E:C4:DC:FF:FE:AE:78:00@18 true eth-0-18

Проверка состояния порта PTP на Switch3:​

Switch# show ptp interface eth-0-18 
---------------------------------------------------------------
Interface : eth-0-18
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : A0:D2:25:FF:FE:B1:F8:00@18
Delay Mechanism : peer
Step Mode : two
Port State : slave
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 3472 Sync : 6884
Delay_Req : 0 Pdelay_Req : 6919
Delay_Resp : 0 Pdelay_Resp : 6917
Follow_Up : 6884 Pdelay_Resp_Follow_Up : 6917
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 6920
Delay_Resp : 0 Pdelay_Resp : 6919
Follow_Up : 0 Pdelay_Resp_Follow_Up : 6919
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 11
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 3
Follow_Up : 11 Pdelay_Resp_Follow_Up : 3
Unknown : 0

Настройка домена синхронизации между устройствами с Transparent Clock​

Шаг 1: Изменение Switch2 с Boundary Clock на Transparent Clock​

Установите тип устройства как peer-to-peer transparent clock и включите PTP глобально. Перейдите в режим настройки интерфейса и активируйте PTP на интерфейсе:

Switch# configure terminal
Switch(config)# ptp device-type p2ptc
Switch(config)# ptp global-enable
Switch(config)# interface range eth-0-9 , 18
Switch(config-if)# ptp enable

Шаг 2: Проверка​

Проверка глобального состояния PTP на Switch2​

Switch# show ptp interface eth-0-9 
---------------------------------------------------------------
Interface : eth-0-9
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@9
Delay Mechanism : peer
Step Mode : two
Port State : normal
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 6545 Sync : 12985
Delay_Req : 0 Pdelay_Req : 13024
Delay_Resp : 0 Pdelay_Resp : 13016
Follow_Up : 12985 Pdelay_Resp_Follow_Up : 13016
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 15 Sync : 30
Delay_Req : 0 Pdelay_Req : 13021
Delay_Resp : 0 Pdelay_Resp : 13024
Follow_Up : 27 Pdelay_Resp_Follow_Up : 13024
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 9
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 5
Follow_Up : 9 Pdelay_Resp_Follow_Up : 5
Unknown : 0

Switch# show ptp interface eth-0-18
---------------------------------------------------------------
Interface : eth-0-18
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@18
Delay Mechanism : peer
Step Mode : two
Port State : normal
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 13026
Delay_Resp : 0 Pdelay_Resp : 13019
Follow_Up : 0 Pdelay_Resp_Follow_Up : 13019
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 6651 Sync : 13208
Delay_Req : 0 Pdelay_Req : 13212
Delay_Resp : 0 Pdelay_Resp : 13026
Follow_Up : 13208 Pdelay_Resp_Follow_Up : 13026
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 6
Follow_Up : 0 Pdelay_Resp_Follow_Up : 6
Unknown : 0

Проверка глобального состояния PTP на Switch3​

Switch# show ptp 
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 1
Domain : 0
Slave Only : true
Clock Type : ordinary clock
Priority1 : 128
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 255
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : A0:D2:25:FF:FE:B1:F8:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : eth-0-18
Parent Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Parent Port Number : 9
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 1
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false

Проверка PTP Foreign Master на Switch3​

Switch# show ptp foreign-master 
Foreign_master_port_identity Qualification Interface
---------------------------------------------------------------
*60:4D:39:FF:FE:FF:C5:00@9 true eth-0-18