了解组播集合点、共享树和集合点树
在共享树中,分布树的根是路由器,而不是主机,位于网络核心的某个位置。在主稀疏模式组播路由协议(协议无关组播稀疏模式 (PIM SM) )中,共享树根目录下的核心路由器是集合点 (RP)。来自上游源的数据包和来自下游路由器的加入消息在此核心路由器上“汇聚”。
在 RP 模型中,其他路由器不需要知道每个组播组的源地址。他们只需要知道 RP 路由器的 IP 地址。RP 路由器会发现所有组播组的源。
RP 模型将查找组播内容源的负担从每个路由器((S,G) 表示法)转移到网络(((*,G) 表示法只知道 RP)。RP 查找源的单播 IP 地址的确切方式各不相同,但必须有一些方法来确定特定组的组播内容的正确来源。
考虑一组组播路由器,对于某个组没有任何活动组播流量。当路由器了解到该组的感兴趣接收方位于其直接连接的子网之一上时,路由器会尝试将该组的分发树联接回 RP,而不是内容的实际源。
要加入共享树或在 PIM 稀疏模式下称为集合 点树 (RPT),路由器必须执行以下操作:
确定该组的 RP 的 IP 地址。确定地址可以像路由器中的静态配置一样简单,也可以像一组嵌套协议一样复杂。
为该组构建共享树。路由器对其路由表中的 RP 地址执行 RPF 检查,生成最接近 RP 的接口。路由器现在检测到来自此组的此 RP 的组播数据包需要流入此 RPF 接口上的路由器。
使用正确的组播协议(可能是 PIM 稀疏模式)在此接口上发送加入消息,通知上游路由器它要加入该组的共享树。此消息是 (*,G) 联接消息,因为 S 未知。只有 RP 是已知的,RP 实际上并不是组播数据包的来源。接收 (*,G) 加入消息的路由器将接收消息的接口添加到组的传出接口列表 (OIL) 中,并对 RP 地址执行 RPF 检查。然后,上游路由器从 RPF 接口向源发送 (*,G) 加入消息,通知上游路由器它也要加入该组。
每个上游路由器重复此过程,从 RPF 接口传播加入消息,并在此过程中构建共享树。当加入消息到达以下项之一时,该过程将停止:
要加入的组的 RP
RPT 上的路由器,其已对要加入的组具有组播转发状态
在任一情况下,都会创建分支,数据包可以从源流向 RP,再从 RP 流向接收方。请注意,不能保证共享树 (RPT) 是到源的最短路径树。很可能不是。但是,有一些方法可以在数据包流开始后将共享树“迁移”到 SPT。换句话说,转发状态可以从 (*,G) 转换为 (S,G)。这两种树的形成在很大程度上取决于 RPF 检查和 RPF 表的操作。