PIM:ProtocolIndependent Multicast
独立组播路由协议
PIM 不依赖于某一特定的单播路由协议,它可以利用任意单播路由协议建立的单播路由表完成RPF检查功能,从而建立组播路由。由于PIM无需收发组播路由更新,所以与其它组播路由协议相比,PIM开销降低了许多。
PIM 定义了两种模式:稠密模式(Dense Mode)、稀疏模式(Sparse Mode)。PIM-DM(ProtocolIndependent Multicast-Dense Mode),即PIM的稠密模式,适用于网络规模比较小、组播成员相对集中的情况。PIM-DM在RFC3973文档中定义。
PIM-DM设备之间通过Hello消息来发现邻居。一旦PIM-DM设备启动,它就周期性地在每个配置了PIM-DM的接口上发送Hello消息。Hello消息有一个保持时间(HelloHoldTime)字段,这个时间参数定义了邻居等待下一个Hello消息的最长时间。如果邻居在这个时间内没有收到另一个Hello消息,就会将这个设备从邻居关系表中删除。
PIM-SM是一种能有效地将IP报文路由到跨越大范围网络(WAN 和域间)组播组的协议,而 PIM-DM 主要用于局域网。PIM-SM协议不依赖于任何特定的单播路由协议,主要被设计来支持稀疏组。它使用了传统的基于接收初始化成员关系的 IP组播模型,支持共享和最短路径树,此外它还使用了软状态机制,以适应不断变化的网络环境。
PIM-SM 使用名为Rendezvous Point (RP)的中心路由器,作为共享树的根。所有源主机都将它们的组播通信发送给 RP,RP将依次通过通用数将这些包转发给组的所有成员。源树将源端和接受端直接相连,每个源端都有一棵单独的树。从单播路由表来看,每棵源树都是最短路径树。PIM-SM可以使用其中一种类型的树,或者同时使用两者。首先比较C-RP的优先级,优先级较高者获胜。再比较Hash函数计算的哈希值,值较大者获胜。最后比较C-RP地址,值较大者获胜。