摘要
- RFC 9713 在 IANA 的 Bundle Administrative Record Types 注册表中明确标注 BP 版本;BPv7 管理元素只能使用版本栏含有
7的条目。 - 该 RFC 将 64384–64511 保留给 BPv7 实验用途,将 64512–65535 保留给 BPv7 私有用途;这能避免与中央分配编号相撞,却不会自动形成跨组织的语义共识。
- 可审计的运行记录必须分别保存注册表分配、版本范围、引用规范、实现能力、本地约定、接收事实、策略授权、行动及结果。
一个版本栏改变了查询方式
RFC 7116 为 BPv6 建立管理记录类型注册表时,类型字段只有四位。此后,RFC 9171 把 BPv7 管理记录定义为一个包含两项的 CBOR 数组:第一项是无符号类型编号,第二项是由该类型定义的内容。两代协议却长期共用一张没有明确版本维度的表。
这会让单独的整数显得比实际更有权威。编号 2 在 BPv6 中表示 Custody signal,而 BPv7 已不再沿用那套 custody 机制;编号 1 的 Bundle status report 则同时适用于两个版本。若查询结果只显示“2:Custody signal”,它可以是正确的历史记录,却不能成为 BPv7 节点处理该值的许可。
RFC 9713 的修复办法是增加最左侧的 Bundle Protocol Version 栏。BPv7 管理元素判断某个值能否使用时,必须确认该栏包含 7,不能把任何已有名称的编号视为跨版本通用。公共协调键因此不再只是“编号”,而是“编号加协议版本”。
引用文件才保管内容语义
即使编号和版本都吻合,指令仍不完整。RFC 9713 明确不规定 BPv6 与 BPv7 在使用同一编号时如何互操作,也不假定两个版本对该编号作相同解释。每一种管理记录类型的规范必须自行说明它与各 BP 版本的关系。
当前 IANA 表格展示了这一分工。编号 1 的条目指向 RFC 5050 和 RFC 9171;表中还收录了 BPv7 的 CCSDS 信号类型 13、14,以及编号 255 的 ACME Node ID Validation。注册表负责指出分配和规范出处,而 RFC 9891 才定义编号 255 的 CBOR 结构、令牌、校验与处理步骤。整数是通往语义保管人的索引,不是规范内容的压缩副本。
因此,运行证据应同时固定注册表快照、版本单元格和所引用规范的确切版本。否则,解析器可以在声称“编号已注册”的同时,实现过时结构、套用另一代协议的含义,或悄悄改用本地私有解释。
私有区间协调的是中央“不分配”
RFC 9713 为 BPv7 划出 64384–64511 的实验用途区间,以及 64512–65535 的私有用途区间。这解决了一个真实的编号碰撞问题:IANA 不会再从这些范围中分配公共类型,从而意外占用某个组织已选择的私有值。
但 RFC 8126 同时划清了边界。Private Use 由本地自行定义,IANA 不登记其中每个具体分配,不同站点完全可能以互不兼容的方式使用同一个值。Experimental Use 也不适合被当作广泛互操作机制。保留一段空间提供的是试验与私有协作的余地,不是共享含义。
两家运营方都可以合规地选择 65000,却分别编码不同内容。收购、漫游互联、应急互通或设备替换,可能让原先隔离的两套约定突然相遇。第一条跨越边界的 Bundle 不会替双方决定哪一本私有字典生效;外部协议必须另行写明所有者、适用范围、修订号、有效期、回退及冲突处理。
送达与处理是两组事实
RFC 9713 给出了很有价值的失败边界:当管理元素收到畸形的应用数据单元,或遇到自身无法处理的类型编号时,它必须忽略该记录。这不会改变承载它的 Bundle 已送达到该管理元素的事实,也不会改写 Bundle Protocol Agent 的其他处理,例如状态报告。
这条规则避免监控系统因为应用处理失败而抹去传输成功,也避免把传输成功反过来包装成“指令已理解”。一条可核验的账本至少应分开记录:外层 Bundle 送达;载荷被识别为管理记录;类型编号提取;BP 版本适用性确认;类型规范及私有约定解析;内容解码;在启用时完成来源与完整性校验;策略授权作出决定;行动尝试;状态改变;效果被观察。
“已接收”可以为真,而后续每一项仍为假或没有证据。RFC 9171 所讨论的送达或状态报告不能替代这条链条,RFC 9713 的注册表更新也没有把二者合并。
注册表是协调面,不是远程控制器
RFC 9713 没有改变注册表的 Specification Required 分配程序,也没有新建安全结构;RFC 9171 的安全考虑继续适用。它改进的是共享表格及其查询规则。它并不证明发送方可信、解析器安全、本地控制者批准了行动,也不证明系统产生了预期结果。
注册表之所以重要,恰恰是因为它让公共分配不再无声碰撞,让版本假设可以被审计。但这份权威只覆盖表格实际记录的主张,不能向执行层外溢。
Heng Lu 关于 Running-Code Primacy、Minimum Initial Specification 与 Reality Layers 的文章为此提供了公开披露的编辑分析框架:共享记录应保持狭窄且可在本地验证;后续采纳属于运行中的系统;符号记录不应借用它并未包含的执行结果。这些文章是分析视角,并非对 IETF 意图的陈述。
来源
- RFC 9713 全文
- RFC Editor 的 RFC 9713 状态记录
- IETF Datatracker 的 RFC 9713 条目
- IANA Bundle Protocol 注册表
- RFC 9171:Bundle Protocol Version 7
- RFC 7116:LTP、CBHE 与 BP 的 IANA 注册表
- RFC 8126:IANA 注册表策略指南
- RFC 9891:ACME DTN Node ID Validation
- Heng Lu:Running-Code Primacy
- Heng Lu:Minimum Initial Specification
- Heng Lu:Reality Layers
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

