2. 时间与频率基础
在讨论PTP和NTP之前,必须先厘清一个容易被忽略的事实:“时间同步”和“频率同步”不是同一件事。频率同步只要求两个时钟的“秒长”一致,即走时速率相同;时间同步则进一步要求两个时钟对“此刻是几点几分几秒”的读数也一致。一个时钟可以频率极其准确,却因为初始时刻设错而永远差着几秒;也可以被强行对齐到某个时刻,但速率不准,很快又漂走。理解这一点,是理解后面所有同步机制的基础。
一、几种“时间”不是同一个东西
工程中常被混用的几个时间尺度,其实各有定义:
- TAI(国际原子时):由全球数百台原子钟加权平均得到的连续时间尺度,秒长严格由铯原子跃迁频率定义,不插入闰秒,连续单调。它是目前最稳定的“秒长”基准。
- UTC(协调世界时):以TAI的秒长为基准,但通过闰秒调整,使其与地球自转(UT1)的偏差保持在0.9秒以内。UTC = TAI − 整数秒偏移。截至2024年,该偏移为37秒,即 UTC = TAI − 37 s。
- GPS时间(GPST):由GPS系统内部维持的时间尺度,起点为1980-01-06 00:00:00 UTC。它不插入闰秒,因此与TAI保持固定偏移:GPST = TAI − 19 s。由于UTC不断加闰秒,GPST与UTC的差值会随闰秒累积而变化。
- 本地时钟:设备上实际运行的晶振或原子钟读数,通常以UTC为参考目标,但存在初始偏差和持续漂移。
下面这张图把四者的关系、固定偏移和闰秒带来的“台阶”直观地画出来,注意UTC那条线上的跳变就是闰秒。
二、闰秒:为什么UTC会“跳一下”
地球自转并不均匀,长期趋势是逐渐变慢。如果UTC完全按原子秒走,若干年后“正午”就不再是太阳最高的时刻。为兼顾原子时的稳定和地球自转的直观,国际机构会在必要时给UTC插入一个闰秒(正闰秒,23:59:60),使UTC与UT1的差保持在0.9秒内。历史上闰秒大多在6月30日或12月31日的最后一秒插入。
闰秒对同步系统是麻烦制造者:
- NTP通常通过“跳秒”或“抹除(smear)”方式处理,不同实现策略不一致,跨系统时可能产生1秒误差。
- PTP的TAI域不理会闰秒,时间连续;而UTC域需要正确处理闰秒标志(leap61/leap59、currentUtcOffset)。
- 依赖UTC时间戳做差值计算的系统,在闰秒瞬间可能出现负值或重复值。
工程建议:对时间连续性要求高的系统(如金融撮合、日志排序),优先使用TAI或GPS时间做内部计时,仅在对外展示时转换为UTC。
三、频率偏差、相位偏差与漂移率
描述一个本地时钟与参考时钟的差异,有三个核心参数:
| 参数 | 含义 | 典型量级(示例) |
|---|---|---|
| 相位偏差(offset) | 某一时刻两时钟读数之差,单位秒/纳秒 | 未同步时可达数秒;同步后 <1 µs |
| 频率偏差(frequency offset) | 两时钟走时速率的相对差,无量纲,常用ppm/ppb | 普通晶振 ±20 ppm;TCXO ±1 ppm;OCXO ±0.01 ppm |
| 漂移率(drift rate) | 频率偏差随时间的变化速率,反映老化与温度影响 | 晶振约 0.1~1 ppb/天 |
三者关系可以用一个简单模型表达:设参考时间为 t,本地时钟读数 L(t),则
L(t) = t + offset₀ + (f_offset × t) + ½ × drift × t²
其中:
offset₀ —— 初始相位偏差(秒)
f_offset —— 频率偏差(无量纲,如 20 ppm = 20×10⁻⁶)
drift —— 漂移率(1/s²)
举例:某设备晶振频率偏差为 +20 ppm,初始已对齐。运行1小时后,仅频率偏差造成的相位误差为:
误差 = 20×10⁻⁶ × 3600 s = 0.072 s = 72 ms
也就是说,频率偏差会随时间线性累积成相位偏差。这正是为什么同步系统必须周期性校正:NTP靠频繁报文交换不断修正,PTP靠硬件时间戳把校正精度推到亚微秒级。
四、时间同步与频率同步的区别与联系
把两者放在一起看:
- 频率同步:只锁定“速率”,允许存在固定相位差。典型如SDH/SONET的时钟同步、SyncE。
- 时间同步:同时锁定“速率”和“相位(时刻)”。典型如PTP、NTP、GPS授时。
- 联系:时间同步必然包含频率同步;频率同步是时间同步的必要条件。若频率不同步,相位差会持续增大,任何一次校正都只能短暂有效。
判断一个系统是否真正“时间同步”,不能只看它是否收到时间报文,而要看它的相位偏差是否被持续约束在指标内。频率同步只是让偏差不无限增长,时间同步才让偏差趋近于零。
五、工程中的实际判断
在实际运维中,可以用以下方式快速区分问题类型:
- 若设备时间与参考的差值基本恒定,说明频率已同步,只是相位没对齐——属于时间同步未完成。
- 若差值随时间线性增大,说明频率不同步,相位校正只是治标。
- 若差值忽大忽小、无规律,可能是网络抖动、时间戳精度不足或闰秒处理异常。
理解UTC、TAI、GPS时间与本地时钟的层次关系,理解相位偏差、频率偏差、漂移率三者的数学联系,是后续学习PTP报文交互、NTP算法和时钟伺服环路的前提。只有先分清“同步什么”,才能选对“用什么同步”。