组播实验--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]
相关推荐
虚空之月&&轮舞者1 小时前
Python与矢量网络分析仪3671E:自动化测试(Vscode)
网络·vscode·python·射频工程
lisw055 小时前
网络化:DevOps 工程的必要基础(Networking: The Essential Foundation for DevOps Engineering)
网络·devops
驱动小百科8 小时前
WiFi出现感叹号上不了网怎么办 轻松恢复网络
网络·智能路由器·wifi出现感叹号怎么解决·wifi无法上网·电脑wifi
好多知识都想学8 小时前
协议路由与路由协议
网络·智能路由器
SZ1701102318 小时前
中继器的作用
服务器·网络·智能路由器
Huazzi.9 小时前
Ubuntu 22虚拟机【网络故障】快速解决指南
linux·网络·学习·ubuntu·bash·编程
熙曦Sakura9 小时前
【Linux网络】HTTP
linux·网络·http
毒果9 小时前
网络安全:账号密码与诈骗防范
网络·安全·web安全
八股文领域大手子9 小时前
SSL/TLS 证书与数字签名:构建互联网信任的详解
网络·网络协议·ssl
学渣6765610 小时前
TCP/IP 模型每层的封装格式
网络