摘要
- 9 月 6 日更新的 PIM 工作组草案把拓扑、算法和数据平面组成一个 TAD 三元组,让组播树能够避开普通最短路;01 版只更新日期和所引草案版本,没有改变协议规则。
- TAD 不是每台设备的偏好。草案要求一棵组播树上的路由器参与同一个 TAD,并禁止把本域数值带出 IGP 域;分歧可能让 PIM 流程停止、首跳不再转发,甚至形成环路。
- 最容易被忽略的是兼容性边界:TAD 放在较新的 GSI 子 TLV 中,而 PFM 在发现邻居不支持 GSI 时会转为旧格式并丢弃所有子 TLV。
设想一个直播源面对两条路。最短路已经拥塞,另一条路跳数更多,却能满足带宽或时延约束。网络希望只把这一路组播流放到第二条路上。
《Multi-Topology in PIM》给出了办法。9 月 6 日的 01 版是 PIM 工作组文档,目标状态为 Standards Track,但 Datatracker 仍标为 I-D Exists。它不是 RFC,也不证明已经部署。对照01 版原文和00 版,变化只是日期、有效期和引用版本。因而新闻不是“新协议已经成熟”,而是这套仍在讨论的控制模型重新变为当前文档。
三个字段为什么会变成整棵树的约束
RFC 7761说明了 PIM 的因果链:Join 逐跳向源或 RP 前进,在沿途建立状态;数据再沿 Join 的反向路径抵达接收者。草案加入 TAD,即 Topology、Algorithm、Dataplane。拓扑指定 IGP 视图,算法可选用 RFC 9350 的约束计算,数据平面则指明 Segment Routing、RFC 9502 的 IP Flex 或拟议的软数据平面。
这三个数共同决定查询哪张 TAD 感知路由表、把 Join 发给哪个上游。草案因此要求,同一棵 PIM 组播树上的所有路由器必须参加同一个 TAD。
首跳路由器通过 PIM Flooding Mechanism 发布源、组和 TAD 子 TLV。末跳路由器接到信息后,也可以依据本地策略,在 Join/Prune 中放入 TAD 属性。中间路由器继续使用相应路由表向上游建树。
字段解码成功只证明字节被读懂。它没有证明每台路由器安装了相同拓扑、相同算法定义和相同数据平面;更没有证明控制面状态已经进入 MFIB。最后仍要用接口计数、复制结果、丢包和接收端观测回答“数据是否到达”。
数字相同,不等于含义相同
草案明确禁止携带本地 TAD 的 PIM 消息离开 IGP 域。原因并不抽象:MT-ID 是协议相关的。RFC 4915 与 RFC 5120 分别给 OSPF 和 IS-IS 定义多拓扑机制;另一个域里的同一个整数,可能指向完全不同的拓扑。
这是一条权限边界。TAD 的有效性来自共享的配置和意义空间,而不是来自字段具有可传递位。跨域携带一个正确编码的数值,只会把语法正确误当作共同理解。
域内也有分叉点。两个 FHR 若为同一源和组发布不同 TAD,LHR 默认按 originator 地址排序并偏好较高者。LHR 的本地配置若与它的广告不一致,就不得发送带 TAD 的 Join/Prune。TAD 与 RPF Vector 同时出现时,本地策略决定忽略哪一个;收到多个 TAD 属性时,建议取第一个。
每一项都有规则,却不保证不同设备选择同一条规则。两台机器都可以声称“按本地策略工作”,同时把共同的树推向不同上游。
失败被显式化,但证据可能被日志抹平
路由器收到来自不同邻居、面向同一状态的 Join 时,要检查 TAD 是否一致。若不一致,或 TAD 路由表找不到可达上游,草案要求停止 PIM 流程并通知管理员;FHR 在全部 Join 一致以前不应转发组播流。
这种失败关闭比默默拼出一棵不一致的树更安全,但代价可能覆盖所有接收者:一个分支的错误就可能让源端压住原本可以服务的流。如果告警只保留“PIM stopped”,冲突的三元组、邻居、能力状态和策略来源便永久丢失。
安全章节还直接承认,不同本地策略选择不同拓扑和算法时,网络可能成环或无法转发;伪造路由器也可能发布错误 TAD。草案没有为新子 TLV 给出完整的加密来源认证。因此,TAD 广告应被视为带权限的输入,至少记录来源路由器、接口、原始值、解析出的本地对象、策略版本和最终决定。
兼容模式会主动拿掉 TAD
TAD 的源发现依赖PFM 转发增强草案定义的 GSI TLV。该文档是 Experimental,现处于 RFC Editor 队列。设备通过 PIM Hello 按接口声明是否支持 GSI。
当接口上的全部邻居支持 GSI,路由器原样转发丰富格式;只要有一个邻居不支持,就把 GSI 转成 RFC 8364 的旧 GSH。转换保留组、源和 holdtime,却必须忽略子 TLV。
TAD 恰好就在子 TLV 中。所以兼容回退不是透明运输,而是语义降级:旧邻居仍能知道源存在,却不知道这一路流应该使用哪条约束路径。检查首末两台路由器的支持标志没有意义,证据必须覆盖沿途每个出接口。
Heng Lu 的现实层理论要求把文档、配置、控制面、运行代码和结果分开。TAD 字节存在、Join 发出、TIB 建立、MFIB 编程和接收者收到数据,是五个相连但不可替代的事实。草案最有价值的地方不是多出四个八位组,而是让分歧有机会显形;运营者必须保证这些证据没有在下一层消失。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
