摘要

  • RFC 9825 允许 OSPF 为各类前缀携带一枚或多枚 32 位管理标签。标准统一的是载体,不是数值的业务含义与执行动作。
  • 标签顺序没有优先级含义,却必须在跨区传播时保持,以便容量较小的设备看到一致的前缀子集。“一致”不能替代“完整”。
  • 汇总前缀、等价多路径、BGP-LS 投影和 YANG 管理面都会改变证据上下文。看到标签不证明共同词典、策略命中、RIB/FIB 变化或业务成功。

终点的完整记录,可能只是中途截断后的完整记录

开篇是构造场景,并非真实部署。它揭示的是观察点问题:控制器可以完整保存自己收到的列表,却无法仅凭这份完整保存判断上游是否删减、替换或选择过标签。

RFC 9825 正文为 OSPFv2 与 OSPFv3 定义 Prefix Administrative Tag Sub-TLV。RFC Editor 信息页和 IETF Datatracker把它列为 2025 年 7 月发布的 Standards Track RFC。历史记录、引用来源、后续引用与勘误入口说明公开文档过程,不能证明某台设备已经支持或启用。

它建立在 OSPFv2和 OSPFv3之上,借助 RFC 7684 的 OSPFv2 Extended Prefix、RFC 8362 的 OSPFv3 Extended LSA,以及 RFC 9513 的 SRv6 Locator LSA 来安放标签。这些容器定义标签出现在哪里,不决定标签被谁解释成什么。

Sub-TLV 的值是一列至少一项的 32 位无符号整数。长度必须大于零且为四字节的整数倍;零长度或错位长度必须被忽略,并应在限速条件下记录。IANA 的 OSPFv2 参数表登记代码 13,OSPFv3 参数表登记 Extended-LSA 的 39 与 SRv6 Locator LSA 的 6。

RFC 提到的应用包括控制重分发、让特定前缀优先收敛或安装进转发面、选择性获得 LFA 保护。但它明说精确用途不在规范范围内。协议知道“这是数值”,却不知道“数值授权什么动作”。

保序是为了让截断一致,不是赋予先后等级

支持该规范的路由器必须能为所有前缀类型发布并解释至少一枚标签。支持多标签以及跨区传播多标签是可选能力;最大数量由实现及其应用本地决定。

RFC 同时提出两条容易混淆的规则。其一,顺序没有动作含义,每枚标签都是独立标识;A 在 B 前后不应改变两者含义。其二,ABR 传播多枚标签时必须保序。后者确保只支持前 n 项的设备取得相同子集,而不是各自留下不同标签。

这一设计提供可重复性,不提供充分性。推荐默认行为是在“前缀所带数量”与“本地支持上限”中取较小值。协议没有协商某个应用所需的最小集合。若关键限制位于第三项,支持两项的设备可以在完全合规、无报错且顺序正确的情况下丢掉它。

对 AS External 与 NSSA 前缀,旧字段必须携带第一枚标签,其余才可进入新 Sub-TLV。这保护旧实现看到稳定的第一项,却不让第一项天然成为“主标签”。RFC 3101提供 NSSA 翻译背景;RFC 9825 仍允许本地策略抑制 ABR 的标签传播。

汇总不是把组件标签装进更大的袋子

RFC 9825 不建议把组件路由的标签直接传播给配置的 area range、NSSA range 或重分发聚合;实现应允许管理员为汇总单独配置多枚标签。

这是权限边界。某标签对一个组件有效,并不意味着其授权范围自动覆盖整个汇总。简单求并集可能让某一组件的处置扩展到其他地址;选一项又可能掩盖差异。独立配置迫使组织明确回答:谁有权对新聚合对象作出分类?

RFC 5130给出 IS-IS 管理标签的先行机制。无论 IS-IS 还是 OSPF,数值都服务于策略,而不是自带策略。审计汇总时,需要同时保存组件输入、预期不继承规则、汇总配置批准者和最终发布列表。

等价路径把多个来源压缩成一个视图

多个 LSA 可共同形成一条 OSPF 等价路由,而各自标签不同。ABR 必须至少从其中一个贡献 LSA 取标签;若支持多项,可以按上限汇入多个贡献者。RFC 建议按 LSA 发起者 Router-ID 递增次序处理。

因此最终列表并不表示所有等价路径都具备同样属性。它可能来自一个被选中的贡献者,也可能是多个贡献者组合到容量上限的结果。要复原证据,必须记录所有候选 LSA、原始列表、处理顺序、本地上限与输出。

仅比较路由代价与 next-hop 数量会漏掉这种变化。ECMP 仍然“健康”,策略输入却可能因为贡献者顺序变化而改变;最终哪个 next hop 承载数据,还需要独立的数据面观察。

BGP-LS 扩大可见范围,也扩大误判半径

RFC 9552定义 IGP Route Tag TLV 1153,RFC 9825 用它把 OSPF 管理标签提供给 BGP-LS 消费者。控制器由此取得一份有用投影,但不会自动取得 ABR 的输入列表、被截断部分、汇总的独立配置或本地词典。

投影可以忠实于其来源,同时不完整于更早的现实。若自动化把“收到了标签”直接连到“获准重分发”,观察接口就越权成为决策接口。正确做法是让每份 BGP-LS 数据带上观察点、来源、容量与完整性界限。

管理权限不等于路由结果

RFC 9825 的 YANG 模型覆盖接口本地前缀、区域范围、local RIB next hop 与 LSA 数据库中的标签。RFC 8341把 NETCONF/RESTCONF 的操作权限和数据节点访问分开。某账户有权编辑一个节点,只证明它可执行该操作,不证明后续策略与业务结果得到授权。

规范安全部分给出具体因果路径:若攻击者篡改用于重分发的标签,所需路由可能不再发布,或不该进入的路由可能泄漏到其他域,分别形成隐蔽拒绝服务或路由漏洞。这是风险模型,不是发生记录。需要逐步证明“改值—策略匹配变化—公告变化—转发表变化—业务影响”。

这也符合 Heng Lu 的三层方法。Reality Layers要求把符号与结果拆开,Running-Code Primacy要求检查运行系统究竟执行了什么,Minimum Initial Specification则说明薄的公共载体为何不应吞并本地未来决策。

真正的证据链从词典开始,在业务观察结束

一枚策略标签至少需要这些收据:版本化词典、负责人、适用范围和失效期;获批配置;发起 LSA 及有序列表;每个 ABR 的输入、容量、传播规则与输出;ECMP 贡献者选择;汇总的非继承与新配置;BGP-LS 投影;消费规则版本与匹配;公告、RIB、FIB 变化;最后是数据包、可达性和应用结果。

RFC 9825 解决的是让路由器可靠携带自治标识的问题。它没有承诺每台设备容量相同,也没有给数值分配全球语义。领导层若只保留终点列表,就会把一次成功投影误报为完整授权。只有把路径中每次删减、替换、选择与执行对齐,标签才足以支持决定。