独立组播协议(PIM)有两种模式:稀疏模式和密集模式。稀疏模式独立组播协议简称PIM-SM。
PIM独立组播协议
PIM(Protocol Independent Multicast)是一种组播路由协议。
PIM不依赖于某一特定的
单播路由协议,它可以利用任意单播路由协议建立的单播路由表完成RPF检查功能,从而建立组播路由。由于PIM无需收发组播路由更新,所以与其它组播路由协议相比,PIM开销降低了许多。
PIM定义了两种模式:稠密模式(Dense Mode)、稀疏模式(Sparse Mode)。PIM-DM(Protocol Independent Multicast-Dense Mode),即PIM的稠密模式,适用于网络规模比较小、组播成员相对集中的情况。PIM-DM在RFC 3973文档中定义。
PIM-DM设备之间通过Hello消息来发现邻居。一旦PIM-DM设备启动,它就周期性地在每个配置了PIM-DM的接口上发送Hello消息。Hello消息有一个保持时间(Hello Hold Time)字段,这个时间参数定义了邻居等待下一个Hello消息的最长时间。如果邻居在这个时间内没有收到另一个Hello消息,就会将这个设备从邻居关系表中删除。
协议简介
PIM-SM:稀疏模式独立组播协议
(PIM-SM:Protocol Independent Multicast-Sparse Mode)
使用以下7种PIMv2消息
Hello;
Bootstrap(引导);
Candidate-RP-Advertisement(候选RP通告);
Join/Prune(加入/剪出);
Assert(声明);
Register(注册);
Register-Stop(注册终止);
其中Bootstrap(引导),Candidate-RP-Advertisement(候选RP通告),Register(注册),Register-Stop(注册终止)是PIM-SM特有消息。其余3条在PIM-DM也有。
PIM-SM 是一种能有效地将IP报文
路由到跨越大范围网络(WAN 和域间)组播组的协议,而
PIM-DM 主要用于局域网。PIM-SM 协议不依赖于任何特定的
单播路由协议,主要被设计来支持稀疏组。它使用了传统的基于接收初始化成员关系的 IP 组播
模型,支持共享和
最短路径树,此外它还使用了软状态
机制,以适应不断变化的网络环境。它可以使用由任意
路由协议输入到组播路由信息库(RIB)中的路由
信息,这些路由协议包括
单播协议如
路由信息协议(RIP)和开放最短路径优先(OSPF),还包括能产生
路由表的组播协议如
距离矢量组播路由协议 (DVMRP) 。
协议结构
PIM version Type Reserved (Address length) Checksum:
1)PIM Version ― 当前PIM版本号为2。
2)Type ― 特定 PIM 信息类型。
3)Address Length ― 地址大小(二进制形式)。
4)Reserved ― 该字段值设为0,在接收端忽略。
5)Checksum ― 16位字段是整个 PIM 信息的补充总和。
系统支持
PIM-SM 主要支持以下方面:
1.维护 IP 组播服务模式(基于接收端启动的组播组成员关系)。
在该模式中,源端只需要将
数据包放到第一跳以太网上,而不需要任何信令。接收端将给
路由器发信令,以便加入到接收该数据的组播组中。
2.保持主机模型不变。
PIM-SM 是一个路由器到路由器的协议,这意味着主机不需要升级,只是需要在网络中配置支持 PIM-SM 的路由器。
3.支持共享和源分配树。
对于共享树,PIM-SM 使用名为 Rendezvous Point (RP)的中心路由器,作为共享树的根。所有源
主机都将它们的组播通信发送给 RP,RP 将依次通过通用数将这些包转发给组的所有成员。源树将源端和接受端直接相连,每个源端都有一棵单独的树。从
单播路由表来看,每棵源树都是
最短路径树。PIM-SM 可以使用其中一种类型的树,或者同时使用两者。
5.使用软状态机制,以适应不断变化的网络环境和组播组。
软状态意思是,除非被刷新,否则
路由器的状态配置是短期的,并在一段时间后失效。
当前 PIM-SM 有两种版本。我们主要关注第二版本,其应用较为广泛。