基于PTP的解决方案

1、 方案概述

PTPPrecision Time Protocol,精确时间协议)是一种时间同步的协议,其协议标准为IEEE1588IEEE1588的全称是网络测量和控制系统的精密时钟同步协议标准;由网络时间协议(NTP)发展而来,但NTP的同步准确度最好只能达到200us,随着测量仪器和工业控制对准确度的要求越来越高,为了解决测量和控制应用的分布网络定时同步的需要

2、 方案原理

PTP同步的基本原理如下:主、从时钟之间交互同步报文并记录报文的收发时间,通过计算报文往返的时间差来计算主、从时钟之间的往返总延时,如果网络是对称的(即两个方向的传输延时相同),则往返总延时的一半就是单向延时,这个单向延时便是主、从时钟之间的时钟偏差,从时钟按照该偏差来调整本地时间,就可以实现其与主时钟的同步。

 PTP 协议定义了两种传播延时测量机制:

Ø  请求应答(Request-Response)机制,即E2E延时机制。

Ø  端延时(Peer-Delay)机制,即P2P延时机制。

1.1  请求应答机制

请求应答机制实现过程(双步模式)

(1)     主时钟向从时钟发送Sync报文,并在本地记录发送时间t1;从时钟收到该报文后,记录接收时间t2。

(2)     主时钟发送Sync报文之后,紧接着发送一个携带有t1Follow_Up报文。

(3)     从时钟向主时钟发送Delay_Req报文,用于发起反向传输延时的计算,并在本地记录发送时间t3;主时钟收到该报文后,记录接收时间t4。

(4)     主时钟收到Delay_Req报文之后,回复一个携带有t4的Delay_Resp报文。

  此时,从时钟便拥有了t1~t4这四个时间戳,由此可计算出主、从时钟间的往返总延时为[(t2 – t1) +(t4 – t3)],由于网络是对称的,所以主、从时钟间的单向延时为[(t2 – t1) + (t4 – t3)] / 2。因此,从时钟相对于主时钟的时钟偏差为:Offset = (t2 – t1) - [(t2 – t1) + (t4 – t3)] / 2 = [(t2 – t1) - (t4 – t3) ] /2。

此外,根据是否需要发送Follow_Up报文,请求应答机制又分为单步模式和双步模式两种:

Ø  单步模式下,Sync报文的发送时间戳t1由Sync报文自己携带,不发送Follow_Up 报文。

Ø  双步模式下,Sync报文的发送时间戳t1由Follow_Up报文携带。

 

1.2  端延时机制

图表 SEQ 图表 \* ARABIC 3 端延时机制实现过程(双步模式)

 

与请求应答机制相比,端延时机制不仅对转发延时进行扣除,还对上游链路的延时进行扣除。如图“端延时机制实现过程”所示,其实现过程如下:

(1)     主时钟向从时钟发送Sync 报文,并记录发送时间t1;从时钟收到该报文后,记录接收时间t2。

(2)     主时钟发送Sync 报文之后,紧接着发送一个携带有t1 的Follow_Up报文。

(3)     从时钟向主时钟发送Pdelay_Req报文,用于发起反向传输延时的计算,并记录发送时间t3,主时钟收到该报文后,记录接收时间t4。

(4)     主时钟收到Pdelay_Req报文之后,回复一个携带有t4 的Pdelay_Resp报文,并记录发送时间t5;从时钟收到该报文后,记录接收时间t6。

(5)     主时钟回复Pdelay_Resp报文之后,紧接着发送一个携带有t5的Pdelay_Resp_Follow_Up报文。

 

此时,从时钟便拥有了t1~t6 这六个时间戳,由此可计算出主、从时钟间的往返总延时为[(t4 – t3) + (t6 – t5)],由于网络是对称的,所以主、从时钟间的单向延时为[(t4 – t3) + (t6 – t5)] / 2。因此,从时钟相对于主时钟的时钟偏差为:Offset = (t2 – t1) - [(t4 – t3) + (t6 – t5)] / 2。

此外,根据是否需要发送Follow_Up报文,端延时机制也分为单步模式和双步模式两种:

Ø  单步模式下,Sync报文的发送时间戳t1由Sync报文自己携带,不发送Follow_Up 报文;而t5和t4的差值由Pdelay_Resp报文携带,不发送Pdelay_Resp_Follow_Up 报文。

Ø  双步模式下,Sync报文的发送时间戳t1由Follow_Up报文携带,而t4和t5则分别由Pdelay_Resp报文和Pdelay_Resp_Follow_Up报文携带。