HCIP-20.6 PIM SM
一、PIM-DM的局限性
PIM-DM适用于组播成员分布较为秘籍的园区网络
在组播成员分布较为稀疏的网络中,组播零流量的周期性扩展会给网络带来较大的负担。
- PIM-DM适用于组播成员分布较为密集的园区网络
- 在组播成员分布相对较为稀疏的大规模网络中(Internet),组播流量的周期性扩散/剪枝将给网络带来较大的负担
- 对于PIM-DM的局限性,PIM-SM可以提供相对更加有效的解决方案
二、PIM-SM基本概述
(1)使用“拉(Pull)模式”转发组播报文
(2)PIM-SM的关键任务
- 建立RPT(Rendezvous Point Tree,汇聚点树也称共享树)
- 建立SPT(Shortest Path Tree,最短路径树)
(3)适用于组播成员分散比较稀疏的网络环境
(4)相对于PIM-DM的“推(Push)模式”,PIM-SM使用“拉(Pull)模式”转发组播报文。
- PIM-SM假设网络中的组成员分布非常稀疏,几乎所有网段均不存在组成员,知道某网段出现组成员时,才构建组播路由,向该网段转发组播数据,一般应用于组播组成员规模相对较大,相对稀疏的网络。
(5)基于这一种稀疏的网络模型,它的实现方法是:
- 在网络中维护一台重要的PIM路由器:汇聚点(Rendezvous Point)可以为随时出现的组成员或组播源服务,网络中所有的PIM路由器都知道RP的位置。
- 当网络中出现组成员(用户主机通过IGMP加入某组播组G)时,最后一跳路由器向RP发送Join报文,逐跳创建 ( * , G )表项,生成一棵以RP为根的RPT。
- 当网络中出现活跃的组播源(信源向某组播组G发送第一个组播数据)时,第一跳路由器将组播数据封装在Register报文中,单播发往RP,在RP上创建( S , G )表项,注册源信息。
三、汇聚点RP(Rendezvous Point)
- 充当RPT树的跟节点
- 共享树中的所有组播组流量都经过RP转发给接收者
- 所有PIM路由器都要知道RP的位置
RP可以静态指定,也可以动态选举
(1)静态指定是指由管理员在每台PIM-SM路由器上进行配置,是的每台路由器获知RP的位置。
(2)动态选举是指通过专用协议在若干台C-RP(Candidate-RP)中选举产生,管理员需要开启选举协议并配置若干台PIM-SM路由器称为C-RP。
RP配置方式建议:
- 中小型网络: 建议选择静态RP方式,对设备要求低,也比较稳定。
- 如果网络中只有一个组播源,建议选择直连组播源的设备作为静态RP,这样可以省略源端DR向RP注册的过程。
- 采用静态RP方式要确保域内所有路由器(包括RP本身)的RP信息以及服务的组播组范围全网一致。
- 大型网络: 可以采用动态RP方式,可靠性高,可维护性强。
- 如果网络中存在多个组播源,且分布密集,建议选择与组播源比较近的核心设备作为C-RP;如果网络中存在多个用户,且分布密集,建议选择与用户比较近的核心设备作为C-RP。
配置示例
R1:
multicast routing-enable
int g0/0/1
pim sm
int g0/0/0
pim sm
int g0/0/2
pim sm
R3:
multicast routing-table
int g0/0/1
pim sm
int g0/0/2
pim sm
int g0/0/0
pim sm
其他路由器配置类似,略
R5:
multicast routing-enable
int g0/0/1
pim sm
int g0/0/2
pim sm
int g0/0/0
igmp enable
R6:
multicast routing-enable
int g0/0/0
pim sm
#
int g0/0/1
igmp enable
————– 此时没有RP,组播流量无法下发 ————–
在所有路由器上指定4.4.4.4 为静态RP,R4自己也要指定
pim
static-rp 4.4.4.4 # R4 loopback 接口地址
dis pim routing-table
四、RPT建立过程
RPT建立过程:
(1)主机加入某个组播组时,发送IGMP成员通告
(2)最后一跳路由器向RP发送 (*,G)Join消息
(3)(*,G)Join消息到达RP过程中,沿途各个路由器都会生成相应的(*,G)组播转发条目
RPT实现了组播数据按需转发的目的,减少了数据泛洪对网络带宽的占用。
五、组播接收者侧DR与组播源侧DR
(1)运行PIM-SM的网络,都会进行DR(Designated Router)的选举。其中有两种DR分别称为接收者侧DR和组播源侧DR
- 组播接收者侧DR:与组播组成员相连的DR,负责向RP发送( * , G )的Join消息
- 组播源侧DR:与组播源相连的DR,负责向RP发送单播Register消息
(2)PIM-SM中DR选举原则与PIM-DM相同
六、SPT建立过程
如图所示,在PIM-SM网络中,任何一个新出现的组播源都必须在RP处“注册”,继而才能将组播报文传输到组成员
(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消息
七、PIM-SM的转发树
PIM-SM同时包含了SPT和RPT,通常情况下,组播源发出的组播报文会沿SPT到达RP,然后从RP沿RPT到达接收者。
在这种情况下,从组播源到接收者的路径不一定是最优的,并且RP的工作负担非常大,为此我们可以启用RPT向SPT进行切换的机制。
八、Switchover机制
(1)PIM-SM通过指定一个利用带宽SPT阈值可以实现RPT切换到SPT。
(2)用户端DR周期性检测组播报文的转发速率,一旦发现从RP发往组播组G的报文速率超过阈值,则触发SPT切换。
( * , G )与( S , G )条目关系
–
R6:
int loo 0
igmp enable
igmp static-group 239.5.5.5
R6连接重要用户网络,当用户加入到组播组239.5.5.5后,马上就能收到组播数据。
可在静态接口或环回口下配置静态加入到239.5.5.5
IGMP-Snooping配置:
igmp-snooping enable
vlan 10
igmp-snooping en