
IEEE 1588V2在项目上的是用来完成时间同步的,让项目网络中所有设备维持极高精度的、统一的时间基准,系统才可以正常运行。
PTP 同步的原理是:通过精确测量主从时钟之间的往返延迟,并假设网络路径是对称的(即发送和接收的路径延迟相同),来计算偏移量和传输延迟。其最关键的步骤如下图所示,清晰地展示了主从设备之间如何通过四次报文交换来计算出精确的时钟偏差和网络延迟:
Sync(同步报文):主时钟在时间t1发送一个Sync报文给从时钟。
Follow_Up(跟随报文):主时钟先将Sync报文发出,然后在紧接着的Follow_Up报文中携带精确的t1时间戳。从时钟收到Sync报文时记录时间t2,并从Follow_Up报文中获取t1。
Delay_Req(延迟请求报文):从时钟在时间t3发送一个Delay_Req报文给主时钟。
Delay_Resp(延迟响应报文):主时钟在t4时刻收到Delay_Req报文,然后通过Delay_Resp报文将t4发回给从时钟。
现在,从时钟拥有了四个关键时间戳:t1, t2, t3, t4。
网络延迟 = ( (t2 - t1) + (t4 - t3) ) / 2
时钟偏差 = (t2 - t1) - 延迟或偏差 = (t4 - t3) - 延迟
从时钟根据计算出的“偏差”来调整自己的本地时钟,最终与主时钟同步。