7.4 IGMP Snooping

由于组播地址不可能出现在报文的源地址中,所以交换机无法学习到组播地址。

当交换机收到组播信息时,会向同一个VLAN 中的所有端口广播。如果不采取措

施,就会出现不想要的组播信息扩散到网络中每一点的严重问题,浪费网络带宽

资源。

IGMP Snooping 通过对主机和路由器之间的IGMP 协议通信的“监听”,使组播包

只发送给在组播转发表中的端口,而不是所有端口,从而限制了局域网交换机上

的组播信息扩散,减少了不必要的网络带宽的浪费,提高了交换机的利用率。

1、使能或关闭IGMP Snooping 功能

命令格式 命令模式命令功能

set igmp snooping {enable|disable} 全局 使能/关闭IGMP Snooping 功能

IGMP Snooping 功能的缺省状态是关闭的。

当IGMP Snooping 功能关闭时,对于组播流根据set port <portlist>

multicast {forward|discard}命令的配置进行处理,如果选择参数forward

则对相应端口进行转发,如果选择discard 则对相应端口丢弃。

使能IGMP Snooping 功能后,对于组播流首先根据监听到的组播转发表来

转发,如果没有查找到该组播转发表,则按照上述的配置针对端口决定转

发或丢弃。

2. 添加或删除对指定VLAN 的IGMP Snooping 功能

命令格式 命令模式命令功能

set igmp snooping add vlan <vlanlist> 全局

添加对指定VLAN 的IGMP

Snooping 功能

set igmp snooping delete vlan <vlanlist> 全局

删除对指定VLAN 的IGMP

Snooping 功能

只有添加对指定的VLAN 进行组播监听的功能,才能监听到相应的组播转

发表。

本交换机最多支持同时监听256 个VLAN。

3. 使能或关闭对指定VLAN 的IGMP Query 功能

命令格式 命令模式命令功能

set igmp snooping query vlan <vlanlist>

{enable|disable}

全局

使能或关闭对指定VLAN 的

IGMP Query 功能

使能了IGMP Snooping 功能后,如果没有IGMP Query 路由器存在,则无

法完成正常的IGMP Snooping 的功能,这时可以开启交换机的IGMP Query

的功能。

如果所监听的VLAN 存在IGMP Query 路由器,最好关闭本交换机的IGMP

Query 功能。交换机运行的IGMP Query 版本是V2.0,遵循V2.0 IGMP Query

路由器选举功能。当配置了三层端口的IP 和MAC 地址,则IGMP Query

的源IP 和源MAC 使用三层配置;否则使用0.0.0.0 和交换机的MAC 地址

作为IGMP Query 的源。

4. 添加或删除静态组播组

命令格式 命令模式命令功能

set igmp snooping vlan <vlanname> add

group <A.B.C.D>

全局 添加静态组播组

set igmp snooping vlan <vlanname> delete

group <A.B.C.D>

全局 删除静态组播组

当运行了IGMP Snooping 的功能,允许以本交换机的名义注册静态的组播

组,本交换机支持最多对64 个静态组播组的注册。

注册的静态组播组只能是用户组播地址224.x.x.x~239.x.x.x,不能是保留的组播地

址。224.0.0.x 的组播地址不允许注册。

5. 配置指定的IGMP Snooping 参数

命令格式 命令模式命令功能

set igmp snooping timeout

<100-2147483647> {host|router}

全局 设置组播成员/路由超时

set igmp snooping query_interval

<10-2147483647>

全局 设置查询周期

set igmp snooping response_interval

<10-250>

全局 设置查询响应周期

set igmp snooping lastmember_query

<10-250>

全局 设置最后的成员查询周期

6. 使能或关闭IGMP 的快速离开功能

命令格式 命令模式命令功能

set igmp snooping fastleave

{enable|disable}

全局

使能或关闭IGMP 的快速离开功

运行了IGMP Snooping 功能,并正确地监听到了主机加入的端口后,当该

端口收到IGMP 离开报文时,如果关闭了IGMP 的快速离开功能,则交换

机将向该端口发送两次特定组查询,以确认是否在组播转发表中删除该端

口;如果使能了IGMP 的快速离开功能,则不进行特定组查询,直接从组

播转发表中删除该端口。

当跨VLAN 的组播监听从使能状态变为关闭状态时,经过跨VLAN 组播监

听的某些监听结果要经过相应的超时时长才能正确删除掉。

7. 使能或关闭跨VLAN 的IGMP Snooping 功能

命令格式 命令模式命令功能

set igmp snooping crossvlan

{enable|disable}

全局

使能或关闭跨VLAN 的IGMP

Snooping 功能

当运行了IGMP Snooping 功能,并利用PVID(default vlan_id)正确地配

置一对多的端口转发形式后,可以利用本交换机跨VLAN 的IGMP

Snooping 功能对不同VLAN 之间的IGMP 信息进行监听并进行跨VLAN

的组播转发。

8. 显示IGMP Snooping 的配置和监听结果

命令格式 命令模式命令功能

show igmp snooping 所有模式 显示组播监听的配置

show igmp snooping vlan [<vlanname>

[host|router]]

所有模式 显示组播监听结果

配置实例

如图所示,端口1,3,5 接主机,端口10 接路由器,实现一对多通讯方式,

即端口10 可以和1,3,5 通讯,而1,3,5 相互之间不能通讯。在交换机上开启IGMP Snooping 功能并显示监听结果。




具体配置如下:

zte(cfg)#set vlan 200 add port 1,3,5,10 untag

zte(cfg)#set vlan 210 add port 1,10 untag

zte(cfg)#set vlan 230 add port 3,10 untag

zte(cfg)#set vlan 250 add port 5,10 untag

zte(cfg)#set port 10 pvid 200

zte(cfg)#set port 1 pvid 210

zte(cfg)#set port 3 pvid 230

zte(cfg)#set port 5 pvid 250

zte(cfg)#set vlan 200,210,230,250 fid 200

zte(cfg)#set vlan 200,210,230,250 enable

zte(cfg)#set igmp snooping enable

zte(cfg)#set igmp snooping add vlan 200,210,230,250

zte(cfg)#set igmp snooping crossvlan disable

显示组播监听结果:

zte(cfg)#show igmp snooping vlan

Num VlanId Group Last_Report PortMember

1 210 224.1.1.1 192.168.1.1 1

2 230 224.1.1.1 192.168.1.2 3

3 250 224.1.1.1 192.168.1.3 5

在交换机上开启跨VLAN 组播监听,经过组播监听的显示结果:

zte(cfg)#set igmp snooping crossvlan enable

zte(cfg)#show igmp snooping vlan

Num VlanId Group Last_Report PortMember

1 210 224.1.1.1 192.168.1.1 1

2 230 224.1.1.1 192.168.1.2 3

3 250 224.1.1.1 192.168.1.3 5

4 200 224.1.1.1 192.168.1.3 1,3,5,10


转载于:https://blog.51cto.com/andy574671212/588345