Precision Time Protocol
(
PTP
)
一、什么是
PTP
PTP
是一种高精度时间同步协议
,
可以到达亚微秒级精度
,
有资料说可达到
30
纳秒左右的偏差精度
,
但需
要网络的节点(交换机)支持
PTP
协议,才能实现纳秒量级的同步。
一般在实际使用中,现有的
NTP
可以达到
5ms
以内的精度,对一般的应用都是满足的;非超高精度设
备,不建议使用
PTP
设备。
与
NTP
主要区别
:PTP
是在硬件级实现的
,NTP
是在应用层级别实现的
.
PTP
是主从同步系统,一般采用硬件时间戳,并配合一些对
NTP
更高精度的延时测量算法。
PTP
最常用的是直接在
MAC
层进行
PTP
协议包分析
,
这样可以不经过
UDP
协议栈
,
减少
PTP
在协议
栈中驻留时间
,
提高同步的精确度。
PTP
也可以承载在
UDP
上时
,
软件可以采用
SOCKET
进行收发
UDP
包
,
事件消息的
UDP
端口号
319 ,
普通消息的组播端口号为
320
,但其精度就大大降低。
在物理硬件要求主从端都是
PTP
设备,且网络不能太大,其中间经过的交换机设备也必须支持
PTP
协
议,并且主从时间网络链路唯一,不存在交替的
PTP
通道。
PTPv2
采用相对时间同步机制。一个参与者被选作主时间钟,其将发送同步信息到从站。主站将发送