摘要
- RFC 9624 用 EVPN 控制平面路由为 BIER 构造 BUM 报文的目标 BFER 集合,使中间路由器无需保存逐流组播状态。
- IMET、SMET、S-PMSI、Leaf A-D 和 PMSI Tunnel Attribute 描述的是特定时刻的接收意图与转发上下文,不是客户成员仍然有效或数据已经抵达的证明。
- 可审计链条必须分别记录路由 epoch、报文分类、叶节点推导、实际 BitString、核心复制、分段交接、出口处置、split horizon、接入电路发送与客户侧接收。
控制平面完整,客户仍可能什么也没看到
入口 PE 的广播域中有完整 IMET 路由。选择性转发所需的 SMET 或 Leaf A-D 也已出现,PTA 指向 BIER,每个预期出口都对应一个已点亮的 bit。控制器能够给出一张没有缺口的目标清单。
某个客户站点仍没有收到帧。目标清单无法回答:成员路由是否落后于接入侧状态,报文是否真正命中预期规则,核心中的某条复制分支是否丢失,分段点是否换用了正确上下文,出口 PE 是否查到正确广播域,split horizon 是否压错了本地副本。
RFC 9624 的价值是把复制计划变成跨实现可理解的协议对象。若把计划直接解释成交付结果,反而抹去了这个对象的准确边界。bit 表达“应向这里复制”,而不是“这里已经收到”。
无逐流状态并不等于无执行风险
BIER 不要求中间 BFR 为每条组播流维护状态,也不依赖显式建树协议。BFIR 在头部编码出口集合,中间节点依据 Bit Index Forwarding Table 复制报文。
这减少了核心状态,却没有消除拥塞、链路故障、转发表 epoch 不一致或错误下一跳。一个节点可以没有逐流状态,也可以正确解析 bit,随后仍没有把副本送上预期分支。“核心更简单”是架构属性,不是运行回执。
调查需要知道每条分支使用了哪一版 BIFT,实际发出多少副本,哪些 BFER 看见了同一个关联报文。仅仅确认网络没有构建组播树,无法回答任何交付问题。
PTA 规定上下文和作用域
PMSI Tunnel Attribute 使用 BIER tunnel type 0x0B,并携带 sub-domain ID、构造者的 BFR-id 与 BFR-Prefix。对于 EVPN-MPLS,label 字段是 BFIR 分配的上游标签;对于 VXLAN、NVGRE 或 GENEVE,它是具有全局意义的 VNI/VSID。LIR 与 LIR-pF 影响叶节点跟踪。
这些字段把一条路由绑定到转发上下文,却不保证每个接收者处于相同解释 epoch。BFR-Prefix 可以不同于路由其他字段中的地址,Route Target 限制分发范围,带 BIER PTA 的路由不得越出能够唯一识别该源的 BIER 域。
所以“字段合法”不等于“边界正确”。应保留原始路由、PTA 字节、来源 peer、Route Target、BIER 域与生效时间。一个被 UI 压缩成“BIER 已启用”的状态不足以重建作用域。
叶节点集合是一个时间切片
对于 inclusive PMSI,同一广播域中其他 IMET 路由的发起者组成 BFER 集合。对于 selective PMSI,匹配的 SMET,或者 S-PMSI 与 Leaf A-D 程序决定叶节点。source、group、LIR、LIR-pF 以及 SMET 对 Leaf A-D 的替代都会改变实际选择。
客户端已经离开,但撤销还没有收敛,集合中就会多一个出口。客户刚刚加入,但通告尚未抵达,集合中就会少一个出口。路由只说明某个 PE 按协议表达了兴趣;它不证明接入端口在报文到来时仍有接收者。
真正的回执必须冻结报文键、被选中的发送路由以及参与推导的每条叶路由。事后用当前 BGP 状态重算,会让现在的真相冒充过去的决策。
没有叶节点时,不发送可能是规范行为
RFC 9624 明确规定:若没有匹配的发送路由,报文不进入 P-tunnel;若所选隧道需要叶跟踪而叶路由为空,也不进入 P-tunnel。
因此 BIER 发送计数为零存在多种解释:没有输入 BUM、分类未命中、发送路由缺失、叶集合为空或更早阶段丢弃。反过来,路由存在也不能证明这一个帧命中了它。
入口记录应把帧身份、广播域、BUM 类型、可用的源与组、匹配路由、叶集合、RFC 9251 互通选择、label 或 VNI、BIER 头以及实际发送结果连接起来。
BitString 是某一时刻生成的命令
BFIR 根据叶路由得出需要接收的全部 BFER,再按照 RFC 8279 与 RFC 8296 生成 BIER 头。协议字段区分 EVPN-MPLS 以及 VXLAN、NVGRE、GENEVE 的不同承载形式。
某个 bit 为一,能够证明在给定 sub-domain、set identifier 与 BitString length 下,该位置被纳入复制请求。它不能证明所有节点对位置到 BFER 的映射一致,也不能证明列表包含当时全部真实成员或对应分支已经完成。
必须保留两类事实:BFIR 的确设置了 bit;BFER 的确观察到到达。二者应共享关联标识,但不能被数据库或监控面板合并成一个“已交付”。
分段点会重新作出一次决定
P-tunnel segmentation point 接收的上游封装中,label 指向上游匹配路由。该点把路由重新通告给下游区域,每个区域拥有自己的 PTA。进入下游 BIER 域时,它移除上游封装,换成下游 PTA 的上游分配 label,重新计算叶集合,再施加新的 BIER 头。
这不是透明管道。上游报文可以正确抵达,而下游路由已经过时;label swap 可以选错广播域;新 BitString 在本区域完全合法,却少了原始服务意图中的出口。
把分段视为保管权交接:记录上游报文和上下文、接收时间、匹配路由、移除字段、下游区域与 epoch、替换标签、计算出的叶、新头部与发送结果。只看交接一侧,端到端链条仍然断裂。
到达 BFER 还不等于到达客户
出口 PE 使用上游分配 label 或 VNI/VSID 找到 EVPN 广播域,随后才执行普通 EVPN 转发。BIER 在出口计数增加,只证明 provider tunnel 把报文带到 PE。
本地可能找不到映射、不接受 payload 形式、没有合格接入电路,或者队列在发送前丢弃。出口回执要包含解封装、协议类型、label/VNI lookup、所选广播域、本地复制清单、每端口发送与队列结果。
这也解释了为什么核心监控与客户报告可以同时正确:核心交付给了 PE,服务却没有继续交付到站点。
split horizon 会制造正确的“未发送”
EVPN-MPLS 多归属使用上游分配 ESI label 标记来源 Ethernet Segment,使出口不把 BUM 帧送回同一段。VXLAN、NVGRE、GENEVE 则通过 BFIR-id 执行 local bias,避免向入口已经服务的多归属段重复发送。
因此一次本地未发送可能恰好是环路防护的正确结果。但错误的入口身份、ESI label 或多归属状态会把防护变成服务中断。正确压制某一段,也不证明其他合格端口收到了副本。
记录必须写明 segment、入口身份、ESI 或 local-bias 输入、判定原因、被压制端口和已发送端口。总数无法区分正确去重与意外丢失。
从意图到接收需要完整阶梯
第一层是有效路由 epoch:IMET、SMET、S-PMSI、Leaf A-D、Route Target、PTA 与 BIER 域。第二层把报文连接到实际匹配规则和叶集合,并保存 BFIR-id、sub-domain、BitString 参数、协议、label、VNI/VSID 与 ESI 上下文。
之后由核心分支观测证明复制,分段点建立新的交接回执,BFER 证明到达和解封装。EVPN 处置证明广播域、本地复制与 split horizon。接入电路发送、客户设备接收、应用消费和服务结果仍然是更后的事实。
这一链条不会把逐流状态重新塞回 BIER 核心。它只是防止最小化的复制命令被误写成并未观测的最终体验。
来源
- https://www.rfc-editor.org/rfc/rfc9624.html
- https://www.rfc-editor.org/info/rfc9624/
- https://www.rfc-editor.org/rfc/rfc9624.txt
- https://www.rfc-editor.org/rfc/rfc9624.xml
- https://datatracker.ietf.org/doc/rfc9624/
- https://datatracker.ietf.org/doc/rfc9624/history/
- https://www.rfc-editor.org/errata/rfc9624
- https://www.rfc-editor.org/rfc/rfc8279.html
- https://www.rfc-editor.org/rfc/rfc8296.html
- https://www.rfc-editor.org/rfc/rfc7432.html
- https://www.rfc-editor.org/rfc/rfc8365.html
- https://www.rfc-editor.org/rfc/rfc8556.html
- https://www.rfc-editor.org/rfc/rfc9572.html
- https://www.rfc-editor.org/rfc/rfc9251.html
- https://www.rfc-editor.org/rfc/rfc6514.html
- https://www.rfc-editor.org/rfc/rfc8534.html
- https://www.rfc-editor.org/rfc/rfc8926.html
- https://www.iana.org/assignments/bgp-parameters/bgp-parameters.xhtml
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
