摘要

  • draft-ietf-bier-bfd-12 把点到多点 BFD 用于 BIER。BFER 发现来自 BFIR 的连续性中断后,通过必须与组播分发树分离的 IP/UDP 单播路径主动返回告警。
  • BFIR 的 Final 只确认它匹配并答复了告警。它不能定位故障、代表所有尾节点,也不能证明组播树修复或应用收到数据。

一个尾节点已经听不到根节点的 BFD 控制包。它不等待查询,而是把状态设为 Down,把诊断写成 Control Detection Time Expired,再从另一条单播路径把告警送回去。根节点回复 Final。协议握手成功,组播树仍可能是断的。

这正是 2026 年 9 月 29 日发布的 BIER BFD 第 12 版最值得保留的边界。它是 BIER 工作组的活跃 Standards Track Internet-Draft,2027 年 4 月 2 日到期,不是 RFC、最终共识、IANA 分配、实现或部署报告。草案申请的 BIER OAM 消息类型、鉴别符 TLV 和 BGP 模式仍分别是 TBD1、TBD2 和 TBD3。

尾节点只观测一个方向

BFIR 充当 MultipointHead,把 BFD 控制包封装进 BIER,送往一组 BFER。每个尾节点独立监测从头节点到自己的连续性;检测时限到期时,它可以宣告丢失。

准确结论只是:这个尾节点在这条会话上没有按时收到这个 BFIR 的包。它没有指出哪根光纤、哪个中间节点或哪条转发表项出了问题,也不能说明其他 BFER 的状态。树的一条分支失声,不等于整个树停止工作。

会话可通过 BIER Ping、BGP 或静态配置建立。使用 BIER Ping 时,Target SI-BitString 承载目标 BFER 集合,拟议 TLV 承载 My Discriminator。鉴别符改变后必须重新引导。这个步骤建立预期配置,却不证明所有尾节点安装一致,也不证明后续每个探测包确实走过预定路径。

鉴别符必须带上根节点范围

普通 BFD 可用 Your Discriminator 在接收端选择会话。P2MP 尾节点没有以同样方式分配自己的远端鉴别符,而是接收 MultipointHead 产生的 My Discriminator。

这个四字节数只在某个头节点范围内唯一。BIER 头中的 BFIR-id 提供了缺失的上下文,所以草案要求尾节点使用 (BFIR-id, My Discriminator) 作为键。

运维系统如果只保存鉴别符,就可能把一个根的告警归给另一个根。完整记录还应保留子域、目标集合、本地 BFER、引导来源和变更历史。复合身份不是报表装饰,而是告警归属正确的前提。

告警要逃离它所测量的故障域

发现故障后,BFER 构造特定控制包:Poll 置位,状态为 Down,诊断为 Control Detection Time Expired,Your Discriminator 填入故障会话的 My Discriminator。报文以 BFIR 为目的地址,经 IP/UDP 单播发送到 4784 端口。

返回路径必须与组播分发树分离。否则,导致 BIER 路径失效的部件也可能吞掉告警,头节点只能看见无法解释的沉默。异路返回使故障有机会从命运之外被观测。

但它也限定了证据。收到告警证明这一个单播包从该 BFER 到达 BFIR,不能反推出正向树在哪一段断裂。记录需要同时保存两条来源链:在尾节点超时的 BIER 会话,以及承载告警的单播路由、接口与安全上下文。

逻辑分路也未必物理独立。两条路线可能共享线卡、管道、供电或控制面瓶颈。草案提出 disjoint 要求,却不会替运营者审计真实故障域。

Final 结束告警交换,不结束事故

BFER 每秒发送一次告警,直到收到该会话的有效 Final,或本地故障自行消失。为提高送达机会,它还应在一秒内以伪随机间隔发送三个包。

BFIR 使用 Your Discriminator 匹配会话,然后通过单播回送 Final。这个回执很有价值:尾节点知道头节点收到了并识别了告警,因此可以停止重发。

然而 Final 不是修复回执。它没有证明路由切换、树恢复、坏件更换或应用重新收到组播。重发停止也不一定意味着 Final 到达,因为故障消失同样可以终止流程。系统必须记录真正的终止原因。

自动化因此要把“接受观测”和“授权修复”分开。控制器可以立刻确认合法告警,但在拓扑、影响范围和策略尚未独立证实时,不应把 Final 解释成恢复信号。

没有告警有很多原因

一次共同故障可能同时影响大量 BFER,所有主动尾节点会向同一个 BFIR 汇聚告警。第 12 版要求实现控制交给控制面处理的 BFD 告警数量。

保护控制面是必要的,却会制造新的证据缺口。沉默尾节点可能健康,也可能同时失去正向连续性与返回路径;会话可能未安装;报文可能在进入控制面前被限流。收到一个尾节点的告警,不能替其他尾节点作出判断。

运维必须做总体核对:预期主动尾节点、已安装的复合键、Down 报告、入口丢弃、获准处理的包、成功匹配、Final 答复和随后恢复的连续性。限流计数在这里不是一般性能指标,而是解释“哪些负面事实有机会被看到”的证据。

完整链条依次是:精确草案版本、获批引导、复合会话身份、最后有效包、检测超时、告警构造、返回路径保管、头节点匹配、Final 或故障消失、尾节点总体核对、诊断、修复、BFD 恢复和应用观测。任何一层都不能替下一层作证。

Heng Lu 的“最小初始规范”原则适用于这套分离。公共层定义互通所需的身份、失效信号、重试和确认;主动尾节点选择、路径独立性、控制面保护、诊断与修复权力留给承担风险的运营者。草案发布不是采用证明,运行代码、真实报文、限流记录和结果才是。

来源