返回学习路径

learn

gPTP 的基本链路:grandmaster、同步与路径延迟

用工程直觉理解 802.1AS 如何把一个主时钟传播到网络设备,并校正链路延迟。

第三章:共同时间核心前提IEEE 802.1ASgPTP16 分钟

first read

先抓住结论

共同时间让不同设备把同一个窗口理解成同一个时刻。

这节主要调哪些参数

  • 本地时钟漂移

    设备本地时钟相对共同时间的频率偏差。

  • 同步间隔

    相邻同步更新之间本地时钟独立运行多久。

  • 路径延迟误差

    链路延迟测量、估计和补偿过程中的偏差。

本节学习目标

  • 知道 grandmaster 在 TSN 时间域中的作用。
  • 理解同步报文、peer delay 和 bridge residence time 为什么要一起出现。
  • 能解释路径延迟估计错误会如何污染本地时间校正。

建议先读

核心概念

grandmastertime domainpeer delayresidence time

本章目录

  1. 01为什么 TSN 需要共同时间从调度窗口、跨设备测量和故障复盘三个场景理解共同时间为什么是 TSN 的坐标系。
  2. 02时钟模型:offset、drift 与为什么时间会跑偏先理解本地时钟不是完美尺子,再理解 gPTP 为什么要持续校正 offset、drift 和路径延迟。
  3. 03gPTP 的基本链路:grandmaster、同步与路径延迟用工程直觉理解 802.1AS 如何把一个主时钟传播到网络设备,并校正链路延迟。
  4. 04同步报文怎么走:Sync、Follow_Up 与 Pdelay 的时间线用一条简化时间线理解 gPTP 报文如何传播时间、记录硬件时间戳并估计相邻链路延迟。
  5. 05为什么 gPTP 需要频差校正从驻留时间和路径延迟两条线理解:晶振频率差异会把本地计数器换算成错误的共同时间。
  6. 06RateRatio 怎么算:邻居频比与逐跳通告用 A-B-C-D 同步链路理解 802.1AS 如何测 NeighborRateRatio、通告 RateRatio,并用它修正 residence time。
  7. 07误差从哪里来:timestamp、链路不对称与同步间隔把 gPTP 误差拆成硬件时间戳、路径延迟估计、时钟漂移、同步间隔、设备执行和拓扑变化几类来源。
  8. 08时钟误差预算:调度窗口为什么要留余量把时钟漂移、同步间隔、路径延迟误差和设备执行误差转换成 Qbv 窗口设计中的安全余量。
  9. 09验证共同时间:从同步状态到调度证据把 gPTP 状态、抓包时间戳、设备日志和 Qbv 窗口命中放到同一套验证证据里。

parameter insight

关键参数与横向比较

把调度窗口、抓包时间戳和故障复盘放进同一条时间轴。

本地时钟漂移

ppm

设备本地时钟相对共同时间的频率偏差。

低漂移设备更容易维持窗口一致;高漂移需要更频繁同步和更大余量。

增加设备之间对窗口边界理解错开的风险。

同步间隔

ms

相邻同步更新之间本地时钟独立运行多久。

短间隔能压住漂移;长间隔会让漂移积累。

改变同步不确定性和验证报告里的时间精度假设。

路径延迟误差

us

链路延迟测量、估计和补偿过程中的偏差。

误差小则窗口坐标可信;误差大则多跳路径时间戳更难对齐。

会直接吃掉 Qbv 窗口余量和测量可信度。

频繁同步 vs 稀疏同步

频繁同步降低漂移积累,但增加协议和处理开销。

稀疏同步开销低,但需要更大的误差预算。

同步质量不是口号,要转成窗口预算里的数字。

解决什么问题

上一节讲了本地时钟会有 offset 和 drift。本节回答下一个问题:网络里到底由谁给出参考时间,参考时间如何传到其他设备,接收方又怎么知道报文在链路上花了多少时间。

如果只把 grandmaster 的时间戳发给下游设备,下游设备仍然不知道这个时间戳对应自己本地的哪个时刻。因为同步报文从发送端到接收端需要传播时间、PHY/MAC 处理时间,还可能经过 bridge 的驻留时间。gPTP 必须把“时间是什么”和“这条链路花了多久”一起处理。

背景与直觉

grandmaster 可以理解成时间域里的参考源。其他设备不是盲目相信自己的本地晶振,而是根据同步信息不断校正。一个 TSN 时间域通常会形成一棵时间传播树:grandmaster 在上游,bridge 和 end station 沿路径接收、修正、再传播时间信息。

这里有一个关键直觉:同步报文本身也是网络里的帧,它不是瞬间到达。如果发送端在 T1 时刻发出 Sync,接收端在自己的本地 T2 时刻收到,那么 T2 里混合了两类信息:发送端时间、链路延迟、本地时钟偏差。只有估计链路延迟,接收端才有可能把这些因素拆开。

怎么解决

gPTP 网络会选择或配置 grandmaster,并让时间信息沿网络传播。每个节点通过接收同步信息、测量相邻链路延迟、校正本地时钟,逐步靠近共同时间。交换机在这个过程中不是透明管道,它们也参与时间信息转发和校正。

学习阶段不需要立即掌握所有报文字段,但要抓住四个变量。

  • grandmaster 质量:参考源本身是否稳定,发生切换时会不会造成时间突变。
  • 本地 oscillator:设备两次同步之间会不会快速漂移。
  • peer delay 估计:链路延迟测得准不准,链路是否对称。
  • residence time:同步信息经过 bridge 时,设备内部处理和停留时间是否被正确计入。

如果这四类信息中任何一类没有边界,后面的调度窗口就只能靠经验放宽,而不是可解释地计算余量。

角色/量解决的问题如果估错会怎样
grandmaster提供参考时间整个时间域一起偏移或切换抖动
Sync / Follow_Up传播参考时间点接收端不知道上游时间对应何时
peer delay估计相邻链路延迟本地校正时扣多或扣少
residence time估计 bridge 内部停留多跳传播误差逐跳积累

带来了什么新问题

共同时间本身也有工程成本。grandmaster 失效怎么办,时钟质量如何比较,链路延迟变化如何处理,设备时间戳精度够不够,网络里是否存在不支持时间同步的中间节点,这些都会影响最终边界。

更关键的是,时间同步误差会向后传递。Qbv 的窗口看起来很宽,但如果时钟偏差、执行延迟和 guard band 吃掉了大部分余量,关键帧仍可能错过窗口。

检查点

  • 为什么接收端不能只看 Sync 报文里的发送时间,就直接校正自己的时钟?
  • 如果一条链路的 peer delay 被低估了 5us,下游设备的共同时间理解可能出现什么方向的偏差?

掌握检查

读完本节后,先用下面这些问题校准自己,而不是只确认“看过了”。

  1. 1能画出 grandmaster、bridge、end station 之间时间传播的大致方向。
  2. 2能说明为什么只收到 Sync 时间还不够,还必须估计链路延迟。

gptp timeline

Sync 传播时间,Pdelay 解释时间在链路上花了多久。

共同时间不是一条广播消息,而是一组硬件时间戳和延迟估计拼起来的证据。

timequeuebound

next steps

读完这一页,下一步可以这样走。