PIM协议(PIM-DM、PIM-SM)

时间:2024-04-07 19:31:00

PIM协议(protocal independent multicast)
直接利用单播路由表的路由信息进行组播报文RDF检查,创建组播路由表项,转发组播报文

PIM-DM:
采用“push”模式,转发组播报文
关键任务:建立SPT(shortest path tree最短路径树)
工作机制:
邻居发现:hello报文,选举查询器DR(优先级高或IP地址大)
hello报文的默认周期是30s,超时时间是105s
扩散和剪枝
状态刷新:周期性刷新剪枝状态
嫁接
断言
PIM协议(PIM-DM、PIM-SM)
注:为了防止组播报文在转发过程中出现重复报文及环路的情况,路由器必须执行RPF检查

嫁接:graft机制:快速加入组播组
PIM协议(PIM-DM、PIM-SM)
断言:Assert机制:避免重复报文
发送相同组播报文的路由器之间进行查询器的选举
规则:比较协议优先级,优先级高的获胜
优先级一样,比较到组播源的开销,较小获胜
开销也一样,连接接收者的接口IP较大的获胜

PIM-DM的局限性:
适用于组播成员分布密集的网络
在稀疏网络中,扩散会给网络带来较大负担

PIM-SM
采用“pull”模式,转发组播报文
关键任务:建立SPT、RPT
适用于组播成员分布较稀疏的网络

汇聚点RP(Rendezvous point)
可以静态指定,动态选举
充当RPT树的根节点
共享树中所有的组播流量都经过RP转发
所有的PIM路由器都要知道RP位置

RPT的建立过程:
PIM协议(PIM-DM、PIM-SM)
1、主机加入某个组播组时,发送IGMP成员通告。
2、最后一跳路由器向RP发送(*,G)Join消息。
3、(,G)Join消息到达RP的过程中,沿途各路由器都会生成相应的(,G)组播转发条目。

SPT建立过程:
PIM协议(PIM-DM、PIM-SM)
1、组播源向组播组发送第一个组播报文。
2、源端DR将该组播报文封装成Register报文并以单播方式发送给相应的RP。
3、RP收到注册消息后,一方面从Register消息中提取出组播报文,并将该组播报文沿RPT分
支转发给接收者。
4、另一方面,RP向源端DR发送(S,G)Join消息,沿途路由器上都会生成相应(S,G)表项。
从而建立了一颗由组播源至RP的SPT树。
5、SPT树建立后,组播源发出的组播报文沿该SPT转发至RP。
6、RP沿SPT收到该组播报文后,向源端DR单播发送Register-stop消息。

switchover机制:解决PIM-SM中次优路径问题
PIM协议(PIM-DM、PIM-SM)
注:PIM-SM通过指定一个利用带宽的SPT阈值可以实现RPT到SPT的切换。

RP的动态选举:
在规模较大的PIM-SM域中,配置多个C-RP(Candidate RP,候选RP),通过之举机制动态选举RP,使不同RP服务于不同的组播组,此外还需要配置C-BSR(Bootstrap Router 自举路由器),一个PIM-SM中只有一个BSR,一旦BSR故障,其他的C-BSR重新选举BSR
BSR收集C-RP发的Advertisement Message报文,该报文携带地址,优先级和服务的组范围,BSR进行汇总成RP-set,然后封装在自举报文(Bootstrap Message)中,发送到PIM-SM域中
各路由器根据收到的RP-set信息,在C-RP中选举出RP
选举规则:
1、根据C-RP的服务组范围,范围小的获胜
2、范围相同,根据C-RP的优先级,优先级高的获胜
3、优先级也相同,进行哈希函数计算,哈希值大的获胜
4、哈希值相同,IP地址较大的获胜