应用场景:
IGMP 是针对IP 层设计的,只能记录路由器上的三层接口与IP 组播地址的对应关系。但在很多情况下,组播报文不可避免地要经过一些交换机,如果没有一种机制将二层端口与组播MAC地址对应起来,组播报文就会转发给交换机的所有端口,这显然会浪费大量的系统资源。IGMP
Snooping的出现就可以解决这个问题,其工作原理为:主机发往IGMP 查询器的报告消息经过交换机时,交换机对这个消息进行监听并记录下来,为端口和组播MAC地址建立起映射关系;当交换机收到组播数据时,根据这样的映射关系,只向连有组成员的端口转发组播数据。
功能简介:
IGMP Snooping:IGMP Snooping 是Internet Group Management Protocol(组播侦听者发现协议窥探)的简称。它是运行在VLAN上的IP组播约束机制,用于管理和控制IP组播流在VLAN内的转发,属于二层组播功能。运行IGMP
Snooping 的设备通过对收到的IGMP 报文进行分析,为端口和组播地址建立起映射关系,并根据这样的映射关系转发IP组播数据报文。当交换机没有运行IGMP
Snooping时,IP组播数据报文在VLAN内被广播;当交换机运行了IGMP Snooping后,已知IP组播组的组播数据报文不会在VLAN内被广播,而是发给指定的接收者。
一、组网需求
1)核心交换机作为组播路由设备直连组播源,接入交换机连接用户PC1和PC2,属于同一个VLAN 10
2)在核心交换机上,实现三层组播路由(使用PIM-DM模式);在接入交换机上开启IGMP Snooping功能,使用IVGL模式,静态配置路由连接口
3)接入交换机的用户只能接收225.1.1.1-225.1.1.10组播组的报文,其他组播报文无法接收
4)在接入交换机上,所有接入端口能够快速离开某IP组播组
5)在接入交换机上,抑制IGMP成员转发给核心交换机的响应报文,减轻核心交换机的负担。
二、配置要点
1)在核心交换机上开启组播路由协议功能,并且在所有连接的三层口上开启PIM-DM,在接入交换机上配置IGMP
Snooping为IVGL模式,配置接入交换机上联口为IGMP Snooping静态路由连接口
2)在接入交换机上配置组播IGMP Filter,不允许用户加入其它非法组播
3)在接入交换机上配置端口快速离开功能。
4)在接入交换机上配置IGMP Snooping成员关系报告报文的响应抑制功能。
三、网络拓扑
四、配置步骤
核心交换机配置:
1)在核心交换机上创建vlan并全局开启组播路由转发功能。
Ruijie#configure terminal
Ruijie(config)#vlan 10
Ruijie(config-vlan)#vlan 100
Ruijie(config-vlan)#exit
Ruijie(config)#ip
multicast-routing
2)将核心交换机的端口Gi 0/1配置为access口,用于连接组播源,并配置组播路由协议
Ruijie(config)#interface
gigabitEthernet 0/1
Ruijie(config-if-GigabitEthernet
0/1)#switchport access vlan 100
Ruijie(config-if-GigabitEthernet
0/1)#exit
Ruijie(config)#interface
vlan 100
Ruijie(config-if-VLAN
100)#ip address 192.168.100.254 255.255.255.0
Ruijie(config-if-VLAN
100)#ip pim dense-mode
3)配置VLAN 10的SVI,并在SVI上配置组播路由协议。
Ruijie(config)#interface
vlan 10
Ruijie(config-if-VLAN 10)#ip
address 192.168.10.254 255.255.255.0
Ruijie(config-if-VLAN 10)#ip
pim dense-mode
Ruijie(config-if-VLAN
10)#exit
4)将端口Gi 0/2配置为Trunk Port,用于连接二层组播设备。
Ruijie(config)#interface
gigabitEthernet 0/2
Ruijie(config-if-GigabitEthernet
0/2)#switchport mode trunk
Ruijie(config-if-GigabitEthernet
0/2)#exit
5)保存配置
Ruijie(config)#end
Ruijie#wr
接入交换机配置:
1)创建vlan,将连接用户端口划分为access
vlan 10,将连接网关交换机的端口设置为trunk口(必选配置)。
Ruijie(config)#vlan 10
Ruijie(config-vlan)#exit
Ruijie(config)#interface
gigabitEthernet 0/25
Ruijie(config-if-GigabitEthernet
0/25)#switchport mode trunk
Ruijie(config-if-GigabitEthernet
0/25)#exit
Ruijie(config)#interface
range fastEthernet 0/1-2
Ruijie(config-if-range)#switchport
access vlan 10
Ruijie(config-if-range)#exit
2)在接入交换机上,全局配置IGMP Snooping为IVGL模式,并配置g0/25口为VLAN
10的路由连接口(必选配置)。
Ruijie(config)#ip igmp
snooping ivgl
Ruijie(config)#ip igmp
snooping vlan 10 mrouter interface g0/25
Ruijie(config)#end
3)设置IGMP Profile 1,仅允许接收组地址为225.1.1.1~226.1.1.1的IP组播数据流,并且应用在f0/1及f0/2端口(可选配置)。
Ruijie(config)#ip igmp
profile 1
Ruijie<config-profile>#permit
Ruijie<config-profile>#range
225.1.1.1 225.1.1.10
Ruijie<config-profile>#exit
Ruijie(config)#interface
range fastEthernet 0/1-2
Ruijie(config-if-range)#ip
igmp snooping filter 1
Ruijie(config-if-range)#exit
4)在接入交换机上,使能端口快速离开功能(可选配置)。
Ruijie(config)#ip igmp
snooping fast-leave enable
5)在接入交换机上,使能IGMP Snooping 成员关系报告报文的响应抑制功能(可选配置)。
Ruijie(config)#ip igmp
snooping suppression enable
Ruijie(config)#end
Ruijie#wr
五、功能验证
1)在接入交换机上查看IGMP Snooping表
Ruijie# show ip igmp snooping gda-table
Multicast Switching Cache
Table
D: DYNAMIC
S: STATIC
M: MROUTE
(*, 229.255.255.250,
10): ------>非法ip igmp snooping表项,如果在接口下配置了ip igmp snooping filter 1,这些非法表项将不存在
VLAN(10) 2 OPORTS:
GigabitEthernet 0/25(M)
FastEthernet 0/2(D)
(*, 239.255.255.250,
10):
------>非法ip igmp snooping表项,如果在接口下配置了ip
igmp snooping filter 1,这些非法表项将不存在
VLAN(10) 2 OPORTS:
GigabitEthernet 0/25(M)
FastEthernet 0/2(D)
(*, 225.1.1.1, 10):
------>合法ip igmp snooping表项
VLAN(10) 2 OPORTS:
GigabitEthernet 0/25(M) ------>M表示路由连接口
FastEthernet 0/2(D)
------>D表示用户连接口
2)查看IGMP Snooping的统计信息
Ruijie#show ip igmp
snooping statistics
Current number of Gda-table
entries: 1
------>snooping 表项个数
Configured Statistics
database limit: 1024
------>支持的最大监听表项数目
Current number of IGMP Query
packet received : 0
Current number of IGMPv1/v2
Report packet received: 0
Current number of IGMPv3
Report packet received: 0
Current number of Leave
packet received: 0
Current number of PIM packet
received: 0
Current number of DVMRP
packet received: 0
GROUP
Interface
Last report time Last
leave time Last reporter Report
pkts Leave pkts
--------------- --------------
---------------- ---------------- --------------- ------- -------
225.1.1.1 VL10:Fa0/2
----
----
----
0
0
3)查看路由连接口
Ruijie#show ip igmp
snooping mrouter
Multicast Switching Mroute
Port
D: DYNAMIC
S: STATIC
(*, *, 10):
VLAN(10) 1 MROUTES:
GigabitEthernet 0/25(S)