PIM Protocols
Protocol Independent Multicast协议无关组播(协议)
目的:构造组播分发树/MDT,但是拥有两种工作模式:
Dense-mode:假设组播协议邻居都对组播流量感兴趣,源树是在这种模式下实现组播通信的唯一方式
Sparse-mode:假设组播协议邻居都对组播流量不感兴趣;如果某个邻居感兴趣一定要明确说明,该模式下需要源树和共享树的结合才能完成组播流的通信
Dense-mode Uses “Push” Model
Sparse-mode Uses “Pull” Model
PIM-DM(Dense-mode)
不需要该流量的设备:Purning
为了维护分发树,所以每隔3min泛洪一次,因此不接受组播流量的设备再次修剪一次,从而导致资源浪费
PIM-SM
Support both source and shared trees
Senders are "registered" with RP by their first-hop router
Receivers are "joined" to the Shared Tree (root at the RP) by their local Designated Router(DR)
DR作用:The DR is respinsible for sending all Joins and Register messages for any receivers or senders on the network(DR负责发送Joins和Register消息)
PIM-SM RPT形成过程
(1)最后一跳路由器从接收者接收到IGMP report消息
创建RPT分支
将接收到report接口放入RPT的OIL中
本网段的DR向RP方向逐跳join(*,G)
(2)上游路由器接收到最后一跳路由器的(*,G)join
创建RPT分支
将接收到(*,G)接口放入RPT的OIL中
本路由器向RP方向逐跳join(*,G)
一直到RP位置,由RP反向形成完成的RPT
DR是用来触发源和共享树的形成
PIM-SM SPT形成过程
(1)第一跳路由器收到发送者的第一份组播流
创建SPT分支,但OIL为空
因为第一跳路由器知道RP,所以用单播的方式封装原始组播包向RP发送(S,G)的register消息
(2)RP收到第一跳路由器的(S,G)注册消息
解封装
RPF校验
通过校验则向RPT的OIL发送组播流,否则丢弃
RP向源方向join(S,G)
一直到源为止,由源反向形成完整的SPT
RP可以从两个方向接收组播数据(单播的封装和SPT的下发)
当RP从SPT接收到第一个组播包,就会向第一跳路由器发送register-stop消息