摘要
draft-ietf-bier-source-protection-11明确指出:备用 BFIR 到已选 BFIR 的监测路径可能中断,而已选 BFIR 到全部或部分 BFER 的转发路径仍然正常。此时接管既多余,也会在网络和接收端制造重复包。- 反向 Ping 也不能自动代表正向组播路径。若两者不共路,Ping 可能失败而业务正常,也可能成功而业务路径已经损坏。
- 观测对象、探测结论、冷/暖/热备状态、切换授权、丢包或重复、接收连续性与应用结果必须各有回执。第 11 版是信息类工作组 Internet-Draft,不是部署证明。
凌晨三点十七分,备用入口的计时器到期。它已经连续几个周期没有收到主入口的信号。控制器把状态改成 Down,备用入口随即开始为同一批接收者转发。
主入口并没有停。它到三个 BFER 的路径也没有断。断掉的只是两个入口之间那条用于相互观察的窄路径。于是同一条流从两个入口同时进入网络:技术系统准确报告了“我看不见它”,运营叙事却把这句话扩写成“它已经不能服务任何人”。
BIER 冗余入口故障切换第 11 版最重要的价值,就在于把这类错误写进机制本身。问题不只是误报率,而是一个控制权边界:探测器观察的是哪条路径,它又被允许改变哪条路径?
同一拓扑里存在多条有方向的事实
RFC 8279中的 BIER 由 BFIR 把组播包送入域内,BFER 接收,核心路由器依据包内 BitString 转发而不保存每流组播状态。每个 BFER 仍要为具体流选择上游组播跳点。MVPN、MLD 或 PIM 等 overlay 传播选择所需的流信息,BIER transport 承担数据包传输。
草案把已选入口称为 S-BFIR,把备用入口称为 B-BFIR。这个角色不必全网一致:不同 BFER 可以为同一条流选不同入口,两台入口也可能分别服务不同接收者子集。因此,“主入口宕机”本身就过于粗糙。
至少要保留三条有方向的路径身份:
- B-BFIR 到 S-BFIR,备用入口用它观察主入口;
- S-BFIR 到各个 BFER,业务包沿它正向分发;
- BFER 到 S-BFIR,接收者可能沿它发送反向 Ping。
它们有时共享链路,但不能假定相同。第一条断裂,只能证明备用入口在那条路径上失去了预期信号;它不能独自证明 S-BFIR 节点死亡,更不能证明第二条路径失效。
草案给出的暖备场景很具体。BFIR2 监测 BFIR1,二者之间路径中断。BFIR2 将其解释为 BFIR1 故障并接任 S-BFIR。然而 BFIR1 到所有或部分 BFER 的路径仍在工作。草案直接称这种切换为不必要,并指出它会在域内与 BFER 处产生重复包。
反过来也成立:两入口之间的监测链路保持健康,并不保证 BFIR1 到某个 BFER 的业务路径仍然健康。绿色探测灯和真实业务中断可以同时存在。
Down 不是一句完整的话
RFC 5880的 BFD 对特定转发路径进行故障探测。RFC 8562把它扩展到多点场景。BIER BFD 第 12 版提供 BIER 环境的会话引导与 active-tail 通知。它们可以很快,但快速不会扩大证据范围。
| 已记录状态 | 可以成立的结论 | 不应擅自扩大的结论 |
|---|---|---|
| B-BFIR/S-BFIR 会话 Down | 该会话越过了故障阈值 | S-BFIR 到所有 BFER 的路径都断了 |
| 反向 Ping 无响应 | 该反向探测未完成 | 正向组播已经停止 |
| 某 tail 越过 Detection Time | 该接收点没有收到预期控制包 | 所有接收者都失去业务 |
| BFER 选择新 UMH | 该流、该接收者的 overlay 选择已变 | 应用已经恢复 |
| 备用入口开始发送 | 网络里出现第二个发送源 | 每个重复包都已被正确丢弃 |
一条可审计的探测回执必须保存方向、两端、子域、流量处理方式、熵或选路输入、会话 discriminator、探测间隔、阈值与业务类别。只剩 Down 的日志,既无法解释,也无法在事故后复原因果。
反向 Ping 会向两个方向说谎
BFER 可以向 BFIR1 发出 Ping,若多个预期周期没有回应,就把 BFIR1 当作失败的 UMH 并选择 BFIR2。但被保护的组播包从 BFIR1 前往 BFER,Ping request 却从 BFER 反向前往 BFIR1。
复杂网络的双向路径不必对称。草案明确写出两种错误:Ping 失败但组播路径与流都正常;组播路径有缺陷但 Ping 仍能成功。因此,它要求 echo request 与被监测的正向路径共路,以提高探测一致性。
这里的“提高”不能被改写成“证明”。共路只是让探测更接近它所代表的转发面。它仍不能证明接收端得到完整、有序、无重复的流,更不能证明上层应用连续工作。
冷备、暖备、热备是在搬运风险
组播冗余入口第 10 版把模式分成冷备、暖备与热备。三者不只是切换速度不同。
冷备由接收端在故障判断后才向备用入口请求流量。平时没有重复流,却会承受 signaling 与收敛造成的丢包。
暖备让主、备入口预先知道接收需求,但正常时只有主入口发送。备用启动更快,也因此获得一项危险权限:它可能在看不见接收路径的情况下自行判断主入口失效。
热备让两个入口同时发送,BFER 丢弃未选入口的那一份。切换损失可能更小,代价是域内长期重复流量、带宽预算,以及接收端持续承担正确筛选的责任。
所以,“最快故障切换”不是完整采购目标。决策者必须说明丢包由谁承担、重复带宽由谁承担、状态由谁同步、哪个主体有权宣布故障、哪个主体能推翻误判。
不同接收者可以持有不同的主入口事实
草案允许不同 BFER 选择不同 S-BFIR,也允许不同 timeout。一个 BFER 可能已经切到 BFIR2,另一个仍接收 BFIR1,第三个还在等待 Detection Time。用一个全局 primary_failed 覆盖它们,会把合法局部差异与失控双主状态混在一起。
更小的决策键应接近:流身份、接收者或接收者集合、已选 BFIR、观测路径、探测器、阈值和状态版本。
切换后还需要两组回执。控制组说明谁、何时、依据什么规则改变 UMH。效果组说明 BFIR2 何时真正开始、BFIR1 何时真正停止、出现多少丢失/重复/乱序、每个 BFER 接受哪个来源,以及应用实际看到什么。
“收到 BFIR2 的包”只能证明一个包从备用入口抵达,不能证明所有 BFER 已收敛,更不能证明旧源已退出。
工作草案的边界必须留在文章里
第 11 版是 2026 年 10 月 1 日更新的 BIER 工作组 Internet-Draft,预期状态为 Informational。它不是 RFC,不请求 IANA 分配;安全章节引用底层 BIER、multipoint BFD、MVPN failover、BIER Ping 与 BIER BFD 文档。
这足以证明设计文本认识到观测路径错位、正反误判和不必要接管。它不能证明某个厂商已经实现,某个运营商已经部署,或任何真实组播业务成功恢复。
《现实层》要求把探测器的符号状态锁回它实际采样的物理表面。《政策之镜》则要求在探测结果能够改变拓扑时,记录行动者、规则、范围与后果。
故障切换回执
每次自动切换至少保留:流身份;S-BFIR 与 B-BFIR;涉及的 BFER 集合;冷/暖/热备模式;overlay 与既有选择状态;探测器和会话;有方向的观测路径;探测流量与业务流量处理等价证据;计时器、阈值与缺失包数量;授权切换的主体;每个 BFER 的旧/新 UMH;两入口的实际开始与停止时间;丢包、重复、乱序计数;接收端接受状态;应用连续性证据。
没有共路证明时,记录“路径等价未验证”;备用入口不知道接收路径时,记录“接收路径未知”。未知不是日志缺陷,而是限制切换权限的事实。
Sources
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
