返回学习路径

learn

时钟模型:offset、drift 与为什么时间会跑偏

先理解本地时钟不是完美尺子,再理解 gPTP 为什么要持续校正 offset、drift 和路径延迟。

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

本节学习目标

  • 区分 offset、drift、phase error 和 frequency error。
  • 理解为什么一次校时不能长期保证共同时间。
  • 能把时钟漂移和同步间隔联系到最大偏差风险。

建议先读

核心概念

offsetdriftphase errorfrequency error

本章目录

  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误差从哪里来:timestamp、链路不对称与同步间隔把 gPTP 误差拆成硬件时间戳、路径延迟估计、时钟漂移、同步间隔、设备执行和拓扑变化几类来源。
  6. 06时钟误差预算:调度窗口为什么要留余量把时钟漂移、同步间隔、路径延迟误差和设备执行误差转换成 Qbv 窗口设计中的安全余量。
  7. 07验证共同时间:从同步状态到调度证据把 gPTP 状态、抓包时间戳、设备日志和 Qbv 窗口命中放到同一套验证证据里。

解决什么问题

学习 gPTP 之前,必须先接受一个事实:每台设备的本地时钟都不是完美尺子。它可能一开始就和参考时间有差距,也可能走得稍快或稍慢。TSN 调度使用的是微秒甚至更细的时间尺度,这些小偏差会直接影响窗口边界。

如果只说“设备时间不同步”,这个说法太粗。工程上至少要区分两类问题:当前差了多少,以及未来会以什么速度继续差下去。前者通常对应 offset,后者对应 drift 或 frequency error。

四个容易混淆的词

offset 是某个时刻本地时钟和参考时钟之间的差值。比如 grandmaster 认为现在是 1000us,交换机本地时钟认为是 1012us,那么这个时刻的 offset 可以理解为 12us。

phase error 也描述时间位置的偏差,经常和 offset 放在一起理解。你可以把它想成两条周期性刻度线没有对齐:刻度频率可能相同,但当前刻度位置不同。

frequency error 描述本地时钟走得快还是慢。drift 则常用来描述这种频率偏差随时间造成的累计偏离。一个时钟现在 offset 很小,但如果它走得比参考快,过一段时间后 offset 会重新变大。

概念直觉对 TSN 的影响
offset现在差了多少直接让窗口边界错位
phase error当前刻度位置没对齐影响某个时刻事件的共同解释
frequency error走得快还是慢决定两次同步之间误差增长速度
drift随时间累计跑偏同步间隔越长,风险越明显

为什么一次校准不够

假设一台交换机刚刚被校正到 offset 接近 0。只要它的本地 oscillator 和参考源存在频率差,两次同步之间 offset 就会重新增长。同步间隔越长,漂移积累越多;时钟硬件越差,单位时间内可能积累的误差越大。

一个粗略估算可以帮助建立量级感。ppm 表示百万分之一的频率偏差。40ppm 大约意味着每秒可能偏 40us。如果同步间隔是 125ms,那么这段间隔内可能积累的漂移量级约为:

40us/s * 0.125s = 5us

这不是完整误差预算,只是说明漂移和同步间隔如何进入风险判断。真实系统还要加上路径延迟测量误差、timestamp 精度、设备校正算法和执行 gate 的误差。

怎么解决

gPTP 不只是周期性告诉设备“现在几点”。它要持续传播参考时间,测量相邻链路延迟,并让设备用这些信息修正本地时钟。修正可以理解成两件事:把当前 offset 拉回来,以及让本地时钟的走速更接近参考时间源。

学习阶段不需要掌握伺服算法细节,但要知道同步不是一次性动作,而是持续控制过程。你后面看到 Sync interval、clock quality、time-aware system、timestamping accuracy 时,要把它们放回这个模型里:它们都在影响 offset 如何被估计、drift 如何被控制、误差如何被限制。

带来了什么新问题

时钟模型让你能问更精确的问题,但也暴露了更多工程成本。设备需要足够好的 oscillator,需要硬件 timestamp 支持,需要合适的同步间隔,也需要在 grandmaster 暂时不可用时维持可接受的 holdover 行为。

更重要的是,时钟误差不是孤立存在的。它会和 Qbv 的窗口宽度、guard band、路径延迟、设备执行误差叠加。后面做误差预算时,不要把“同步误差”当成一个凭空填写的数字,而要追问它来自哪种时钟模型、哪种测量和哪种设备能力。

检查点

  • 一个设备刚同步完 offset 只有 1us,但 oscillator 漂移很大。为什么短时间后仍可能影响 Qbv 窗口?
  • 如果同步间隔从 125ms 拉长到 1s,在相同 ppm 漂移下,漂移风险会如何变化?

掌握检查

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

  1. 1能解释 offset 大但 drift 小、offset 小但 drift 大分别意味着什么。
  2. 2给定 40ppm 漂移和 125ms 同步间隔,能估算同步间隔内可能积累几微秒级误差。