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

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