组播实验--IGMP、IGMP Snooping 及 PIM-DM 协议

4台路由器之间运行OSPF路由协议,均创建Loopback0,IP地址为10.0.x.x/32。4台路由器之间构成一个组播网络,AR1作为第一跳路由器连接组播源239.0.0.12,AR4作为最后一跳路由器连接组播组239.0.0.12的接收者,为了能够让组播源的流量顺利被AR4上的组播组成员接收,在每台路由器上部署PIM-DM,并在AR4的GE0/0/1接收上激活IGMPv2

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

实验任务

  1. 设备IP地址配置
  2. 配置AR1、AR2、AR3、AR4之间的OSPF,在互联接口、Loopback接口上激活OSPF
  3. 开启路由器的组播路由功能,部署PIM-DM,在相应接口上开启PIM-DM
  4. 在AR1上模拟组播源发送组播数据,观察各个路由器的PIM路由表
  5. 修改AR3的GE0/0/0接口OSPF Cost值,影响断言机制选举结果,之后再次查看AR2、AR3的PIM路由表
  6. 在S2上配置IGMP Snooping,手动配置路由器端口、成员端口

实验步骤

1、设备IP地址配置

复制代码
# AR1配置
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 10.0.13.1 24
[AR1-GigabitEthernet0/0/0]q
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ip address 10.0.12.1 24
[AR1-GigabitEthernet0/0/1]q
[AR1]interface LoopBack 0
[AR1-LoopBack0]ip address 10.0.1.1 32
[AR1-LoopBack0]q
[AR1]

# AR2配置
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 10.0.12.2 24
[AR2-GigabitEthernet0/0/0]q
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 10.0.234.2 24
[AR2-GigabitEthernet0/0/1]q
[AR2]interface LoopBack 0
[AR2-LoopBack0]ip address 10.0.2.2 32
[AR2-LoopBack0]q
[AR2]

# AR3配置
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]ip address 10.0.13.3 24
[AR3-GigabitEthernet0/0/0]q
[AR3]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]ip address 10.0.234.3 24
[AR3-GigabitEthernet0/0/1]q
[AR3]interface LoopBack 0
[AR3-LoopBack0]ip address 10.0.3.3 32
[AR3-LoopBack0]q
[AR3]

# AR4配置
[AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]ip address 10.0.234.4 24
[AR4-GigabitEthernet0/0/0]q
[AR4]interface GigabitEthernet 0/0/1
[AR4-GigabitEthernet0/0/1]ip address 192.168.1.1 24
[AR4-GigabitEthernet0/0/1]q
[AR4]interface LoopBack 0
[AR4-LoopBack0]ip address 10.0.4.4 32
[AR4-LoopBack0]q
[AR4]

在AR1、AR4上检测连通性(以AR1为例)

2、配置OSPF

使用各自的Loopback 0 接口地址作为Router ID,在互联接口、Loopback 0接口上激活OSPF

复制代码
# AR1配置
[AR1]ospf 1 router-id 10.0.1.1
[AR1-ospf-1]area 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
[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]q
[AR1-ospf-1]q
[AR1]

# AR2配置
[AR2]ospf 1 router-id 10.0.2.2
[AR2-ospf-1]area 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
[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]q
[AR2-ospf-1]q
[AR2]

# AR3配置
[AR3]ospf 1 router-id 10.0.3.3
[AR3-ospf-1]area 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
[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]q
[AR3-ospf-1]q
[AR3]

# AR4配置
[AR4]ospf 1 router-id 10.0.4.4
[AR4-ospf-1]area 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
[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]q
[AR4-ospf-1]q
[AR4]

查看AR4的OSPF邻居关系、OSPF路由表

复制代码
<AR4>display ospf peer brief
复制代码
<AR4>display ospf routing

3、部署PIM-DM

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

复制代码
# AR1配置
[AR1]multicast routing-enable    # 开启组播路由功能
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]pim dm
[AR1-GigabitEthernet0/0/0]q
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]pim dm
[AR1-GigabitEthernet0/0/1]q
[AR1]

# AR2配置
[AR2]multicast routing-enable
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]pim dm
[AR2-GigabitEthernet0/0/0]q
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]pim dm
[AR2-GigabitEthernet0/0/1]q
[AR2]

# AR3配置
[AR3]multicast routing-enable
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]pim dm
[AR3-GigabitEthernet0/0/0]q
[AR3]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]pim dm
[AR3-GigabitEthernet0/0/1]q
[AR3]

# AR4配置
[AR4]multicast routing-enable
[AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]pim dm
[AR4-GigabitEthernet0/0/0]q
[AR4]interface GigabitEthernet 0/0/1
[AR4-GigabitEthernet0/0/1]pim dm
[AR4-GigabitEthernet0/0/1]q
[AR4]

在AR1、AR4上检查PIM邻居关系

复制代码
<AR1>display pim neighbor 

这时候,AR1与AR2、AR1与AR3、AR4与AR2、AR4与AR3之间都已经成功形成PIM关系

在AR4的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
[AR4-GigabitEthernet0/0/1]q
[AR4]

在AR4上查看IGMP接口信息

复制代码
<AR4>display igmp interface GigabitEthernet 0/0/1

默认IGMP的版本为V2,AR4为IGMP的查询者

4、观察PIM路由表

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

复制代码
# AR1上模拟组播源,发送组播流量
<AR1>ping -a 10.0.1.1 -c 10 239.0.0.12

PIM Start-Refresh报文内容

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

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

复制代码
<AR1>display pim control-message counters message-type state-refresh interface GigabitEthernet 0/0/1

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

查看4台路由器的PIM路由表

复制代码
<AR1>display pim routing-table

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

AR2上并没有下游接口

AR3的下游接口为GE0/0/1

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

5、修改OSPF cost值,影响断言选举结果

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

在AR2、AR3上查看前往组播地址10.0.1.1的路由开销值

复制代码
<AR2>display ip routing-table 10.0.1.1

AR2、AR3到达10.0.1.1的路由开销值都为1

修改AR3上的GE0/0/1接口的OSPF Cost值

复制代码
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]ospf cost 2
[AR3-GigabitEthernet0/0/0]q
[AR3]

在AR3上查看前往组播源地址10.0.1.1的路由开销值

复制代码
<AR3>display ip routing-table 10.0.1.1

现在AR3到达10.0.1.1的路由开销值为2

为了更好的观察现象,修改AR2、AR3的GE0/0/1接口Assert状态的超过时间为10s

复制代码
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]pim holdtime assert 10
[AR2-GigabitEthernet0/0/1]q
[AR2]

[AR3]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]pim holdtime assert 10
[AR3-GigabitEthernet0/0/1]q
[AR3]

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

复制代码
<AR1>terminal debugging 
Info: Current terminal debugging is on.
<AR1>terminal monitor 
Info: Current terminal monitor is on.
<AR1>debugging pim join-prune receive 
<AR1>

在AR1上重新触发组播流量

复制代码
<AR1>ping -a 10.0.1.1 -c 10 239.0.0.12

重新查看AR2、AR3的PIM的路由表

复制代码
<AR2>display pim routing-table

现在AR3上没有下游接口,AR2为断言选举胜出者

6、配置IGMP Snooping

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

复制代码
# 在全局、VLAN1开启IGMP Snooping
[LSW2]igmp-snooping enable
[LSW2]vlan 1
[LSW2-vlan1]igmp-snooping enable
[LSW2-vlan1]q

# 手动配置路由器端口
[LSW2]interface GigabitEthernet 0/0/1
[LSW2-GigabitEthernet0/0/1]igmp-snooping static-router-port vlan 1
[LSW2-GigabitEthernet0/0/1]q
[LSW2]

# 手动配置GE0/0/10为组播组239.0.0.12的成员端口
[LSW2]interface GigabitEthernet 0/0/10
[LSW2-GigabitEthernet0/0/10]l2-multicast static-group group-address 239.0.0.12 vlan 1
[LSW2-GigabitEthernet0/0/10]q
[LSW2]
相关推荐
Dream Algorithm2 小时前
SPN专线+5G业务隔离+工作网+流量共享
网络·5g
jixunwulian2 小时前
智能工业网关 5G/4G通信 硬核配置 视频采集 plc控制
网络·5g
敲键盘的Q5 小时前
【eNSP实战】(续)一个AC多个VAP的实现—将隧道转发改成直接转发
网络
Y.O.U..5 小时前
美团AI面试总结
网络·面试·职场和发展
23zhgjx-LSS5 小时前
ospf单区域
网络·智能路由器
晴空对晚照7 小时前
[动手学习深度学习]26. 网络中的网络 NiN
网络·深度学习·学习
fareast_mzh8 小时前
High-performance TCP mock server
网络·网络协议·tcp/ip
Muisti8 小时前
TCP 通信流程图
服务器·网络·windows
IT小饕餮9 小时前
linux 基础网络配置文件
linux·服务器·网络