摘要
- RFC 10030 把 NTP 客户端/服务器和对称模式报文装入单播 PTP 事件报文,使只能识别 PTP 的网卡也能给 NTP 提供硬件时间戳,并利用兼容的透明时钟修正。
- 规范刻意保留了权力边界:PTP 修正不可认证,负值结果必须拒绝,根延迟不得随修正改变,NTP 的多源选择、NTS 和误差判断继续有效。
网卡只看见它认识的报文
很多网卡并不是不能记录到达时间,而是只能对有限类型的报文做这件事。若给每个高速帧都打硬件时间戳,接收能力很快会被耗尽。因此硬件过滤器常常只识别 PTP 事件报文,普通 UDP 123 端口上的 NTP 报文则在软件路径较后的位置才被记录。
RFC 10030 的做法不是让 PTP 取代 NTP,而是为 NTP 增加一个外层载体。客户端、服务器和对称模式的 NTP 报文放进新的组织专用 TLV,再由单播 PTP 事件报文承载。广播模式不在规范范围内。IANA 的组织标识 00-00-5E 下,子类型 0x1 被登记为 Network Time Protocol Message。
服务器从这条路径收到请求后,必须沿同一种 PTP 载体返回应答。应答不得长于请求,以限制放大;若预计应答更长,请求方可预先填充。用于同步的应答还应尽量与请求等长,避免在并非全程支持 PTP 的网络里由报文长度差引入非对称时延。
这是一组很薄却完整的共同规则。它规定如何借用已有硬件,却没有要求运营者放弃既有 NTP 算法、安全关联或本地时钟纪律。
319 端口不是免费的精度
采用 UDP 时,规范建议源端口和目的端口都使用 PTP 事件端口 319。这样网卡过滤器才能命中并给接收报文加上硬件时间戳。代价同样明确:如果客户端按照 RFC 9109 随机化 NTP 源端口,过滤器可能不再识别报文,硬件时间戳也会失去。
因此这不是“旧路径不安全、新路径更安全”的简单替换。部署方得到更靠近线路的测量,同时放弃一项端口随机化能力。RFC 8915 定义的 Network Time Security 仍可用于内层 NTP 交换,但 NTS 并不会顺带认证外层 PTP 头部。
PTP 2.1 的作用域也必须显式检查。参与者要核对预期的 domainNumber 与 sdoId。推荐默认值是域 123 和 sdoId 0;若与其他 PTP 配置冲突,域号可以调整,但彼此通信的所有参与者必须使用同一组值。
域号回答“这份报文属于哪一场协议对话”,不回答“远端时钟是否正确”。格式、端口和作用域都正确的报文,依然可能来自应该被 NTP 选择算法排除的时间源。
可修正的路径与不可签名的修正
单步端到端 PTP 透明时钟会把转发时延写入事件报文的 correction 字段。NTP 客户端若要修正一次往返测量,需要知道请求和应答两个方向的修正。应答自己的修正在 PTP 头部;请求方向的修正则由服务器通过新定义的 NTP Network Correction 扩展字段返回,其类型为 0x010A。
请求中的修正值不能成为服务器信任的输入。服务器必须忽略它,客户端发出请求时应将其设为零。拿到双向数据后,客户端可以修正对端时延与偏移,还要计入报文接收时长和透明时钟可能存在的频率误差。
真正重要的是拒绝条件。若修正后的时延、请求修正或应答修正中任何一个为负,结果不得用于同步。根延迟不得被修正,以保证根距离这个最大假定误差不依赖路径修正。测量可以更细,最坏情况的诚实表达不能因此被压短。
透明时钟给出的修正无法认证。路径上的攻击者可以改写 correction 字段。客户端只接受小于已测时延的修正,限制其影响;RFC 将剩余影响与延迟一份未被修改的 NTP 报文相比。这个边界是一道上限,不是一份签名。
时间源选择仍在客户端
NTP 的价值不只在四个时间戳,而在于客户端如何长期过滤样本、比较多个服务器、识别失效来源并约束本地振荡器。PTP 载体改变的是部分时间戳在哪里取得、路径时延能否由兼容设备提供证据。它没有把选择逻辑搬进交换机,也没有让某条更短的延迟曲线自动胜出。
主机甚至可以在一个 PTP 域中直接用 PTP 同步,又在另一个域中仅用 PTP 承载 NTP。NTP over PTP 不要求路径上一定存在其他 PTP 时钟;若存在单步端到端透明时钟,客户端可利用修正,若不存在,网卡硬件时间戳本身仍可能有价值。
这正是最小初始规范的意义:先定义可互操作的薄层,让拥有相应硬件和网络条件的运营者自愿采用,把后续选择留在本地。运行中的 NTP 不必为了接入一种更好的测量工具而承认新的制度性权威。
来源
- IETF Datatracker:NTP Over PTP
- IETF Datatracker:文档历史
- IETF Datatracker:shepherd 说明
- Lu Heng:Minimum Initial Specification
- Lu Heng:Running-Code Primacy
- IETF 邮件存档:RFC 10030 公告
- IANA:OUI Ethernet Numbers
- IANA:NTP Parameters
- RFC Editor:RFC 10030 状态
- RFC 10030:NTP over PTP
- RFC 5905:NTPv4
- RFC 7822:NTPv4 扩展字段
- RFC 8126:IANA 登记政策
- RFC 8915:Network Time Security
- RFC 9109:NTP 端口随机化
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
