摘要
- RFC 9793 定义了编号 41 的可选、可传递 BGP 路径属性,用于在 BFR 主机前缀上携带子域、BFR-ID、封装和 BIER 下一跳等信息,供 BIFT 计算使用。
- 文件假定 BIER 域与一个管理域对齐,而一个管理域可以包含多个自治系统。支持该属性的边界路由器必须按 EBGP 会话或会话组提供允许政策,默认值是不允许。
- 不允许时,属性不得向该 EBGP 对端发送;若从对端收到,则必须静默忽略且不得继续传播。报文到达只证明字节到达,不证明跨域授权、编号空间兼容、转发表安装或组播结果。
能读懂,并不等于可以采用
边界设备面对的危险状态未必是畸形报文。它可能准确识别路径属性 41,校验每一层长度,读出子域和 BFR-ID,也能理解 MPLS 标签范围或非 MPLS 的 BIFT-id 范围。恰恰在这种“看起来都对”的时刻,授权边界最容易被忽略。
RFC 9793 把 BIER 属性定义为可选、可传递属性。IANA 的 BGP 参数登记表确认了编号 41,并维护 BGP BIER TLV 与子 TLV 的编号空间。属性可附着在 IPv4 /32 或 IPv6 /128 的 BFR 主机前缀上,适用范围限于文件列出的 AFI 1 或 2、SAFI 1、2 或 4。聚合前缀和其他地址族并没有因格式相似而自动获得定义。
域内的传递性有实际用途。一个不是 BFR 的 BGP speaker 仍可能原样转发携带 BIER 属性的路由;支持 BIER 的 BFR 则可在严格条件下更新自己支持的子域、BitStringLength 对应的 BIER 下一跳和封装信息。未知或暂不支持的 BIER TLV 类型也必须保留和传播,仅仅“没见过”不能把整个 NLRI 判成畸形。这样,扩展能力不会被域内某个暂不理解新字段的节点截断。
然而,扩展性不是无限通行证。RFC 9793 第 7 节要求:支持 BIER 属性的管理域边界路由器,必须具有按 EBGP 会话或会话组决定是否允许该属性的政策,且默认不允许。不允许时,出方向不得发送;入方向即使收到,也要像对待无法识别的可选不可传递属性那样静默忽略,并阻止其传向其他 BGP 对端。
这并没有把编号 41 改成不可传递属性。RFC 4271 的一般规则仍是:未知的可选可传递属性可被保留,并在继续传播时设置 Partial;未知的可选不可传递属性则被忽略。RFC 9793 是在“不允许”的特定边界上指定后一种处理结果。属性在设计范围内保持可传递,管理域边界则由本地政策决定它是否仍有资格参与解释。
管理域、AS 与 BIER 子域不是同一张边界图
如果把所有 EBGP 都等同于管理域之外,RFC 9793 的政策粒度就失去了意义。文件明确假定 BIER 域与管理域对齐,但管理域可以由多个自治系统组成。RFC 8279 还允许某些场景以 EBGP 作为路由 underlay。于是,同样是一条 EBGP 会话,它可能连接同一管理者控制下的两个 AS,也可能真正通往一个独立管理域。
BGP 报文无法替运营者完成这项治理判断。AS 号能够标示 BGP 层的边界,却不能证明合同、运维权限、配置责任或统一故障域。RFC 9793 因而选择“默认关闭、逐会话或组明确开放”。例外不是对邻居能力的赞美,而是本地控制面的一项可审计决定。
这个区分也保护了 BIER 的本地编号语义。子域号只有一个字节,但“子域 0”并不是全球唯一空间。BFR-ID 只要求在所属子域内唯一。标签和 BIFT-id 范围依赖本地封装与分配。BIER 下一跳是计算输入,不是对对端组织身份的认证。两边恰好使用相同数字,并不能证明它们描述的是同一个转发世界。
路由属性如何进入 BIFT,又在哪里停止证明
对每个子域,BFR 会检查带有相应 BIER TLV 的 BFR 前缀。非零 BFR-ID 可触发 BIFT 表项的创建或更新;BIER 下一跳或缺失时的规定回退提供 BFR 邻居;标签范围或 BIFT-id 范围提供封装信息。最终计算还要结合 unicast FIB 提供的 underlay 可达性。
这条链上至少有六种不同事实。发送方声明了哪些字节;接收方成功解析了哪些字段;边界政策授权了什么;控制面计算了什么;平台实际安装了什么;包和接收者最终观察到什么。把前一项当成后一项的收据,会掩盖真正缺少的证据。
RFC 9793 自己也不断区分这些阶段。如果 TLV 长度关系失败,属性被视为畸形,必须采取 RFC 7606 的 attribute discard。同一属性里重复同一子域,会导致整个 BIER 属性被忽略;同一 BitStringLength 重复或范围重叠,会使相关封装信息失效;同一子域内两个不同前缀声明相同的非零 BFR-ID,则两者都不得用于该子域的 BIFT 计算。格式通过不等于政策通过,政策通过也不会修复语义冲突。
即便计算成功,文件仍留下明确空白:非直连 BIER 下一跳所需隧道如何建立和选择不在 RFC 9793 范围内。BIFT 条目存在不证明它进入硬件。FIB 里有下一跳不证明包经过。一个接收计数更不自动证明预期业务、接收者集合与服务结果。
错误的“域合并”先污染语义,再可能影响流量
RFC 9793 说明,BFR 前缀通常是域内分发的 loopback,为 BIER 目的并不需要出域。如果这些前缀带着 BIER 属性流出,而邻接管理域也部署了 BIER,两个本应独立的 BIER 域可能被错误连接;它们的配置很可能冲突,由此带来安全风险和运维麻烦。
这是规范描述的风险机制,不是已发生事件。文件没有证明某个厂商实现泄漏了属性,也没有提供攻击、宕机、错投、丢包或客户影响。能严谨得出的结论是:一个在源域有效的声明,在新域里可能失去唯一性和语义;如果边界把可解析误认为可授权,控制面便可能基于未经协调的名字计算状态。
RFC 8279 的数据面规则提供了有益对照:BIER 封装包不能直接从一个 BIER 域穿进另一个。边界处必须解封装并交给组播 flow overlay;同一设备可在前一个域充当 BFER,在后一个域重新作为 BFIR。这是两个上下文之间的显式交接,不是让域内编号无声合并。
RFC 9793 的已验证勘误也提醒读者精确对待例子。Erratum 8463 把第 6 节中 BFR2 在缺少 BIER 下一跳时使用的地址改为 BFER1 的 BFR 前缀,而不是 BFR1 的前缀。该修改修正下一跳示例,不改变第 7 节边界政策。RFC Editor 信息页与 IETF Datatracker证明文件的标准轨状态和文档历史,但不会证明任何现场配置。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
