1.PIM基础介绍
(1)组播网络基本架构回顾
(2)组播数据转发流程回顾
(3)组播协议介绍回顾
(4)PIM协议介绍
⦁ PIM(Protocol Independent Multicast)协议无关组播,目前常用版本是PIMv2,PIM报文直接封装在IP报文中,协议号为103,PIMv2组播地址为224.0.0.13。
⦁ 在PIM组播域中,以组播组为单位建立从组播源到组成员的点到多点的组播转发路径。由于组播转发路径呈现树型结构,也称为组播分发树(MDT,Multicast Distribution Tree)。
⦁ 组播分发树的特点:
⦁ 无论网络中的组成员有多少,每条链路上相同的组播数据最多只有一份。被传递的组播数据在距离组播源尽可能远的分叉路口才开始复制和分发。
(5)PIM-DM与PIM-SM使用场景
(6)组播分发树的分类
⦁ SPT又被称为源树,SPT在PIM-DM模式与PIM-SM模式的组播网络中均有使用。
⦁ RPT又被称为共享树,RPT主要在PIM-SM模式的组播网络中被使用。
(7)PIM路由表项
(8)PIM路由表项
(9)PIM路由表项和组播路由表项
2.PIM-DM介绍
(1)PIM-DM基本概念
(2)PIM-DM协议报文
(3)邻居发现
⦁ Hello报文中携带多项PIM协议报文参数,主要用于PIM邻居之间PIM协议报文的控制。具体如下:
⦁ DR_Priority:表示各路由器接口竞选DR的优先级,优先级越高越容易获胜。
⦁ Holdtime:表示保持邻居为可达状态的超时时间。如果在超时时间内没有收到PIM邻居发送的Hello报文,路由器则认为邻居不可达。
⦁ LAN_Delay:表示共享网段内传输Prune报文的延迟时间。
⦁ Neighbor-Tracking:表示邻居跟踪功能。
⦁ Override-Interval:表示Hello报文中携带的否决剪枝的时间间隔。
(4)首次形成组播分发树
(5)扩散机制
⦁ 扩散机制会周期性(默认180s)全网扩散组播数据,周期性扩散的主要目的是探测是否有新成员加组,但是由于全网扩散组播数据会浪费大量带宽,所以现在的组播网络一般使用“状态刷新机制”加上“嫁接机制”来实现周期性全网扩散感知新成员加组的目的。
(6)断言机制
(7)断言机制选举规则
⦁ Assert选举失败的设备会抑制转发,并将这种抑制转发的状态保持一段时间,这段时间就被称为Assert保持时间,默认180s。
⦁ Assert保持时间超时后,竞选失败的设备会恢复转发从而触发新一轮竞选。
(8)剪枝机制
⦁ 路由器为被裁剪的下游接口启动一个剪枝定时器(默认210s),定时器超时后接口恢复转发。组播报文重新在全网范围内扩散,新加入的组成员可以接收到组播报文。随后,下游不存在组成员的叶子路由器将向上发起剪枝操作。通过这种周期性的扩散-剪枝,PIM-DM周期性的刷新SPT。
⦁ 当下游接口被剪枝后:
⦁ 如果下游叶子路由器有组成员加入,并且希望在下次“扩散-剪枝”前就恢复组播报文转发,则执行嫁接动作。
⦁ 如果下游叶子路由器一直没有组成员加入,希望该接口保持抑制转发状态,则执行状态刷新动作。
(8)维护组播分发树
(9)状态刷新机制
(10)新成员加组
(11)嫁接机制
3.PIM-SM介绍
(1)PIM-DM的局限性
(2)PIM-SM(ASM)介绍
⦁ 通过PIM-SM(ASM)模式形成组播分发树有如下好处:
⦁ 只有组播转发路劲上的组播路由器需要维护组播路由表。
⦁ 通过RP可以让所有组播路由器获知组成员的位置。
⦁ 避免“扩散-剪枝”机制,提高组播分发树的形成效率。
(3)PIM-SM(ASM)协议报文
(4)RP介绍
⦁ 静态RP或者是动态RP在设置时均可以指定该RP为哪些组播组提供服务。
(5)动态选举RP
⦁ BSR竞选规则如下:
⦁ 优先级较高者获胜(优先级数值越大优先级越高)。
⦁ 如果优先级相同,IP地址较大者获胜。
⦁ RP竞选规则如下:
⦁ 与用户加入的组地址匹配的C-RP服务的组范围掩码最长者获胜。
⦁ 如果以上比较结果相同,则C-RP优先级较高者获胜(优先级数值越小优先级越高)。
⦁ 如果以上比较结果都相同,则执行Hash函数,计算结果较大者获胜。
⦁ 如果以上比较结果都相同,则C-RP的IP地址较大者获胜。