为克服 NTP 的各种缺点, PTP(Precision Time Protocol ,精确时间同步协议 ) 应运而生,最新协议,可实现亚微秒量级的时间同步精度。
1、基本原理: 主从节点在网络链路层打时间戳,利用支持 IEEE1588 协议的 PHY 片,精准记录时间同步网络报文接受或发送的时刻。交换机、路由器等网络中间节点准确记录时间同步报文在其中停留的时间,实现对链路时延的准确计算。
2、时间同步过程: PTP 默认使用 组播 协议,二层或四层 UDP 组播都可以,一般我们使用基于 UDP 组播,使用 319 和 320 两个端口。
PTP 定义了三种角色: OC 、 BC 和 TC 。我们一般接触的是 OC :主时钟和从时钟,交换机、路由器一般是 BC 或 TC 。
由于硬件性能有限,网络报文发送时记录的时刻信息,可以在随后的 Follow_Up 跟随报文中发出,这就是 PTP 的双步模式 (Two-step) 。
下图是两 OC 主从时钟之间的同步过程:
a. 主时钟向从时钟发送 Sync 报文,并在本地记录发送时间 t1 ;从时钟收到该报文后,记录接收时间 t2 。
b. 时钟发送 Sync 报文之后,紧接着发送一个携带有 t1 的 Follow_Up 报文。
c. 从时钟向主时钟发送 Delay_Req 报文,用于发起反向传输延时的计算,并在本地记录发送时间 t3 ;主时钟收到该报文后,记录接收时间 t4 。
d. 主时钟收到 Delay_Req 报文之后,回复一个携带有 t4 的 Delay_Resp 报文。
3、时差计算: 与 NTP 一样的原理,从时钟根据拥有的 t1 ~ t4 这四个时间戳,由此可计算出主、从时钟间的往返总延时为:
Sigma = (t4-t1)-(t3-t2)
假设网络是对称的,从时钟相对于主时钟的时钟偏差为:
Delta = t2-t1-Sigma/2=((t2-t1)+(t3-t4))/2
4、计时方式: 与 NTP 不同, PTP 采用 TAI 世界原子时间计时,而且 PTP 计时的起点与 unix 时间一致,即 UTC 时间 1970 年 1 月 1 日 0 点。
PTP 主钟会告知从钟,当前 UTC 相对于 TAI 的累计偏移量,从钟据此计算当前准确的 UTC 时间。
5、误差分析: PTP 能准确记录报文发送和接受的时间,也能计算中间链路的延时,剩下影响最大的就是 网络链路的不对称性 了。
在实际工程中,网络中间链路设备不支持 PTP 协议,大大降低了 PTP 的同步精度。目前, PTP 主要应用在通信同步网、电力同步网等行业网络系统里。
6、同步拓扑: PTP 域中所有的时钟节点都按一定层次组织在一起,可通过 BMC ( Best Master Clock ,最佳主时钟)协议动态选举出最优时钟,最优时钟的时间最终将被同步到整个 PTP 域中。
BMC 算法与 STP ( Spaning Tree Protocl )生成树协议类似,最终形成 无环路 的树形网络拓扑,且都是动态选举,能适应最佳主时钟切换的变化。
7、扩展应用 ——PTP over SDH: 充分利用各行业已有的 SDH 通信网络,利用 PTP-E1 信号 转换设备,架设 PTP 同步网络,除了需要考虑链路倒换问题之外, SDH 网络的时延稳定性可大幅提升网络时间同步精度。
8、 SyncE 同步以太网: 以太网最早只能传输数据信号,有另外独立的频率同步网络,随着以太网的快速发展, SyncE ( Synchronized Ethernet ) 同步以太网 技术诞生后,企业们有了新的选择。
8.1、基本原理:
时钟节点利用以太网( 1000M 、 1G 、 10G 等)物理层的空闲间隙,传递 位宽时钟信号 ,实现时钟频率信号( 25M 、 125M 等)的自上而下传递。
8.2、协议控制:
类似于 SDH 网络等时间间隔传递的 SSM 同步状态信息,同步以太网( Sync-E )利用链路层 封装传递 SSM 信息, SSM 信息包含时钟质量信息,接收端据此选择合适的上级网络时钟。
8.3、应用:
一般商业 PHY 片提供 SyncE 功能选项,开启该功能模式,即可利用 PHY 恢复出来的频率信号,校准本地时钟频率或分频后用于本地计时。