PTP同步过程使用IEEE 1588v2.0 PTP的Delay request-response机制(two steps)。 master和slave时钟通过Sync、Follow_Up、Delay_Req、Delay_Resp这几个数据包的交互,得到t1、t2、t3、t4时间,通过如下计算得到传输路径延迟和两时钟的偏移: 传输路径延时:Delay = [(t4 – t1) – (t3 – t2)]/2 时间偏移:Offset ...
▶ One-step方式:Pdelay_Resp嵌入的t2和t3时间戳之间的差值; ▶ Two-step方式:Pdelay_Resp嵌入的t2时间标签,dealy_Resp_Follow_Up嵌入t3时间标签。 端口A生成接收Pdelay_Resp消息的时间戳t4。端口A然后使用这四个时间戳来计算平均链接延迟。Delay = [(t2–t1)+(t4–t3)]/2,时钟偏差:Offset=(t2-t4+t3...
(由于sync报文不可能携带精确的报文离开时间,所以我们在之后的Follow_up报文中,将sync报文精确的发送时间戳t1封装起来,发给从时钟) 3.从时钟记录sync报文到达从时钟的精确时到达时间t2; 4.从时钟发出delay_req报文并且记录下精确发送时间t3; 5.主时钟记录下delay_req报文到达主时钟的精确到达时间t4; 6.主时钟发出携...
由此从时钟相对于主时钟的时钟偏差为:Offset = (T2 - T1) - [(T2 - T1) + (T4 - T3)] / ...
Offset = [(t2 - t1) - (t4 - t3)] / 2 这样Slave就可以根据t1,t2,t3,t4 四个时间戳计算出自己和Master之间的时间偏差Offset,再对本地时间进行偏差调整,就实现了Slave与Master的时间同步。 从上述原理可以看出,1588v2时间同步是建立在Master和Slave之间的收发链路延迟对称的基础上的。如果Master和Slave之间的...
(1)主时钟向从时钟发送Sync报文,并记录发送时间t1;从时钟收到该报文后,记录接收时间t2。 (2)主时钟发送Sync报文之后,紧接着发送一个携带有t1的Follow_Up报文。 (3)从时钟向主时钟发送Delay_Req报文,用于发起反向传输延时的计算,并记录发送时间t3;主时钟收到该报文后,记录接收时间t4。
主从监测是指Slave设备在同步于主时钟(Master)设备的同时,进行自身同步性能监测。通过对Slave端口时间戳(T1、T2、T3、T4)和计算的时间偏差值(Offset)进行不同方式的统计和分析,可以实现对同步性能的相对监测。环上被动(Passive)节点监测是利用Passive节点对其同步侧与非同步侧同步数据进行比对,从而实现监测。
port_peer_delay()根据4个时间戳计算时间差。 调用pid_eq()检查portIdentity是否匹配 计算t4 - t1 计算t3 - t2 调用tsproc_update_delay()计算时间差。调用clock_peer_delay()更新本地时间戳。 相关链接 gpsd v3.20 源代码分析 chrony v3.5 源代码分析...
1、主时钟向从时钟发出Sync报文,并携带自身的时钟t1;2、从时钟收到Sync报文,并标注上该时刻自己的时钟t2;3、从时钟向主时钟发送Delay_Req报文,并携带该时刻自身的时钟t3;4、主时钟收到Delay_Req报文,并注上该时刻自己的时钟t4;5、主时钟向从时钟发送Delay_Resp报文,并携带时钟t4;6、假设从时钟和主时钟...
Sigma = (t4-t1)-(t3-t2) 因此,假设来回网络链路是对称的,即传输时延相等,那么可以计算客户端与服务器之间的时间误差Delta为: Delta = t2-t1-Sigma/2=((t2-t1)+(t3-t4))/2 客户端调整自身的时间Delta,即可完成一次时间同步。 计时方式 NTP采用UTC时间计时,NTP时间戳包括自1900-01-01 00:00:00开始的...