九、1588v2协议时间同步机制
1588v2协议支持两种具体的时间同步机制:End-to-End(E2E,端到端)机制和Peer-to-Peer(P2P,点到点)机制。这两种机制用于测量时钟之间的链路延迟,以实现时间同步。

9.1 E2E(End-to-End)机制
E2E机制实际上是直接测量两个主时钟(OC)或边界时钟(BC)之间的总链路延迟。这个链路延迟包括了两个时钟节点之间的所有中间透明时钟(TC)节点。
当E2E TC节点转发1588v2报文时,它会测量报文通过该节点的转发时延,并将这个时延信息嵌入报文中。在两个端点的OC或BC节点处,通过计算链路时延和时间偏差,可以实现时钟的同步。
E2E机制中的关键报文包括:
- 主时钟节点周期性地发送Sync报文,用于向从时钟节点传递主时钟节点的时间信息。
- 在E2E机制中,Sync报文可以使用两种方式发送:
- One-Step 模式: Sync报文携带了本报文发送时刻的时间戳,即直接在Sync报文中包含了主时钟节点的时间信息。
- Two-Step 模式: Sync报文不携带本报文发送时刻的时间戳,而只是记录了本报文发送时的时间。实际的时间戳信息由后续的Follow_Up报文携带。
- 从时钟节点接收到Sync报文后,通过Delay_Req报文向主时钟节点请求主时钟节点的时间信息。
- Delay_Req报文携带了从时钟节点接收Sync报文的本地时间戳。
- 主时钟节点接收到Delay_Req报文后,会回应一个Delay_Resp报文,其中包含了主时钟节点的时间戳。
- 从时钟节点通过Delay_Resp报文中的时间戳信息,计算出自身与主时钟节点之间的传输延迟。
通过以上的报文交互,从时钟节点能够获取主时钟节点的时间信息并计算出传输延迟,从而得知主时钟节点与自身时钟的时间偏差。通过调整本地时钟,从时钟节点可以逐步追赶主时钟节点,从而实现时间的同步。
💡记忆小技巧:E2E(End-to-End,端到端)机制是1588v2协议中用于主时钟节点与从时钟节点之间进行时间同步的一种机制。这个机制通过Sync、Delay_Req和Delay_Resp报文的交互,使得从时钟节点能够计算出自身与主时钟节点之间的时间偏差,并调整自身的时间以达到同步。
9.2 P2P(Peer-to-Peer)机制
P2P机制限定在仅测量两个直接相连的OC、BC或TC节点之间的逐点链路延迟。