摘要
- RFC 9104 为 Extended Administrative Group 定义了 BGP-LS Link Attribute TLV 1173。长度合法、位图完好,只能证明信息按规定被携带,不能证明消费端使用了运营方预期的颜色词典或路径策略。
- 可审计的链条必须继续追踪 IGP 来源、BGP-LS 编码、AG/EAG 一致性、消费端词典、策略版本、计算结果、安装回执和报文观测,而不能让其中一个绿色状态代表全部环节。
一个合法字段抵达一台尚未作出决定的机器
设想一台 BGP-LS consumer 收到一条 Link NLRI。与它相伴的 Link Attribute 内有一个类型 1173 的 TLV,值长八个字节,解析器顺利读出两个 32 位 bitmask。会话正常,长度是四的倍数,属性没有触发 malformed 处置。
此时最容易说得过头的一句话是:“控制器已经知道这条链路的颜色。”这句话把若干互不等同的动作揉成了一个结论:producer 携带了位图;consumer 接受了数据结构;本地词典也许把置位映射成运营含义;某个策略也许引用这些含义;计算引擎也许生成并选中路径;执行系统也许安装结果;真实报文也许按该结果转发。
RFC 9104 负责其中最前面的一段。它在 2021 年 8 月以 Standards Track RFC 发布,规定如何通过 BGP Link-State 广告链路的 Extended Administrative Group(EAG)。它给 EAG 分配 Link Attribute TLV 类型 1173,其 Value 由一个或多个 32 位 bitmask 组成,Length 表示 Value 的字节数,并且必须是四的倍数。
这一格式有意保持简洁。它足以保存位图,却不是颜色词典、策略语言、路径计算请求,也不是转发表或服务结果的回执。
超过 32 个颜色之后,语义仍然是本地的
原有 Administrative Group 是固定 32 位掩码。工程实践常把每一位称为一种“颜色”,但颜色只是便于交谈的名字,并非互联网范围内统一的语义。某个网络里的第 12 位可以表示低时延,另一个网络可以把同一位留空,或赋予维护、合规区域等完全不同的含义。
RFC 7308 引入 EAG,让可表达的行政组不再止于 32 位。它仍由 32 位字组成,实际可携带的规模也受具体协议和介质约束,并不意味着无限扩展。RFC 9104 的作用,是给这个 IGP 链路属性一条进入 BGP-LS 的标准化路径。
新字段没有取代旧字段。RFC 9104 明确允许 TLV 1088 的 Administrative Group 与 TLV 1173 的 EAG 共存。按照 RFC 7308,如果同一链路同时广告两者,EAG 的前 32 位必须与 AG 相同;接收节点用 AG 表示 0 至 31 位,用 EAG 表示第 32 位及以上,不一致时应向运营者报告。
这条规则能帮助兼容和诊断,却仍不是业务语义证明。两个位图完全一致,也可能同时被一个过时的词典解释错。
句法错误有明确后果,语义判断另有责任人
RFC 9104 对句法边界说得很清楚:TLV 1173 的长度若不是四的倍数,就属于 malformed。出现该 TLV 的句法错误时,相关 BGP-LS Attribute 要按照错误处理规则被丢弃。解析器在这一层可以给出确定结论。
语义和内容检查属于另一层。位值是否合理、TLV 是否与适当的 NLRI 类型或 BGP-LS Attribute 关联,以及应用遇到异常内容后如何处置,都交给 BGP-LS consumer——应用或控制器。RFC 9104 也明确把 consumer behavior 放在范围之外。
因此,解析成功只能证明一组位抵达,不能推导出第 42 位仍然表示“维护期间避让”,不能证明引用它的策略已启用,也不能证明系统面对未知位时选择忽略、报警还是拒绝。
后来取代 RFC 7752 的 RFC 9552 对今天的 BGP-LS 分发模型作了更完整的说明:topology 和 traffic-engineering information 从 LSDB 或 TED 被送到外部 consumer;单个 TLV 可以定义 permissible values 和 semantics 供语义校验,而具体应用的错误处理仍可能超出协议规范范围。该文件发表于 2023 年,可用来解释当前架构,却不能倒写成某台 2021 年控制器已经正确工作的证据。
TLV 1173 里没有运营方的颜色词典
从字段结构可以直接看见它没有携带什么。TLV 1173 有长度和 bitmask,没有“第 17 位代表低时延”这样的标签,也没有词典版本、策略优先级、批准人、候选路径、选中路径、FIB 状态或报文观测。
这是从字段定义作出的明确推论,而不是假装引用 RFC 原文。它揭示了一个常见失配:位图可以跨越团队和软件边界,语义词典却可能没有同步。IGP owner 已经启用新位,consumer 仍运行旧映射;两个 consumer 收到相同 EAG,却因未知位规则或策略优先级不同而得到不同路径;迁移期间,旧 AG 与新 EAG 表面一致,但上层政策版本并不一致。
RFC 7308 对未广告位通常按零处理,同时允许本地系统采取自己的策略。正因为留有本地空间,审计材料必须记录具体 consumer 的行为,而不能凭广告内容替它作答。
把一条过长的“成功”拆成七张回执
第一张是来源回执:IGP 实例、协议、链路身份、源 LSA 或 LSP、EAG 值和观察时间。没有 link identity 与 topology epoch,格式正确的位图仍可能属于旧状态。
第二张是投影回执:BGP-LS producer、Link NLRI descriptors、Protocol-ID、peer/session、TLV 1173 的长度与原始值。若 TLV 1088 同时存在,还要保留前 32 位比对与不一致报告。
第三张是消费回执:解析结果、语义校验、链路关联、颜色词典版本和未知位规则。“已收到”不能替代“已理解”。
第四张是策略回执:被引用或排除的位、策略版本、优先级、冲突处理、批准人与回滚权限。“已理解”不能替代“已采用”。
第五张是计算回执:输入 topology epoch、候选路径、被排除的链路、选中路径与计算时间。“已采用”不能替代“已胜出”。
第六张是执行回执:southbound transaction 以及 RIB、FIB 或 label state。“已计算”不能替代“已安装”。
第七张是服务回执:报文路径、流量和与声明相关的性能或服务结果。“已安装”不能替代“已交付”。
分开这些边界不是文书负担,而是故障定位能力。路径缺失时,团队可以查出是 attribute 被丢弃、词典过期、策略未激活、候选不可行还是安装失败,而不必事后修改前一环节的证据含义。
安全与结果都没有随位图自动转移
RFC 9104 不改变 BGP 的安全模型,并假定生成源属性的 IGP 实例采用所需的 OSPF 或 IS-IS 安全机制。看到 TLV 1173 并不能单独证明源 IGP 已认证、consumer 获得授权、策略正确或路径安全。
它也不保证 freshness。信息在 producer 侧真实且及时,并不表示 consumer 计算时仍属于同一 topology epoch。正确政策与过期拓扑结合,依然可能产出意外结果。这些是需要独立测量的运行条件,不是 TLV 声称解决的问题。
相邻 RFC 的对象也不能混入本篇。RFC 9917 针对 reverse Administrative Group 如何参与 Flex-Algorithm,包含远端测量、阈值和剪枝次序;RFC 9825 讨论 OSPF 行政标签列表的顺序与容量截断。RFC 9104 处理的是 EAG bitmask 的 BGP-LS 投影。三者的证据义务不同。
把“携带成功”说准,反而更有价值
TLV 1173 提供稳定 code point、可复现编码和明确的 malformed 处置,这让多组件系统更容易互操作,也更容易检查。限制结论并不会削弱标准的价值。
Heng Lu 的 Running-Code Primacy 可以作为披露的编辑镜头:协调工件与实际被实现、验证、部署和使用的结果不是同一层事实。Minimum Initial Specification 则提醒共同层只承载必要语义,把后续本地选择留在本地。两篇文章都不证明 RFC 作者意图或任何部署事实,但能帮助读者避免把规范字段当成运行结果。
因此,最稳妥的报告可以这样结束第一句:“这条链路的 EAG 以合法 TLV 1173 抵达 consumer。”在声称网络选择或执行了什么之前,另起一句,并拿出属于那个边界的回执。
来源
- RFC Editor 条目:RFC 9104
- RFC 9104:Extended Administrative Groups in BGP-LS
- RFC 7308:Extended Administrative Groups in MPLS-TE
- RFC 8174:规范关键词大小写说明
- RFC 9552:通过 BGP 分发 Link-State 与 Traffic Engineering Information
- RFC 9825:OSPF Link-Local Signaling Administrative Tags
- RFC 9917:Flexible Algorithm 的反向 Metric 与 Administrative Group 约束
- IANA:BGP-LS Parameters
- Lu Heng:Running-Code Primacy
- Lu Heng:Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

