mthoutai

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

设备连接方式如图所示,4台路由器运行OSPF,均创建Loopback0,IP地址为10.0.x.x/32,x为设备编号。

4台路由器构成一个组播网络,R1作为第一跳路由器连接组播源239.0.0.12,R4作为最终一跳路由器连接组播组239.0.0.12的接收者,为了能够让组播源的流量顺利被R4上的组播组成员接收,在每台路由器上均部署PIM-DM,并在R4的GE0/0/1接口上激活IGMPv2。

同时为了优化交换机S2上的组播流量转发行为,在S2上部署IGMP Snooping并手动指定其路由器接口、成员接口。

参考链接:http://e.huawei.com

实验任务:

①设备基础IP地址配置。

②配置R1、R2、R3、R4之间的OSPF,在互联接口、LoopbackO接口上激活OSPF。开启路由器的组播路由功能,部署PIM-DM,在相应接口上开启PIM-DM

③在R1上模拟组播源发送组播内容,观察各个路由器的PIM路由表。

④修改R3的GE0/0/1接口OSPF Cost值,影响断言机制选举结果,之后再次查看R2、R3的PIM路由表。

⑤在S2上配备IGMP Snooping,手动配置路由器端口、成员端口。

任务步骤:

①互联接口、环回口IP地址安装

# 设备命名

AR1:

<Huawei>system-view

[Huawei]sysname AR1

R2、R3相同操作,不再重复。

# 配置R1 GE0/0/0接口、GE0/0/1接口、LoopBack0接口IP地址

[AR1]interface GigabitEthernet 0/0/0

[AR1-GigabitEthernet0/0/0]ip address 10.0.12.1 24

[AR1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1

[AR1-GigabitEthernet0/0/1]ip address 10.0.13.1 24

[AR1-GigabitEthernet0/0/1]interface LoopBack 0

[AR1-LoopBack0]ip ad 10.0.1.1 32

# 配置R2 GE0/0/0接口、GE0/0/1接口、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.234.2 24

[AR2-GigabitEthernet0/0/1]interface LoopBack 0

[AR2-LoopBack0]ip address 10.0.2.2 32

# 安装R3 GE0/0/1接口、GE0/0/2接口、LoopBack0接口IP地址

[AR3]interface GigabitEthernet 0/0/1

[AR3-GigabitEthernet0/0/1]ip address 10.0.13.3 24

[AR3-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2

[AR3-GigabitEthernet0/0/2]ip address 10.0.234.3 24

[AR3-GigabitEthernet0/0/2]interface LoopBack 0

[AR3-LoopBack0]ip address 10.0.3.3 32

# 配置R4 GE0/0/0接口、GE0/0/1接口、LoopBack0接口IP地址

[AR4]interface GigabitEthernet 0/0/0

[AR4-GigabitEthernet0/0/0]ip address 10.0.234.4 24

[AR4-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1

[AR4-GigabitEthernet0/0/1]ip address 192.168.1.1 24

[AR4-GigabitEthernet0/0/1]interface LoopBack 0

[AR4-LoopBack0]ip address 10.0.4.4 32

# 在R1、R4上检查IP地址连通性

②配置OSPF

使用Loopback0接口地址作为Router lD,在互联接口、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

[AR1-ospf-1-area-0.0.0.0]network 10.0.13.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.234.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.13.3 0.0.0.0

[AR3-ospf-1-area-0.0.0.0]network 10.0.234.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.234.4 0.0.0.0

[AR4-ospf-1-area-0.0.0.0]network 192.168.1.1 0.0.0.0

# 在R1、R4上检查OSPF邻居状态

路由器之间的OSPF邻居已经全部正常建立。

# 在R4上查看OSPF路由表

R4上已经学习到全网的OSPF路由。

③部署PIM-DM

在所有路由器上开启组播路由功能,在需要运行PIM-DM的接口下开启组播路由协议。

# 开启组播路由功能

[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 dm

[AR1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1

[AR1-GigabitEthernet0/0/1]pim dm

# 在R2相应接口上开启PIM-DM

[AR2]interface GigabitEthernet 0/0/0

[AR2-GigabitEthernet0/0/0]pim dm

[AR2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1

[AR2-GigabitEthernet0/0/1]pim dm

# 在R3相应接口上开启PIM-DM

[AR3]interface GigabitEthernet 0/0/1

[AR3-GigabitEthernet0/0/1]pim dm

[AR3-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2

[AR3-GigabitEthernet0/0/2]pim dm

# 在R4相应接口上开启PIM-DM

[AR4]interface GigabitEthernet 0/0/0

[AR4-GigabitEthernet0/0/0]pim dm

[AR4-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1

[AR4-GigabitEthernet0/0/1]pim dm

# 在R1、R4上检查PIM邻居关系

R1与R2、R1R3、R4与R2及R3之间已经成功形成PIM邻居关系。

# 在R4的GE0/0/1接口上开启IGMP,并配置静态组播组模拟组播接收者

[AR4]interface GigabitEthernet 0/0/1

[AR4-GigabitEthernet0/0/1]igmp enable

[AR4-GigabitEthernet0/0/1]igmp static-group 239.0.0.12

# 在R4上查看IGMP接口信息

默认IGMP版本为V2,R4为IGMP查询者。

④观察PIM路由表

在R1上以Loopback0接口为源地址,向239.0.0.12发送ICMP数据包,模拟组播源,之后在4台路由器上查看PIM路由表。

# R1上模拟组播源,发送组播流量

[AR1]ping -a 10.0.1.1 -c 10 239.0.0.12

利用该命令实际上设备并不会对外发送组播流量,而是会触发PIM-DM的State-Refresh报文。

# PIM-DM State-Refresh报文内容

State-Refresh 报文中会携带组播源地址(10.0.1.1),组播组地址(239.0.0.12),下游设备收到后会创建(S,G)表项,并继续向下游发送State-Refresh报文。

# 在设备上查看State-Refresh报文发送情况

当已发送(sent)个数不为0时,再去查看下游的(S,G)表项,否则将无法看到内容。PIM-SM并无State-Refresh报文,因此无法应用该方式触发生成组播路由表。

# 之后查看4台路由器的PIM路由表

R1上(S,G)表项的入接口为Loopback0,因为组播源为设备直连,所以PRF邻居为NULL。下游接口为GE0/0/1,R1将组播流量转发给R3。

R2上并无下游接口。

R3的下游接口为GE0/0/2。

R2的PIM路由表中没有下游接口的原因。就是R2、R3的下游接口与R4的上游接口在同一个网段,此时触发断言机制,R2、R3通过各自的GE0/0/1接口和GE0/0/2接口发送断言报文进行选举,R2、R3到达组播源的单播路由拥有相同的路由优先级、单播路由开销值,但是R3的GE0/0/2接口拥有更大的IP地址(10.0.234.3,大于10.0.234.2),因此R3在断言选举中胜出,继续向R4转发组播流量,而R2不再从自己的GE0/0/1接口转发组播流量,这

R4的上游邻居为R3,自身为最后一跳路由器。

⑤修改IGP cost值,影响断言选举结果

在R3上修改GE0/0/1接口的OSPF cost值,使得R3到达组播源地址的单播路由拥有更大的开销值,从而在断言选举中失败,让R2变为断言选举胜出者。

# 在R2、R3上查看前往组播源地址10.0.1.1的路由开销值

R2、R3前往10.0.1.1的路由开销值都为1。

# 修改R3上 GE0/0/1接口的OSPF cost

[AR3]interface GigabitEthernet 0/0/1

[AR3-GigabitEthernet0/0/1]ospf cost 2

此时R3前往10.0.1.1的路由开销值为2。

# 为了更好地观察现象,修改R2、R3的GE0/0/1接口和GE0/0/2接口Assert状态的超时时间为10s

[AR2]interface GigabitEthernet 0/0/1

[AR2-GigabitEthernet0/0/1]pim holdtime assert 10

[AR3]interface GigabitEthernet 0/0/2

[AR3-GigabitEthernet0/0/2]pim holdtime assert 10

# 在R1上开启debugging pim join-prune receive,观察剪枝过程

<AR1>terminal debugging

<AR1>terminal monitor

<AR1>debugging pim join-prune receive

# 在R1上重新触发组播流量

[AR1]ping -a 10.0.1.1 -c 10 239.0.0.12

# 重新查看R2、R3的PIM路由表

此时R3上没有下游接口,R2为断言选举胜出者。

# 观察R1上的debug输出

Oct 7 2025 11:54:01.389.1-08:00 AR1 PIM/7/JP:(public net): PIM ver 2 JPreceiving 10.0.13.3-> 224.0.0.13 on GigabitEthernet0/0/1 (P013156)

Oct 7 2025 11:54:01.389.2-08:00 AR1 PIM/7/JP:(public net): Upstream 10.0.13.1, Groups 1, Holdtime 180 (P013160)

Oct 7 2025 11:54:01.389.3-08:00 AR1 PIM/7/JP:(public net):Group: 239.0.0.12/32--- 0 join1 prune(P013169)

Oct 7 2025 11:54:01.389.4-08:00 AR1 PIM/7/JP:(public net):Prune: 10.0.1.1/32(P013179)

Oct 7 2025 11:54:02.739.1-08:00 AR1 PIM/7/JP:(public net): PIM ver 2 JP receiving 10.0.12.2 -> 224.0.0.13 on GigabitEthernet0/0/0 (P013091)

Oct 7 2025 11:54:02.739.2-08:00 AR1 PIM/7/JP:(public net): Upstream 10.0.12.1, Groups 1, Holdtime 0 (P013097)

Oct 7 2025 11:54:02.739.3-08:00 AR1 PIM/7/JP:(public net): Group: 239.0.0.12/32 --- 1 join 0 prune (P013107)

Oct 7 2025 11:54:02.739.4-08:00 AR1 PIM/7/JP:(public net): Join: 10.0.1.1/32 (P013117)

在debug 中可以看到来自R3的prune报文,group为239.0.0.12,组播源为10.0.1.1。

⑥配置ooIGMP Snping

为了优化交换机S2对组播流量的转发行为,在S2上开启IGMP Snooping,并手动安装路由器端口、成员端口。

# 在全局、VLAN1中开启IGMP Snooping

[SW2]igmp-snooping enable

[SW2]vlan 1

[SW2-vlan1]igmp-snooping enable

[SW2-vlan1]quit

# 手动配置GE0/0/1为路由器端口

[SW2]interface GigabitEthernet 0/0/1

[SW2-GigabitEthernet0/0/1]igmp-snooping static-router-port vlan 1

# 手动调整GE0/0/10为组播组239.0.0.12的成员端口

[SW2]interface GigabitEthernet 0/0/10

[SW2-GigabitEthernet0/0/10]l2-multicast static-group group-address 239.0.0.12 vlan 1

[SW2-GigabitEthernet0/0/10]quit

# 查看S2的二层组播转发表

GE0/0/1为路由器端口,GE0/0/10为成员端口,注意该命令查看的结果要求存在Up状态的成员接口,应该在GE0/0/10上连接设备,使接口为Up状态。

思考:

PIM的DM模式应用在大规模网络上,有哪些劣势?

PIM-DM只适用于组播接受者较为密集的小型网络中,它采用粗犷的方式将组播流量先扩散到全网,不需要组播流量的分支通过协议报文将自己从SPT上剪除,这在接收者较为分散的大型网络中会导致大量的不必要组播流量、频繁地组播协议报文的交互,对链路带宽、设备资源造成不必要的浪费。

配置参考:

AR1

#

sysname AR1

#

interface GigabitEthernet0/0/0

ip address 10.0.12.1 255.255.255.0

pim dm

#

interface GigabitEthernet0/0/1

ip address 10.0.13.1 255.255.255.0

pim dm

#

interface LoopBack0

ip address 10.0.1.1 255.255.255.255

#

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

network 10.0.13.1 0.0.0.0

#

AR2

#

sysname AR2

#

interface GigabitEthernet0/0/0

ip address 10.0.12.2 255.255.255.0

pim dm

#

interface GigabitEthernet0/0/1

ip address 10.0.234.2 255.255.255.0

pim holdtime assert 10

pim dm

#

interface LoopBack0

ip address 10.0.2.2 255.255.255.255

#

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.234.2 0.0.0.0

#

AR3

#

sysname AR3

#

interface GigabitEthernet0/0/1

ip address 10.0.13.3 255.255.255.0

pim dm

ospf cost 2

#

interface GigabitEthernet0/0/2

ip address 10.0.234.3 255.255.255.0

pim holdtime assert 10

pim dm

#

interface LoopBack0

ip address 10.0.3.3 255.255.255.255

#

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.13.3 0.0.0.0

network 10.0.234.3 0.0.0.0

#

AR4

#

sysname AR4

#

interface GigabitEthernet0/0/0

ip address 10.0.234.4 255.255.255.0

pim dm

#

interface GigabitEthernet0/0/1

ip address 192.168.1.1 255.255.255.0

pim dm

igmp enable

igmp static-group 239.0.0.12

#

interface LoopBack0

ip address 10.0.4.4 255.255.255.255

#

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.234.4 0.0.0.0

network 192.168.1.1 0.0.0.0

#

SW2

#

sysname SW2

#

igmp-snooping enable

#

vlan 1

igmp-snooping enable

#

interface GigabitEthernet0/0/1

igmp-snooping static-router-port vlan 1

#

interface GigabitEthernet0/0/10

l2-multicast static-group group-address 239.0.0.12 vlan 1

#

posted on 2025-11-04 21:03  mthoutai  阅读(2)  评论(0)    收藏  举报