总结
- IPv4 选项 68 在包头内提供一段有限空间,让参与处理的系统写入时间戳,或写入地址与时间戳的组合。
- 主机和路由器规范一度延续这种协作,但未认证的记录、不同步的时钟、信息暴露和沿途过滤使它逐渐失去实用价值。
包头里的一册有限账簿
RFC 791 赋予 Internet Timestamp 类型号 68。它不是发送端预先填好的单个时间值,而是一段允许路径上的系统修改的记录区。其 copy bit 为零,因此数据报发生分片后只有第一个分片携带它;同一个数据报最多出现一次该选项。
记录区的容量和写入位置都有明确边界。长度字段只有一个八位组,整个选项最长 40 个八位组;指针指出下一处可写位置,最小合法值是 5。另一个八位组被分成四位溢出计数器和四位模式标志。空间用尽时,处理设备只能把溢出计数加一,不能越界写入。若长度或指针非法,或四位计数器本身再次溢出,原数据报即被视为错误并丢弃,同时可以返回 ICMP Parameter Problem。
三个模式表达了三种不同请求。标志 0 让设备连续填写 32 位时间戳;标志 1 要求先写自己的互联网地址,再写时间;标志 3 则由发送端预置地址,只有下一个地址与处理系统相符时才落下时间。标准时间值是从世界时午夜起算的毫秒数。拿不到这种时间的系统仍可写入另一参考值,但必须把最高位置一,声明它不是标准时间。
这些约束也划出了证据边界。40 个八位组装不下完整的长路径,地址加时间的模式消耗更快;溢出字段最多只能表达有限次数的“无处可写”。更重要的是,格式既不验证写入者身份,也不证明沉默的每一跳都看见或接受了请求。单条记录只是某个参与实现按照自己的时钟和模式写下的观察。
规范保留了协作,却没有创造共同时间
RFC 1122 将主机发起和处理 Timestamp 都列为可选能力。不过,一旦实现,源主机在模式允许时必须记录自身时间;目的主机则应尽可能在把选项交给上层之前加入当前时间。时间表示继续遵循相关 ICMP 时间规则:优先使用世界时午夜后的毫秒值,无法提供正确值时必须标出非标准。
RFC 1812 对转发路由器提出更强要求:路由器必须支持处理该选项。标志 3 下,预置地址只需匹配路由器的任一地址,不必恰好属于入口或出口接口。实现可以提供一个开关,让标志 0 或 1 的选项原样通过,但默认必须关闭。与此同时,规范也承认测量的根本限制:越接近到达时刻写入越有用,而设备时钟若不同步,跨设备比较就会失真。
可观察性为何变成暴露面
到 RFC 7126 时,评估重点已经变化。处理时间和设备地址能帮助排障,也能暴露网络拓扑、系统时间和实现特征;攻击者甚至可能借助时钟偏差区分物理设备。要求路径解释自己的机制,也给了外部观察者阅读路径的机会。
过滤又削弱了诊断价值。普通 ping 不依赖 IPv4 选项,而依赖类型 68 的测试会在任何拒绝选项的管理边界中断。RFC 7126 认为广泛丢弃已经使这类技术几乎无法使用,并建议路由器、安全网关和防火墙丢弃包含 Internet Timestamp 的包。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
