文章目录
gPTP 介绍
gPTP 是 General Precision Time Protocol 的简称,即广义精确时间协议,也被称为 IEEE 802.1AS 协议。它是 IEEE 1588 协议的延伸,可以为 TSN(时间敏感网络)提供全局精准的时间服务,用以实现 TSN 标准组中的流同步功能。
gPTP 的目的是确保局域网内所有节点的时间完全一致,达到纳秒级别的误差。为了实现这一目标,gPTP 协议基于 L2 层(MAC 层)传输,具有以下特性和实现方式:
- 基于 L2 层传输:决定了其只能在局域网里传播,不能通过路由器往广域网传输,这是达到纳秒级延时的必要条件。
- MAC 上的硬件支持:为了更精准地测量时间,MAC 中包含一个 timer,当一帧出去时,会从 timer 上记录下时间戳,这样程序在任何时候处理都能知道这一帧出去的真正时间。
- 测量网线上的延时:通过特定的测量过程来计算节点之间的传输延时(peer to peer delay)。例如节点 A 想知道到节点 B 的延时,A 会发出一个信息(pdelay_req),B 收到后记录时间 t2,然后 B 发送一个信息(pdelay_resp)并记录时间 t3,A 记录收到的时间 t4,最后 B 将(t2,t3)装在 pdelay_resp_follow_up 帧里发到 A。假设 A、B 时间相差 offset,线上传输延时 delay 可通过公式 delay = (t2 - t1 + t4 -