摘要

  • IETF Internet Area 工作组于 2026 年 9 月 28 日提交 ICMP 节点标识草案第 06 版;它仍处于 IESG 评估中的 Internet-Draft 阶段,并非正式 RFC。
  • 新增规则针对地址族标识 AFI:值 1 的地址长 32 位,值 2 长 128 位。若出现其他值,接收方无法判断可变长地址子对象的边界,必须停止处理节点标识对象,并按该对象不存在来处理报文。
  • 草案明确区分对象和外层报文。RFC 4884 定义的长度允许跳过部分已读对象,后面的 ICMP 扩展消息仍可处理;不能把规则改述成“丢弃整包”。

未知的长度,不能靠猜

在 IPv4 路径诊断遇到 IPv6-only 节点等场景,ICMP 应答源地址未必足以区分节点。节点标识草案于是允许在特定错误报文中附上地址或名称。不过,“报文声称这是哪台节点”和“已验证是哪台节点”始终是两回事;该对象是诊断线索,不是身份认证。

第 06 版的关键不是新增一种地址,而是规定接收方何时应认定自己已无法继续读下去。地址子对象没有脱离 AFI 的独立长度:AFI 1 指 IPv4,AFI 2 指 IPv6。未知值没有可依循的字节数,贸然按熟悉格式解读,可能把后面的名称或其他内容错当地址。因此草案要求在节点标识对象处止步,并不对其中身份作解释。

外层还有另一道界线。RFC 4884为 ICMP 扩展结构提供长度字段,使接收方能够越过无法完整解释的对象,再检查后续扩展。草案还写明,RFC 5837第 4.2 节的 AFI 值与语义更新应同时影响本节;这并非让解析器自动接受任意未识别编号。

从审查问题到拟议规则

这段要求并不在第 05 版中。IETF 安全审查曾直问:遇到未知 AFI 时,既然无法得知地址长度,余下对象该如何处理?第 06 版修订记录将新增说明归于运输与安全审查。审查指出规范空白,不能据此声称已发现现实攻击或厂商缺陷。

Daniel Kade 此前报道第 05 版,谈的是默认是否发送身份、何时因本地政策不披露。本篇关注接收端的证据边界:一项诊断信息无从解析时,其他信息可以保留,却不能用“整包还在”替那个身份字段背书。

来源