组播实验-PIM SM、BSR、PIM SSM
4台路由器都运行OSPF,所有设备均创建Loopback0,IP地址为10.0.x.x/32,其中x为设备编号。R1模拟组播组239.0.0.12的源,R4上使用GE0/0/1接口模拟组播组239.0.0.12的接收者。
R3被规划为该网络的RP,采用BSR的方式选举R3为RP。
参考链接:http://e.huawei.com
实验任务:
①设备基础IP地址配置。
②配置R1、R2、R3、R4之间的OSPF,在互联接口、Loopback0接口上激活OSPF。
③开启路由器的组播路由功能,部署PIM-SM,在相应接口上开启PIM-SM。
④部署BSR,将R2的Loopback0接口配置为BSR,R3的Loopback0接口配置为RP。
⑤观察各个设备的PIM-SM路由表,使用ping multicast触发RPT向SPT切换,之后再次查看PIM-SM路由表。
⑥将R4的GE0/0/1接口IGMP模式切换为Version 3,静态加入组播组232.0.0.12,查看形成的PIM-SM SSM路由表。
任务步骤:
①互联接口、环回口IP地址配置
# 设备命名
AR1:
<Huawei>system-view
[Huawei]sysname AR1
R2、R3、R4相同操作,不再重复。
# 配置R1 GE0/0/0接口、LoopBack0接口IP地址
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 10.0.12.1 24
[AR1-GigabitEthernet0/0/0]interface LoopBack 0
[AR1-LoopBack0]ip address 10.0.1.1 32
# 配置R2 GE0/0/0接口、GE0/0/1接口、GE0/0/2接口、LoopBack0接口IP地址
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 10.0.12.2 24
[AR2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 10.0.23.2 24
[AR2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[AR2-GigabitEthernet0/0/2]ip address 10.0.24.2 24
[AR2-GigabitEthernet0/0/2]interface LoopBack 0
[AR2-LoopBack0]ip address 10.0.2.2 32
# 配置R3 GE0/0/0接口、GE0/0/1接口、LoopBack0接口IP地址
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]ip address 10.0.34.3 24
[AR3-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]ip address 10.0.23.3 24
[AR3-GigabitEthernet0/0/1]interface LoopBack 0
[AR3-LoopBack0]ip address 10.0.3.3 32
# 配置R4 GE0/0/0接口、GE0/0/2接口、LoopBack0接口IP地址
[AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]ip address 10.0.34.4 24
[AR4-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/2
[AR4-GigabitEthernet0/0/2]ip address 10.0.24.4 24
[AR4-GigabitEthernet0/0/2]interface LoopBack 0
[AR4-LoopBack0]ip address 10.0.4.4 32
# 在R2、R3上检测互联地址连通性
②配置R1、R2、R3、R4之间的OSPF
R1、R2、R3、R4使用Loopback0接口地址作为Router ID,在各个设备的互联接口、Loopback0接口激活OSPF。
# 配置R1
[AR1]ospf router-id 10.0.1.1
[AR1-ospf-1]area 0
[AR1-ospf-1-area-0.0.0.0]network 10.0.1.1 0.0.0.0
[AR1-ospf-1-area-0.0.0.0]network 10.0.12.1 0.0.0.0
# 配置R2
[AR2]ospf router-id 10.0.2.2
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 10.0.12.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 10.0.23.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 10.0.24.2 0.0.0.0
# 配置R3
[AR3]ospf router-id 10.0.3.3
[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]network 10.0.23.3 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]network 10.0.34.3 0.0.0.0
# 配置R4
AR4]ospf router-id 10.0.4.4
[AR4-ospf-1]area 0
[AR4-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0
[AR4-ospf-1-area-0.0.0.0]network 10.0.24.4 0.0.0.0
[AR4-ospf-1-area-0.0.0.0]network 10.0.34.4 0.0.0.0
# 在R2、R3上检查OSPF邻居状态
从输出信息可以得知OSPF邻居已经全部正常建立。
# 在R4上查看OSPF路由表
从输出信息可以得知R4已经学习到了全网的路由。
③部署PIM-SM
在所有路由器上开启组播路由功能,在需要运行PIM-SM的接口下开启组播路由协议。
# 开启组播路由功能
[AR1]multicast routing-enable
[AR2]multicast routing-enable
[AR3]multicast routing-enable
[AR4]multicast routing-enable
# 在R1相应接口上开启PIM-DM
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]pim sm
[AR1-GigabitEthernet0/0/0]interface LoopBack 0
[AR1-LoopBack0]pim sm
# 在R2相应接口上开启PIM-DM
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]pim sm
[AR2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]pim sm
[AR2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[AR2-GigabitEthernet0/0/2]pim sm
# 在R3相应接口上开启PIM-DM
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]pim sm
[AR3-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]pim sm
# 在R4相应接口上开启PIM-DM
[AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]pim sm
[AR4-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/2
[AR4-GigabitEthernet0/0/2]pim sm
# 在R2、R3上检查PIM的邻居关系
路由器之间已经建立正确的PIM邻居关系。
④部署BSR
部署BSR,通过调整优先级让R3成为RP,R2成为BSR。
# 配置R2的Loopback0接口为BSR
[AR2]interface LoopBack 0
[AR2-LoopBack0]pim sm
[AR2-LoopBack0]pim
[AR2-pim]c-bsr priority 100
[AR2-pim]c-bsr LoopBack 0
注意,需要在Loopback0接口上启用PIM-SM。
# 配置R3的Loopback0接口成为RP,指定RP所服务的组播组为239.0.0.12
[AR3]interface LoopBack 0
[AR3-LoopBack0]pim sm
[AR3-LoopBack0]acl 2000
[AR3-acl-basic-2000]rule permit source 239.0.0.12 0.0.0.0
[AR3-acl-basic-2000]pim
[AR3-pim]c-rp LoopBack 0 group-policy 2000 priority 100
注意,需要在Loopback0接口上启用PIM-SM。
# 在R4上查看BSR、RP信息
C-BSR、C-RP只有一台,R2、R3分别成为BSR、RP,组播组239.0.0.12的RP为10.0.3.3。
⑤观察PIM路由表
在R4上使用GE0/0/1接口模拟组播组239.0.0.12的接收者,分别在R3、R4查看PIM路由表。之后修改SPT切换阈值,重新触发组播流量再次查看PIM路由表。
# 在R4的GE0/0/1接口上开启IGMP,并配置静态组播组模拟组播接收者
[AR4]interface GigabitEthernet 0/0/1
[AR4-GigabitEthernet0/0/1]ip address 192.168.1.1 24
[AR4-GigabitEthernet0/0/1]igmp enable
[AR4-GigabitEthernet0/0/1]igmp static-group 239.0.0.12
注意接口需要配置IP地址,并且为Up状态。
# 查看R4的PIM路由表
R4上前往的RP(10.0.3.3)的路由出接口为GE0/0/0,因此R4将GE0/0/0接口指定为(*,239.0.0.12)的上游接口,从上游接口发送PIM加入报文。
# 查看R3的PIM路由表
R3为RP,无需向上游发送加入报文,到目前为止暂未有组播源向该RP注册,所以上游接口依旧为空。
# 在R1上使用ping multicast命令模拟组播组239.0.0.12的组播源,发送组播数据
[AR1]ping multicast -c 10 239.0.0.12
# 等待网络稳定之后查看R4的PIM路由表
R4上Flag为ACT的为(S,G)表项,代表真正指导转发的为(S,G)表项,同时上游接口不再是连接R3的GE0/0/0,而是连接R2的GE0/0/2,此时RPT(共享树)已经切换成为SPT(最短路径树)。
# 在R4上修改SPT切换阈值
[AR4-pim]spt
[AR4-pim]spt-switch-threshold infinity
修改为永不切换。
# 在R1上使用ping multicast命令模拟组播组239.0.0.12的组播源,发送组播数据
[AR1]ping multicast -c 10 239.0.0.12
# 在R4上查看PIM路由表
此时R4的上游接口依旧为GE0/0/3,(S,G)表项的路径依旧为沿着RP到组播源,RPT并未向SPT切换。
⑥部署PIM-SSM
将R4 GE0/0/1接口的IGMP版本修改为Version 3,配置静态加入SSM组播组232.0.0.12。
# 修改GE0/0/1接口配置
[AR4]interface GigabitEthernet 0/0/1
[AR4-GigabitEthernet0/0/1]igmp version 3
[AR4-GigabitEthernet0/0/1]igmp static-group 232.0.0.12 source 10.0.1.1
注意,在默认配置下,SSM组策略中的组播组地址范围为232.0.0.0/8,如果配置的静态加入的组播组地址不在该范围内,则无法形成PIM-SSM表项。
# 查看R4的PIM路由表
在R4上可以看到,还未有流量触发,形成的表项已经是(S,G),并且协议为PIM-SSM,上游为R2。
# 查看R2的PIM路由表
协议为PIM-SSM,上游为R1。
思考:
相比较于PIM-DM,PIM-SM的优点有哪些?
PIM-SM采用“推”的模式,当存在组播接收者时才构建组播转发路径,设备资源消耗少、链路带宽开销较小。
配置参考:
AR1:
#
sysname AR1
#
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
pim sm
#
interface LoopBack0
ip address 10.0.1.1 255.255.255.255
pim sm
#
ospf 1 router-id 10.0.1.1
area 0.0.0.0
network 10.0.1.1 0.0.0.0
network 10.0.12.1 0.0.0.0
#
AR2:
#
sysname AR2
#
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
pim sm
#
interface GigabitEthernet0/0/1
ip address 10.0.23.2 255.255.255.0
pim sm
#
interface GigabitEthernet0/0/2
ip address 10.0.24.2 255.255.255.0
pim sm
#
interface LoopBack0
ip address 10.0.2.2 255.255.255.255
pim sm
#
ospf 1 router-id 10.0.2.2
area 0.0.0.0
network 10.0.2.2 0.0.0.0
network 10.0.12.2 0.0.0.0
network 10.0.23.2 0.0.0.0
network 10.0.24.2 0.0.0.0
#
pim
c-bsr priority 100
c-bsr LoopBack0
#
AR3:
#
sysname AR3
#
acl number 2000
rule 5 permit source 239.0.0.12 0
#
interface GigabitEthernet0/0/0
ip address 10.0.34.3 255.255.255.0
pim sm
#
interface GigabitEthernet0/0/1
ip address 10.0.23.3 255.255.255.0
pim sm
#
interface LoopBack0
ip address 10.0.3.3 255.255.255.255
pim sm
#
ospf 1 router-id 10.0.3.3
area 0.0.0.0
network 10.0.3.3 0.0.0.0
network 10.0.23.3 0.0.0.0
network 10.0.34.3 0.0.0.0
#
pim
c-rp LoopBack0 group-policy 2000 priority 100
#
AR4:
#
sysname AR4
#
interface GigabitEthernet0/0/0
ip address 10.0.34.4 255.255.255.0
pim sm
#
interface GigabitEthernet0/0/1
ip address 192.168.1.1 255.255.255.0
igmp enable
igmp version 3
igmp static-group 239.0.0.12
igmp static-group 232.0.0.12 source 10.0.1.1
#
interface GigabitEthernet0/0/2
ip address 10.0.24.4 255.255.255.0
pim sm
#
interface LoopBack0
ip address 10.0.4.4 255.255.255.255
pim sm
#
ospf 1 router-id 10.0.4.4
area 0.0.0.0
network 10.0.4.4 0.0.0.0
network 10.0.24.4 0.0.0.0
network 10.0.34.4 0.0.0.0
#
pim
spt-switch-threshold infinity
#