应用场景:

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)