• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

08-IP组播配置指导

目录

02-IGMP Snooping配置

本章节下载 02-IGMP Snooping配置  (610.58 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/SR_Router/SR8800-F/Configure/Operation_Manual/H3C_SR8800-F_CG-R7751PXX-6W102/08/201903/1160275_30005_0.htm

02-IGMP Snooping配置

  录

1 IGMP Snooping

1.1 IGMP Snooping简介

1.1.1 IGMP Snooping原理

1.1.2 IGMP Snooping端口分类

1.1.3 IGMP Snooping工作机制

1.1.4 IGMP Snooping Proxy

1.1.5 协议规范

1.2 IGMP Snooping配置限制和指导

1.3 基于VLAN的IGMP Snooping配置任务简

1.4 基于VSI的IGMP Snooping配置任务简介

1.5 使能IGMP Snooping

1.5.1 使能多个VLAN内的IGMP Snooping

1.5.2 使能单个VLAN内的IGMP Snooping

1.5.3 在VSI内使能IGMP Snooping

1.6 配置IGMP Snooping基本功能

1.6.1 配置IGMP Snooping版本

1.6.2 配置IGMP Snooping转发表项的全局最大数量

1.6.3 配置静态组播MAC地址表项

1.6.4 配置IGMP特定组查询报文的发送间隔

1.7 配置IGMP Snooping端口功能

1.7.1 配置动态端口老化定时器

1.7.2 配置静态成员端口

1.7.3 配置静态路由器端口

1.7.4 配置模拟主机加入

1.7.5 配置端口快速离开功能

1.7.6 禁止端口成为动态路由器端口

1.8 配置IGMP Snooping查询器

1.8.1 开启IGMP Snooping查询器

1.8.2 配置IGMP普遍组查询和响应

1.9 配置IGMP Snooping Proxy

1.10 调整IGMP报文

1.10.1 配置IGMP报文的源IP地址

1.11 配置IGMP Snooping策略

1.11.1 配置组播组过滤器

1.11.2 配置组播数据报文源端口过滤

1.11.3 配置丢弃未知组播数据报文

1.11.4 配置IGMP成员关系报告报文抑制

1.11.5 配置端口加入的组播组最大数量

1.11.6 配置组播组替换功能

1.11.7 配置IGMP Snooping主机跟踪功能

1.12 IGMP Snooping显示和维护

1.13 IGMP Snooping典型配置举例

1.13.1 基于VLAN的组策略及模拟主机加入配置举例

1.13.2 基于VLAN的静态端口配置举例

1.13.3 基于VLAN的IGMP Snooping查询器配置举例

1.13.4 基于VLAN的IGMP Snooping Proxy配置举例

1.13.5 基于VSI的IGMP Snooping配置举例

1.13.6 基于VXLAN的IGMP Snooping配置举例

1.14 IGMP Snooping常见故障处理

1.14.1 二层设备不能实现二层组播

1.14.2 配置的组播组策略不生效

 


1 IGMP Snooping

1.1  IGMP Snooping简介

IGMP Snooping(Internet Group Management Protocol Snooping,互联网组管理协议窥探)运行在二层设备上,通过侦听三层设备与主机之间的IGMP报文来生成二层组播转发表,从而管理和控制组播数据报文的转发,实现组播数据报文在二层的按需分发。

1.1.1  IGMP Snooping原理

运行IGMP Snooping的二层设备通过对收到的IGMP报文进行分析,为端口和MAC组播地址建立起映射关系,并根据这样的映射关系转发组播数据。

图1-1所示,当二层设备没有运行IGMP Snooping时,组播数据在二层网络(包括VLAN和VSI)中被广播;当二层设备运行了IGMP Snooping后,已知组播组的组播数据不会在二层网络中被广播,而被组播给指定的接收者。

图1-1 二层设备运行IGMP Snooping前后的对比

 

IGMP Snooping通过二层组播将信息只转发给有需要的接收者,可以带来以下好处:

·     减少了二层网络中的广播报文,节约了网络带宽;

·     增强了组播信息的安全性;

·     为实现对每台主机的单独计费带来了方便。

1.1.2  IGMP Snooping端口分类

图1-2所示,Device A连接组播源,在Device A和Device B上分别运行IGMP Snooping,Host A和Host C为接收者主机(即组播组成员)。根据在网络中所处位置的不同,我们将IGMP Snooping端口分为路由器端口和成员端口两类,以下分别介绍。

图1-2 IGMP Snooping端口示意图

 

1. 路由器端口

在运行了IGMP Snooping的二层设备上,朝向上游三层组播设备的端口称为路由器端口。如图1-2中Device A的Port A1端口和Device B的Port B1端口。

根据来源不同,路由器端口可分为:

·     动态路由器端口:所有收到IGMP普遍组查询报文(源地址非0.0.0.0)或PIM Hello报文的端口,都被维护为动态路由器端口。这些端口被记录在动态路由器端口列表中,每个端口都有一个老化定时器。在老化定时器超时前,动态路由器端口如果收到了IGMP普遍组查询报文(源地址非0.0.0.0)或PIM Hello报文,该定时器将被重置;否则,该端口将被从动态路由器端口列表中删除。

·     静态路由器端口:通过命令行手工配置的路由器端口称为静态路由器端口,这些端口被记录在静态路由器端口列表中。静态路由器端口只能通过命令行手工删除,不会被老化。

说明

·     本文中提到的路由器端口都是指二层设备上朝向三层组播设备的端口,而不是指路由器上的端口。

·     如果没有特别指明,本文中提到的路由器端口包括动态路由器端口和静态路由器端口。

 

2. 成员端口

在运行了IGMP Snooping的二层设备上,朝向下游组播组成员的端口称为成员端口。如图1-2中Device A的Port A2和 Port A3端口,以及Device B的Port B2端口。

根据来源不同,成员端口也可分为:

·     动态成员端口:所有收到IGMP成员关系报告报文的端口,都被维护为动态成员端口。这些端口被记录在动态IGMP Snooping转发表中,每个端口都有一个老化定时器。在老化定时器超时前,动态成员端口如果收到了IGMP成员关系报告报文,该定时器将被重置;否则,该端口将被从动态IGMP Snooping转发表中删除。

·     静态成员端口:通过命令行手工配置的成员端口称为静态成员端口,这些端口被记录在静态IGMP Snooping转发表中。静态成员端口只能通过命令行手工删除,不会被老化。

说明

如果没有特别指明,本文中提到的成员端口包括动态成员端口和静态成员端口。

 

1.1.3  IGMP Snooping工作机制

运行了IGMP Snooping的二层设备对不同IGMP动作的具体处理方式如下:

说明

本节中所描述的增删端口动作均只针对动态端口,静态端口只能通过相应的配置进行增删,具体步骤请参见“1.7.2  配置静态成员端口”和“1.7.3  配置静态路由器端口

 

IGMP查询器定期向本地网段内的所有主机与设备(224.0.0.1)发送IGMP普遍组查询报文,以查询该网段有哪些组播组的成员。

在收到IGMP普遍组查询报文时,二层设备将其通过VLAN/VSI内除接收端口以外的其它所有端口转发出去,并对该报文的接收端口做如下处理:

·     如果在动态路由器端口列表中已包含该动态路由器端口,则重置其老化定时器。

·     如果在动态路由器端口列表中尚未包含该动态路由器端口,则将其添加到动态路由器端口列表中,并启动其老化定时器。

1. 报告成员关系

以下情况,主机会向IGMP查询器发送IGMP成员关系报告报文:

·     当组播组的成员主机收到IGMP查询报文后,会回复IGMP成员关系报告报文。

·     如果主机要加入某个组播组,它会主动向IGMP查询器发送IGMP成员关系报告报文以声明加入该组播组。

在收到IGMP成员关系报告报文时,二层设备将其通过VLAN/VSI内的所有路由器端口转发出去,从该报文中解析出主机要加入的组播组地址,并对该报文的接收端口做如下处理:

·     如果不存在该组播组所对应的转发表项,则创建转发表项,将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器;

·     如果已存在该组播组所对应的转发表项,但其出端口列表中不包含该端口,则将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器;

·     如果已存在该组播组所对应的转发表项,且其出端口列表中已包含该动态成员端口,则重置其老化定时器。

说明

二层设备不会将IGMP成员关系报告报文通过非路由器端口转发出去,因为根据主机上的IGMP成员关系报告抑制机制,如果非路由器端口下还有该组播组的成员主机,则这些主机在收到该报告报文后便抑制了自身的报告,从而使二层设备无法获知这些端口下还有该组播组的成员主机。有关主机上的IGMP成员关系报告抑制机制的详细介绍,请参见“IP组播配置指导”中的“IGMP”。

 

2. 离开组播组

运行IGMPv1的主机离开组播组时不会发送IGMP离开组报文,因此二层设备无法立即获知主机离开的信息。但是,由于主机离开组播组后不会再发送IGMP成员关系报告报文,因此当其对应的动态成员端口的老化定时器超时后,二层设备就会将该端口从相应转发表项的出端口列表中删除。

运行IGMPv2或IGMPv3的主机离开组播组时,会通过发送IGMP离开组报文,以通知三层组播设备自己离开了某个组播组。当二层设备从某动态成员端口上收到IGMP离开组报文时,首先判断要离开的组播组所对应的转发表项是否存在,以及该组播组所对应转发表项的出端口列表中是否包含该接收端口:

·     如果不存在该组播组对应的转发表项,或者该组播组对应转发表项的出端口列表中不包含该端口,二层设备不会向任何端口转发该报文,而将其直接丢弃;

·     如果存在该组播组对应的转发表项,且该组播组对应转发表项的出端口列表中除该端口还有别的成员端口存在,二层设备不会向任何端口转发该报文,而将其直接丢弃。同时,由于并不知道该接收端口下是否还有该组播组的其它成员,所以二层设备不会立刻把该端口从该组播组所对应转发表项的出端口列表中删除,而是向该端口发送IGMP特定组查询报文,并根据IGMP特定组查询报文调整该端口的老化定时器(老化时间为2×IGMP特定组查询报文的发送间隔);

·     如果存在该组播组对应的转发表项,且该组播组对应转发表项的出端口列表中只有该端口,二层设备会将该报文通过VLAN/VSI内的所有路由器端口转发出去。同时,由于并不知道该接收端口下是否还有该组播组的其它成员,所以二层设备不会立刻把该端口从该组播组所对应转发表项的出端口列表中删除,而是向该端口发送IGMP特定组查询报文,并根据IGMP特定组查询报文调整该端口的老化定时器(老化时间为2×IGMP特定组查询报文的发送间隔)。

当IGMP查询器收到IGMP离开组报文后,从中解析出主机要离开的组播组的地址,并通过接收端口向该组播组发送IGMP特定组查询报文。二层设备在收到IGMP特定组查询报文后,将其通过VLAN/VSI内的所有路由器端口和该组播组的所有成员端口转发出去。对于IGMP离开组报文的接收端口(假定为动态成员端口),二层设备在其老化时间内:

·     如果从该端口收到了主机响应该特定组查询的IGMP成员关系报告报文,则表示该端口下还有该组播组的成员,于是重置其老化定时器;

·     如果没有从该端口收到主机响应特定组查询的IGMP成员关系报告报文,则表示该端口下已没有该组播组的成员。当该端口的老化定时器超时后,将其从该组播组所对应转发表项的出端口列表中删除。

1.1.4  IGMP Snooping Proxy

为了减少上游设备收到的IGMP报告报文和离开报文的数量,可以通过在边缘设备上配置IGMP Snooping Proxy(IGMP Snooping代理)功能,使其能够代理下游主机向上游设备发送报告报文和离开报文。配置了IGMP Snooping Proxy功能的设备称为IGMP Snooping代理设备,在其上游设备看来,它就相当于一台主机。但主机上的IGMP成员关系报告抑制机制在IGMP Snooping代理设备上并不会生效。有关主机上的IGMP成员关系报告抑制机制的详细介绍,请参见“IP组播配置指导”中的“IGMP”。

图1-3 IGMP Snooping Proxy组网图

 

图1-3所示,作为IGMP Snooping代理设备的Device A,对其上游的IGMP查询器Device A来说相当于一台主机,代理下游主机向Device A发送报告报文和离开报文。

IGMP Snooping代理设备对IGMP报文的处理方式如表1-1所示。

表1-1 IGMP Snooping代理设备对IGMP报文的处理方式

IGMP报文

处理方式

普遍组查询报文

收到普遍组查询报文后,向本VLAN内除接收端口以外的所有端口转发;同时根据本地维护的组成员关系生成报告报文,并向所有路由器端口发送

特定组/特定源组查询报文

收到针对某组播组的特定组/特定源组查询报文时,向本VLAN内除接收端口以外的所有路由器端口转发;若该组对应的转发表项中还有成员端口,则向本VLAN内所有路由器端口回复该组的报告报文

报告报文

从某端口收到某组播组的报告报文时,若已存在该组对应的转发表项,且其出端口列表中已包含该动态成员端口,则重置其老化定时器;若已存在该组对应的转发表项,但其出端口列表中不包含该端口,则将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器;若尚不存在该组对应的转发表项,则创建转发表项,将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器,然后向所有路由器端口发送该组的报告报文

离开报文

从某端口收到某组播组的离开报文后,向该端口发送针对该组的特定组查询报文。只有当删除某组播组对应转发表项中的最后一个成员端口时,才会向所有路由器端口发送该组的离开报文

 

1.1.5  协议规范

与IGMP Snooping相关的协议规范有:

·     RFC 4541:Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches

1.2  IGMP Snooping配置限制和指导

本文中的VSI相关特性仅CSPEX单板支持。

使能全局IGMP Snooping后,若还需在某指定VLAN/VSI内配置其他IGMP Snooping功能,则必须在这些VLAN/VSI下使能IGMP Snooping。

二层聚合接口与其各成员端口上的IGMP Snooping配置互不影响,且成员端口上的IGMP Snooping配置只有当该端口退出聚合组后才会生效,二层聚合接口上的IGMP Snooping配置也不会参与聚合计算。

对于既可在VLAN视图下配置,又可在IGMP-Snooping视图下对多个VLAN进行配置的功能,两个视图下配置的优先级相同,最新配置生效。

对于既可在VLAN视图下配置,又可在IGMP-Snooping视图下对所有VLAN配置的功能,VLAN视图下的配置的优先级较高。

对于既可在VSI视图下配置,又可在IGMP-Snooping视图下配置的功能,IGMP-Snooping视图下的配置对所有VSI生效,VSI视图下配置只对当前VSI生效,且VSI视图下的配置优先级较高。

对于既可在接口视图下配置,又可在IGMP-Snooping视图下配置的功能,IGMP-Snooping视图下的配置对指定VLAN内的所有端口生效,接口视图下配置只对当前接口生效,且接口视图下的配置优先级较高。

1.3  基于VLAN的IGMP Snooping配置任务简介

基于VLAN的IGMP Snooping配置任务如下:

(1)     使能IGMP Snooping

(2)     (可选)配置IGMP Snooping基本功能

¡     配置IGMP Snooping版本

¡     配置IGMP Snooping转发表项的全局最大数量

¡     配置静态组播MAC地址表项

¡     配置IGMP特定组查询报文的发送间隔

(3)     (可选)配置IGMP Snooping端口功能

¡     配置动态端口老化定时器

¡     配置静态成员端口

¡     配置静态路由器端口

¡     配置模拟主机加入

¡     配置端口快速离开功能

¡     禁止端口成为动态路由器端口

(4)     (可选)配置IGMP Snooping查询器

¡     开启IGMP Snooping查询器

¡     配置IGMP普遍组查询和响应

(5)     (可选)配置IGMP Snooping Proxy

(6)     (可选)调整IGMP报文

¡     配置IGMP报文的源IP地址

(7)     (可选)配置IGMP Snooping策略

¡     配置组播组过滤器

¡     配置组播数据报文源端口过滤

¡     配置丢弃未知组播数据报文

¡     配置IGMP成员关系报告报文抑制

¡     配置端口加入的组播组最大数量

¡     配置组播组替换功能

¡     配置IGMP Snooping主机跟踪功能

1.4  基于VSI的IGMP Snooping配置任务简介

基于VSI的IGMP Snooping配置任务如下:

(1)     使能IGMP Snooping

(2)     (可选)配置IGMP Snooping基本功能

¡     配置IGMP Snooping版本

¡     配置IGMP Snooping转发表项的全局最大数量

¡     配置IGMP特定组查询报文的发送间隔

(3)     (可选)配置动态端口老化定时器

(4)     (可选)配置IGMP Snooping查询器

¡     开启IGMP Snooping查询器

¡     配置IGMP普遍组查询和响应

(5)     (可选)调整IGMP报文

¡     配置IGMP报文的源IP地址

(6)     (可选)配置IGMP Snooping策略

¡     配置丢弃未知组播数据报文

¡     配置IGMP成员关系报告报文抑制

1.5  使能IGMP Snooping

1.5.1  使能多个VLAN内的IGMP Snooping

(1)     进入系统视图。

system-view

(2)     全局使能IGMP Snooping,并进入IGMP-Snooping视图。

igmp-snooping

缺省情况下,IGMP Snooping处于全局关闭状态。

(3)     使能多个VLAN内的IGMP Snooping。

enable vlan vlan-list

缺省情况下,VLAN内的IGMP Snooping处于关闭状态。

在VLAN内使能了IGMP Snooping之后,IGMP Snooping只在属于该VLAN的端口上生效。

1.5.2  使能单个VLAN内的IGMP Snooping

(1)     进入系统视图。

system-view

(2)     全局使能IGMP Snooping,并进入IGMP-Snooping视图。

igmp-snooping

缺省情况下,IGMP Snooping处于全局关闭状态。

(3)     退回系统视图。

quit

(4)     进入VLAN视图。

vlan vlan-id

(5)     使能单个VLAN内的IGMP Snooping。

igmp-snooping enable

缺省情况下,VLAN内的IGMP Snooping处于关闭状态。

在VLAN内使能了IGMP Snooping之后,IGMP Snooping只在属于该VLAN的端口上生效。

1.5.3  在VSI内使能IGMP Snooping

(1)     进入系统视图。

system-view

(2)     全局使能IGMP Snooping,并进入IGMP-Snooping视图。

igmp-snooping

缺省情况下,IGMP Snooping处于全局关闭状态。

(3)     退回系统视图。

quit

(4)     进入VSI视图。

vsi vsi-name

(5)     在VSI内使能IGMP Snooping。

igmp-snooping enable

缺省情况下, VSI内的IGMP Snooping处于关闭状态。

在VSI内使能了IGMP Snooping之后,IGMP Snooping只在属于该VSI的端口上生效。

1.6  配置IGMP Snooping基本功能

1.6.1  配置IGMP Snooping版本

1. 功能简介

配置IGMP Snooping的版本,实际上就是配置IGMP Snooping可以处理的IGMP报文的版本:

·     当IGMP Snooping的版本为2时,IGMP Snooping能够对IGMPv1和IGMPv2的报文进行处理,对IGMPv3的报文则不进行处理,而是在VLAN/VSI内将其广播;

·     当IGMP Snooping的版本为3时,IGMP Snooping能够对IGMPv1、IGMPv2和IGMPv3的报文进行处理。

2. 配置限制和指导

当IGMP Snooping的版本由版本3切换到版本2时,系统将清除所有通过动态加入的IGMP Snooping转发表项;对于在版本3下通过手工配置而静态加入的IGMP Snooping转发表项,则分为以下两种情况进行不同的处理:

·     如果配置的仅仅是静态加入组播组,而没有指定组播源,则这些转发表项将不会被清除;

·     如果配置的是指定了组播源的静态加入组播源组,则这些转发表项将会被清除,并且当再次切换回版本3时,这些转发表项将被重新恢复。有关静态加入的详细配置,请参见“1.7.2  配置静态成员端口

3. 配置多个VLAN内的IGMP Snooping版本

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     配置多个VLAN内的IGMP Snooping的版本。

version version-number vlan vlan-list

缺省情况下,VLAN内IGMP Snooping的版本为2。

4. 配置单个VLAN内的IGMP Snooping版本

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     配置单个VLAN内的IGMP Snooping版本。

igmp-snooping version version-number

缺省情况下,VLAN内IGMP Snooping的版本为2。

5. 在VSI内配置IGMP Snooping版本

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     在VSI内配置IGMP Snooping的版本。

igmp-snooping version version-number

缺省情况下, VSI内IGMP Snooping的版本为2。

1.6.2  配置IGMP Snooping转发表项的全局最大数量

1. 功能简介

用户可以调整IGMP Snooping转发表项(包括动态表项和静态表项)的全局最大数量,当设备上维护的表项数量达到或超过最大数量后,系统不再创建新的表项,也不会主动删除多余表项,直至有表项被老化或被手工删除,所以当设备上维护的表项数量达到或超过最大数量后,为避免此后无法再创建新的表项,建议用户手工删除多余表项。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     配置IGMP Snooping转发表项的全局最大数量。

entry-limit limit

缺省情况下,IGMP Snooping转发表项的全局最大数量为4294967295。

1.6.3  配置静态组播MAC地址表项

1. 功能简介

在二层组播中,除了可通过二层组播协议(如IGMP Snooping)动态建立组播MAC地址表项外,还可通过手工方式配置组播MAC地址表项,将端口与组播MAC地址进行静态绑定,以便灵活控制组播信息送达的目的端口。

2. 配置限制和指导

可手工配置的组播MAC地址表项必须是尚未使用的组播MAC地址(即最高字节的最低比特位为1的MAC地址)

3. 系统视图下配置静态组播MAC地址表项

(1)     进入系统视图。

system-view

(2)     配置静态组播MAC地址表项。

mac-address multicast mac-address interface interface-list vlan vlan-id

4. 接口视图下配置静态组播MAC地址表项

(1)     进入系统视图。

system-view

(2)     进入二层接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置静态组播MAC地址表项。

mac-address multicast mac-address vlan vlan-id

1.6.4  配置IGMP特定组查询报文的发送间隔

1. 功能简介

合理配置IGMP特定组查询的最大响应时间,既可以使主机对IGMP查询报文做出快速响应,又可以减少由于定时器同时超时,造成大量主机同时发送报告报文而引起的网络拥塞。

二层设备所发送的IGMP特定组查询报文,其报文的最大响应时间字段由所配置的IGMP特定组查询报文的发送间隔来填充,在主机在收到IGMP特定组查询报文后,会为其所加入的该组播组启动一个定时器,定时器的值在0到最大响应时间(该时间值由主机从所收到的IGMP特定组查询报文的最大响应时间字段获得)中随机选定,当定时器的值减为0时,主机就会向该定时器对应的组播组发送IGMP成员关系报告报文。

2. 全局配置IGMP特定组查询报文的发送间隔

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     全局配置IGMP特定组查询报文的发送间隔。

last-member-query-interval interval

缺省情况下,IGMP特定组查询报文的发送间隔为1秒。

3. 在VLAN内配置IGMP特定组查询报文的发送间隔

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     在VLAN内配置IGMP特定组查询报文的发送间隔。

igmp-snooping last-member-query-interval interval

缺省情况下,IGMP特定组查询报文的发送间隔为1秒。

4. 在VSI内配置IGMP特定组查询报文的发送间隔

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     在VSI内配置IGMP特定组查询报文的发送间隔。

igmp-snooping last-member-query-interval interval

缺省情况下,IGMP特定组查询报文的发送间隔为1秒。

1.7  配置IGMP Snooping端口功能

1.7.1  配置动态端口老化定时器

1. 功能简介

对于动态路由器端口,如果在其老化时间内没有收到IGMP普遍组查询报文或者PIM Hello报文,二层设备将把该端口从动态路由器端口列表中删除。

对于动态成员端口,如果在其老化时间内没有收到该组播组的IGMP成员关系报告报文,二层设备将把该端口从该组播组所对应转发表项的出端口列表中删除。

2. 配置限制和指导

请根据网络环境合理设置动态端口的老化时间,比如网络中组播组成员变动比较频繁,可以把动态成员端口老化时间设置小一些,避免一些无效表项老化时间过长。

如果动态路由器端口收到的是PIMv2 Hello报文,那么该端口的老化时间将由PIMv2 Hello报文所携带的参数决定,而不受本节配置的影响。

如果二层设备向动态成员端口主动发送IGMP特定组查询报文,则该端口的老化时间将根据该IGMP特定组查询报文进行调整,调整的老化时间为2×IGMP特定组查询报文的发送间隔。二层设备IGMP特定组查询报文发送间隔的配置,请参见“1.6.4  配置IGMP特定组查询报文的发送间隔”。

3. 全局配置动态端口老化定时器

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     全局配置动态路由器端口老化时间。

router-aging-time seconds

缺省情况下,动态路由器端口的老化时间为260秒。

(4)     全局配置动态成员端口老化时间。

host-aging-time seconds

缺省情况下,动态成员端口的老化时间为260秒。

4. 在VLAN内配置动态端口老化定时器

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     在VLAN内配置动态路由器端口老化时间。

igmp-snooping router-aging-time seconds

缺省情况下,动态路由器端口的老化时间为260秒。

(4)     在VLAN内配置动态成员端口老化时间。

igmp-snooping host-aging-time seconds

缺省情况下,动态成员端口的老化时间为260秒。

5. 在VSI内配置动态端口老化定时器

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     在VSI内配置动态路由器端口老化时间。

igmp-snooping router-aging-time seconds

缺省情况下,动态路由器端口的老化时间为260秒。

(4)     在VSI内配置动态成员端口老化时间。

igmp-snooping host-aging-time seconds

缺省情况下,动态成员端口的老化时间为260秒。

1.7.2  配置静态成员端口

1. 功能简介

如果某端口所连接的主机需要固定接收发往某组播组或组播源组的组播数据,可以配置该端口静态加入该组播组或组播源组,成为静态成员端口。静态成员端口不会对IGMP查询器发出的查询报文进行响应;当配置静态成员端口或取消静态成员端口的配置时,端口也不会主动发送IGMP成员关系报告报文或IGMP离开组报文。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入二层接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置静态成员端口。

igmp-snooping static-group group-address [ source-ip source-address ] vlan vlan-id

缺省情况下,端口不是静态成员端口。

1.7.3  配置静态路由器端口

1. 功能简介

可以通过将二层设备上的端口配置为静态路由器端口,从而使二层设备上收到的所有组播数据可以通过该端口被转发出去。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入二层接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置静态路由器端口。

igmp-snooping static-router-port vlan vlan-id

缺省情况下,端口不是静态路由器端口。

1.7.4  配置模拟主机加入

1. 功能简介

在二层设备的端口上配置了模拟主机加入后,该模拟主机就可以模仿真实的组播组成员主机,对IGMP查询器发出的查询报文进行响应,包括:

·     启动模拟主机时,该端口会主动发送一个IGMP成员关系报告报文。

·     在模拟主机的运行过程中,当收到IGMP查询报文时,该端口会响应一个IGMP成员关系报告报文。

·     停止模拟主机时,该端口会发送一个IGMP离开组报文。

在二层设备的端口上配置了模拟主机加入后,模拟主机所采用的IGMP版本与IGMP Snooping的版本一致,并且该端口将作为动态成员端口参与动态成员端口的老化过程。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入二层接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置模拟主机加入。

igmp-snooping host-join group-address [ source-ip source-address ] vlan vlan-id

缺省情况下,未配置模拟主机加入组。

1.7.5  配置端口快速离开功能

1. 功能简介

端口快速离开是指当端口收到主机发来的离开指定组播组的IGMP离开组报文时,直接将该端口从相应转发表项的出端口列表中删除。此后,二层设备不会向该端口发送或转发针对该组播组的IGMP特定组查询报文。

2. 配置限制和指导

对于一个VLAN,只有当一个端口下只有一个接收者时,才建议配置本功能;否则,当一个端口下有多个接收者时,其中一个接收者的离开会触发该端口的快速离开,从而导致属于同一组播组的其它接收者无法收到组播数据。

3. 全局配置端口快速离开功能

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     全局开启端口快速离开功能。

fast-leave [ vlan vlan-list ]

缺省情况下,端口快速离开功能处于关闭状态。

4. 在端口上配置端口快速离开功能

(1)     进入系统视图。

system-view

(2)     进入二层接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     在端口上开启端口快速离开功能。

igmp-snooping fast-leave [ vlan vlan-list ]

缺省情况下,端口快速离开功能处于关闭状态。

1.7.6  禁止端口成为动态路由器端口

1. 功能简介

在组播用户接入网络中,用户主机在某些情况下(比如测试)也会发出IGMP普遍组查询报文或PIM Hello报文:

·     如果二层设备收到了某用户主机发来的IGMP普遍组查询报文或PIM Hello报文,那么接收报文的端口就将成为动态路由器端口,从而使VLAN内的所有组播报文都会向该端口转发,导致该主机收到大量无用的组播报文。

·     同时,用户主机发送IGMP普遍组查询报文或PIM Hello报文,也会影响该接入网络中三层设备上的组播路由协议状态(如影响IGMP查询器或DR的选举),严重时可能导致网络中断。

当禁止一个端口成为动态路由器端口后,即使该端口收到了IGMP普遍组查询报文或PIM Hello报文,该端口也不会成为动态路由器端口,从而能够有效解决上述问题,提高网络的安全性和对组播用户的控制能力。

2. 配置限制和指导

禁止端口成为动态路由器端口的配置与静态路由器端口的配置互不影响。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入二层接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     禁止端口成为动态路由器端口。

igmp-snooping router-port-deny [ vlan vlan-list ]

缺省情况下,端口可以成为动态路由器端口。

1.8  配置IGMP Snooping查询器

1.8.1  开启IGMP Snooping查询器

1. 功能简介

在运行了IGMP的组播网络中,会有一台三层组播设备充当IGMP查询器,负责发送IGMP查询报文,使三层组播设备能够在网络层建立并维护组播转发表项,从而在网络层正常转发组播数据。

但是,在一个没有三层组播设备的网络中,由于二层设备并不支持IGMP,因此无法实现IGMP查询器的相关功能。为了解决这个问题,可以在二层设备上开启IGMP Snooping查询器,使二层设备能够在数据链路层建立并维护组播转发表项,从而在数据链路层正常转发组播数据。

2. 配置限制和指导

请避免在运行了IGMP的网络中配置IGMP Snooping查询器,因为尽管IGMP Snooping查询器并不参与IGMP查询器的选举,但在运行了IGMP的网络中,配置IGMP Snooping查询器不但没有实际的意义,反而可能会由于其发送的IGMP普遍组查询报文的源IP地址较小而影响IGMP查询器的选举。有关IGMP查询器的详细介绍,请参见“IP组播配置指导”中的“IGMP”。

在VSI/VXLAN组网中,由于VSI内IGMP Snooping查询器发送查询报文不携带VLAN Tag,所以不建议在携带VLAN Tag的Ethernet接入模式下配置IGMP Snooping查询器,有关Ethernet接入模式的详细介绍,请参见“VXLAN配置指导”中的“接入模式”。

3. 在VLAN内开启IGMP Snooping查询器

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     开启IGMP Snooping查询器。

igmp-snooping querier

缺省情况下,IGMP Snooping查询器处于关闭状态。

4. 在VSI内开启IGMP Snooping查询器

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     开启IGMP Snooping查询器。

igmp-snooping querier

缺省情况下,IGMP Snooping查询器处于关闭状态。

1.8.2  配置IGMP普遍组查询和响应

1. 功能简介

可以根据网络的实际情况来修改IGMP普遍组查询报文的发送间隔。

合理配置IGMP普遍组查询的最大响应时间,既可以使主机对IGMP查询报文做出快速响应,又可以减少由于定时器同时超时,造成大量主机同时发送报告报文而引起的网络拥塞。

对于IGMP普遍组查询报文,其报文最大响应时间字段由所配置的IGMP普遍组查询的最大响应时间来填充,在主机收到IGMP普遍组查询报文后,会为其所加入的每个组播组都启动一个定时器,定时器的值在0到最大响应时间(该时间值由主机从所收到的IGMP普遍组查询报文的最大响应时间字段获得)中随机选定,当定时器的值减为0时,主机就会向该定时器对应的组播组发送IGMP成员关系报告报文。

2. 配置限制和指导

为避免误删组播组成员,请确保IGMP普遍组查询报文的发送间隔大于IGMP普遍组查询的最大响应时间,否则配置虽能生效但系统会给出提示。

3. 全局配置IGMP普遍组查询和响应

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     全局配置IGMP普遍组查询的最大响应时间。

max-response-time seconds

缺省情况下,IGMP普遍组查询的最大响应时间为10秒。

4. 在VLAN内配置IGMP普遍组查询和响应

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     在VLAN内配置IGMP普遍组查询报文的发送间隔。

igmp-snooping query-interval interval

缺省情况下,IGMP普遍组查询报文的发送间隔为125秒。

(4)     在VLAN内配置IGMP普遍组查询的最大响应时间。

igmp-snooping max-response-time seconds

缺省情况下,IGMP普遍组查询的最大响应时间为10秒。

5. 在VSI内配置IGMP普遍组查询和响应

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vlan vlan-id

(3)     在VSI内配置IGMP普遍组查询报文的发送间隔。

igmp-snooping query-interval interval

缺省情况下,IGMP普遍组查询报文的发送间隔为125秒。

(4)     在VSI内配置IGMP普遍组查询的最大响应时间。

igmp-snooping max-response-time seconds

缺省情况下,IGMP普遍组查询的最大响应时间为10秒。

1.9  配置IGMP Snooping Proxy

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     在VLAN内开启IGMP Snooping Proxy功能。

igmp-snooping proxy enable

缺省情况下,VLAN内的IGMP Snooping Proxy功能处于关闭状态。

1.10  调整IGMP报文

1.10.1  配置IGMP报文的源IP地址

1. 功能简介

由于IGMP Snooping查询器有可能发出源IP地址为0.0.0.0的查询报文,而收到此类查询报文的端口将不会被维护为动态路由器端口,从而影响动态IGMP Snooping转发表项的建立,最终导致组播数据无法正常转发。因此,用户可在IGMP Snooping查询器上通过本配置将IGMP查询报文的源IP地址配置为一个有效的IP地址以避免上述问题。IGMP查询报文源IP地址的改变可能会影响网段内IGMP查询器的选举。

用户也可以通过本配置改变模拟主机或IGMP Snooping代理发送的IGMP成员关系报告报文或IGMP离开组报文的源IP地址。

2. 在VLAN内配置IGMP报文的源IP地址

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     配置IGMP普遍组查询报文的源IP地址。

igmp-snooping general-query source-ip ip-address

缺省情况下,IGMP普遍组查询报文的源IP地址为当前VLAN接口的IP地址;若当前VLAN接口没有IP地址,则采用0.0.0.0。

(4)     配置IGMP特定组查询报文的源IP地址。

igmp-snooping special-query source-ip ip-address

缺省情况下,以收到过IGMP普遍组查询报文的源IP地址作为IGMP特定组查询报文的源IP地址;否则,采用VLAN绑定的VLAN接口的IP地址;若该VLAN接口没有IP地址,则采用0.0.0.0。

(5)     配置IGMP成员关系报告报文的源IP地址。

igmp-snooping report source-ip ip-address

缺省情况下,IGMP成员关系报告报文的源IP地址为当前VLAN接口的IP地址;若当前VLAN接口没有IP地址,则采用0.0.0.0。

(6)     配置IGMP离开组报文的源IP地址。

igmp-snooping leave source-ip ip-address

缺省情况下,IGMP离开组报文的源IP地址为当前VLAN接口的IP地址;若当前VLAN接口没有IP地址,则采用0.0.0.0。

3. 在VSI内配置IGMP报文的源IP地址

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     配置IGMP普遍组查询报文的源IP地址。

igmp-snooping general-query source-ip ip-address

缺省情况下,IGMP普遍组查询报文的源IP地址为VSI绑定的VSI接口的IP地址;若绑定的VSI接口没有IP地址,则采用0.0.0.0。

(4)     配置IGMP特定组查询报文的源IP地址。

igmp-snooping special-query source-ip ip-address

缺省情况下,以收到过IGMP普遍组查询报文的源IP地址作为IGMP特定组查询报文的源IP地址;否则,采用VSI绑定的VSI接口的IP地址;若该VSI接口没有IP地址,则采用0.0.0.0。

(5)     配置IGMP成员关系报告报文的源IP地址。

igmp-snooping report source-ip ip-address

缺省情况下,IGMP成员关系报告报文的源IP地址为VSI绑定的VSI接口的IP地址;若绑定的VSI接口没有IP地址,则采用0.0.0.0。

(6)     配置IGMP离开组报文的源IP地址。

igmp-snooping leave source-ip ip-address

缺省情况下,IGMP离开组报文的源IP地址为VSI绑定的VSI接口的IP地址;若绑定的VSI接口没有IP地址,则采用0.0.0.0。

1.11  配置IGMP Snooping策略

1.11.1  配置组播组过滤器

1. 功能简介

在使能了IGMP Snooping的二层设备上,通过配置组播组过滤器,可以限制用户对组播节目的点播。本配置只对动态组播组有效,对静态组播组无效。

在实际应用中,当用户点播某个组播节目时,主机会发起一个IGMP成员关系报告报文,该报文将在二层设备上接受组播组过滤器的检查,只有通过了检查,二层设备才会将该主机所属的端口加入到出端口列表中,从而达到控制用户点播组播节目的目的。

2. 全局配置组播组过滤器

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     全局配置组播组过滤器。

group-policy ipv4-acl-number [ vlan vlan-list ]

缺省情况下,未配置组播组过滤器,即主机可以加入任意合法的组播组。

3. 在端口上配置组播组过滤器

(1)     进入系统视图。

system-view

(2)     进入二层接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     在端口上配置组播组过滤器。

igmp-snooping group-policy ipv4-acl-number [ vlan vlan-list ]

缺省情况下,未配置组播组过滤器,即主机可以加入任意合法的组播组。

1.11.2  配置组播数据报文源端口过滤

1. 功能简介

通过配置组播数据报文源端口过滤功能,可以允许或禁止端口作为组播源端口:

·     开启该功能后,端口不能连接组播源,因为该端口将过滤掉所有的组播数据报文(但允许组播协议报文通过),因此只能连接组播数据接收者。

·     关闭该功能后,端口既能连接组播源,也能连接组播数据接收者。

2. 配置限制和指导

配置组播数据报文源端口过滤在全局配置或在端口上配置的优先级相同,最新配置生效。

仅SPC类单板、CSPC类单板和CMPE-1104单板支持本功能。

3. 全局配置组播数据报文源端口过滤

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     开启指定端口的组播数据报文源端口过滤功能。

source-deny port interface-list

缺省情况下,组播数据报文源端口过滤功能处于关闭状态。

4. 在端口上配置组播数据报文源端口过滤

(1)     进入系统视图。

system-view

(2)     进入二层以太网接口视图。

interface interface-type interface-number

(3)     开启当前端口的组播数据报文源端口过滤功能。

igmp-snooping source-deny

缺省情况下,组播数据报文源端口过滤功能处于关闭状态。

1.11.3  配置丢弃未知组播数据报文

1. 功能简介

未知组播数据报文是指在IGMP Snooping转发表中不存在对应转发表项的那些组播数据报文:

·     当开启了丢弃未知组播数据报文功能时,二层设备将丢弃所有收到的未知组播数据报文;

·     当关闭了丢弃未知组播数据报文功能时,二层设备将在未知组播数据报文所属的VLAN内广播该报文。

2. 在VLAN内配置丢弃未知组播数据报文

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     在VLAN内开启丢弃未知组播数据报文功能。

igmp-snooping drop-unknown

缺省情况下,丢弃未知组播数据报文功能处于关闭状态,即对未知组播数据报文进行广播。

3. 在VSI内配置丢弃未知组播数据报文

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     在VSI内开启丢弃未知组播数据报文功能。

igmp-snooping drop-unknown

缺省情况下,丢弃未知组播数据报文功能处于关闭状态,即对未知组播数据报文进行广播。

1.11.4  配置IGMP成员关系报告报文抑制

1. 功能简介

当二层设备收到来自某组播组成员的IGMP成员关系报告报文时,会将该报文转发给与其直连的三层设备。这样,当二层设备上存在属于某组播组的多个成员时,与其直连的三层设备会收到这些成员发送的相同IGMP成员关系报告报文。

当开启了IGMP成员关系报告报文抑制功能后,在一个查询间隔内二层设备只会把收到的某组播组内的第一个IGMP成员关系报告报文转发给三层设备,而不继续向三层设备转发来自同一组播组的其它IGMP成员关系报告报文,这样可以减少网络中的报文数量。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     开启IGMP成员关系报告报文抑制功能。

report-aggregation

缺省情况下,IGMP成员关系报告报文抑制功能处于开启状态。

1.11.5  配置端口加入的组播组最大数量

1. 功能简介

通过配置端口加入的组播组最大数量,可以限制用户点播组播节目的数量,从而控制了端口上的数据流量。本配置只对动态组播组有效,对静态组播组无效。

在配置端口加入的组播组最大数量时,如果当前端口上的组播组数量已超过配置值,系统将把该端口相关的所有转发表项从IGMP Snooping转发表中删除,该端口下的主机都需要重新加入组播组,直至该端口上的组播组数量达到限制值,系统将自动丢弃新的IGMP成员关系报告报文。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入二层接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置端口加入的组播组最大数量。

igmp-snooping group-limit limit [ vlan vlan-list ]

缺省情况下,未对端口加入的组播组最大数量进行限制。

1.11.6  配置组播组替换功能

1. 功能简介

当端口上的组播组数目超过配置端口加入的组播组最大数量时,会自动丢弃新的IGMP成员关系报告报文。组播组替换功能开启后,当端口收到新的IGMP成员关系报告报文时,会自动离开IP地址最小的组播组并加入新的组播组。本功能主要应用于频道切换,以实现从一个组播组切换到另一个组播组。

2. 配置限制和指导

本配置只对动态组播组有效,对静态组播组无效。

当设备上维护的IGMP Snooping转发表项达到配置的IGMP Snooping转发表项的全局最大数量并且端口新加入的组播组不在设备维护的组播组列表中时,组播组替换功能不能生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     全局开启组播组替换功能。

overflow-replace [ vlan vlan-list ]

缺省情况下,组播组替换功能处于关闭状态。

4. 在端口上配置组播组替换功能

(1)     进入系统视图。

system-view

(2)     进入二层接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     在端口上开启组播组替换功能。

igmp-snooping overflow-replace [ vlan vlan-list ]

缺省情况下,组播组替换功能处于关闭状态。

1.11.7  配置IGMP Snooping主机跟踪功能

1. 功能简介

通过开启IGMP Snooping主机跟踪功能,可以使二层设备能够记录正在接收组播数据的成员主机信息(包括主机的IP地址、加入组播组的运行时长和超时剩余时间等),以便于网络管理员对这些主机进行监控和管理。

2. 配置限制和指导

用户在IGMP-Snooping视图下的全局配置不会对VSI生效。

3. 全局配置IGMP Snooping主机跟踪功能

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     全局开启IGMP Snooping主机跟踪功能。

host-tracking

缺省情况下,IGMP Snooping主机跟踪功能处于关闭状态。

4. 在VLAN内配置IGMP Snooping主机跟踪功能

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     在VLAN内开启IGMP Snooping主机跟踪功能。

igmp-snooping host-tracking

缺省情况下,IGMP Snooping主机跟踪功能处于关闭状态。

1.12  IGMP Snooping显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后IGMP Snooping的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除IGMP Snooping的信息。

表1-2 IGMP Snooping显示和维护

操作

命令

显示IGMP Snooping的状态信息

display igmp-snooping [ global | vlan vlan-id | vsi vsi-name ]

显示动态IGMP Snooping组播组的信息(独立运行模式)

display igmp-snooping group [ group-address | source-address ] * [ vlan vlan-id | vsi vsi-name ] [ verbose ] [ slot slot-number ]

显示动态IGMP Snooping组播组的信息(IRF模式)

display igmp-snooping group [ group-address | source-address ] * [ vlan vlan-id | vsi vsi-name ] [ verbose ] [ chassis chassis-number slot slot-number ]

显示IGMP Snooping主机跟踪信息(独立运行模式)

display igmp-snooping host-tracking vlan vlan-id group group-address [ source source-address ] [ slot slot-number ]

显示IGMP Snooping主机跟踪信息(IRF模式)

display igmp-snooping host-tracking vlan vlan-id group group-address [ source source-address ] [ chassis chassis-number slot slot-number ]

显示动态路由器端口的信息(独立运行模式)

display igmp-snooping router-port [ verbose | vlan vlan-id | vsi vsi-name [ verbose ] ] [ slot slot-number ]

显示动态路由器端口的信息(IRF模式)

display igmp-snooping router-port [ verbose | vlan vlan-id | vsi vsi-name [ verbose ] ] [ chassis chassis-number slot slot-number ]

显示静态IGMP Snooping组播组的信息(独立运行模式)

display igmp-snooping static-group [ group-address | source-address ] * [ vlan vlan-id ] [ verbose ] [ slot slot-number ]

显示静态IGMP Snooping组播组的信息(IRF模式)

display igmp-snooping static-group [ group-address | source-address ] * [ vlan vlan-id ] [ verbose ] [ chassis chassis-number slot slot-number ]

显示静态路由器端口的信息(独立运行模式)

display igmp-snooping static-router-port [ vlan vlan-id ] [ slot slot-number ]

显示静态路由器端口的信息(IRF模式)

display igmp-snooping static-router-port [ vlan vlan-id ] [ chassis chassis-number slot slot-number ]

显示IGMP Snooping监听到的IGMP报文和PIM hello报文的统计信息

display igmp-snooping statistics

显示二层组播的IP组播组信息(独立运行模式)

display l2-multicast ip [ group group-address | source source-address ] * [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ]

显示二层组播的IP组播组信息(IRF模式)

display l2-multicast ip [ group group-address | source source-address ] * [ vlan vlan-id | vsi vsi-name ] [ chassis chassis-number slot slot-number ]

显示二层组播的IP转发表信息(独立运行模式)

display l2-multicast ip forwarding [ group group-address | source source-address ] * [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ]

显示二层组播的IP转发表信息(IRF模式)

display l2-multicast ip forwarding [ group group-address | source source-address ] * [ vlan vlan-id | vsi vsi-name ] [ chassis chassis-number slot slot-number ]

显示二层组播的MAC组播组信息(独立运行模式)

display l2-multicast mac [ mac-address ] [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ]

显示二层组播的MAC组播组信息(IRF模式)

display l2-multicast mac [ mac-address ] [ vlan vlan-id | vsi vsi-name ] [ chassis chassis-number slot slot-number ]

显示二层组播的MAC转发表信息(独立运行模式)

display l2-multicast mac forwarding [ mac-address ] [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ]

显示二层组播的MAC转发表信息(IRF模式)

display l2-multicast mac forwarding [ mac-address ] [ vlan vlan-id | vsi vsi-name ] [ chassis chassis-number slot slot-number ]

显示静态组播MAC地址表信息

display mac-address [ mac-address [ vlan vlan-id ] | [ multicast ] [ vlan vlan-id ] [ count ] ]

清除动态IGMP Snooping组播组的信息

reset igmp-snooping group { group-address [ source-address ] | all } [ vlan vlan-id | vsi vsi-name ]

清除动态路由器端口的信息

reset igmp-snooping router-port { all | vlan vlan-id | vsi vsi-name }

清除IGMP Snooping监听到的IGMP报文和PIM hello报文的统计信息

reset igmp-snooping statistics

 

1.13  IGMP Snooping典型配置举例

1.13.1  基于VLAN的组策略及模拟主机加入配置举例

1. 组网需求

·     如图1-4所示,Router A通过GigabitEthernet1/0/2接口连接组播源(Source),通过GigabitEthernet1/0/1接口连接Device A;Router A上运行IGMPv2,Device A上运行版本2的IGMP Snooping,并由Router A充当IGMP查询器。

·     通过配置,使Host A和Host B能且只能接收发往组播组224.1.1.1的组播数据,并且当Host A和Host B发生意外而临时中断接收组播数据时,发往组播组224.1.1.1组播数据也能不间断地通过Device A的接口GigabitEthernet1/0/3和GigabitEthernet1/0/4转发出去;同时,使Device A将收到的未知组播数据直接丢弃,避免在其所属的VLAN 100内广播。

2. 组网图

图1-4 基于VLAN的组策略及模拟主机加入配置组网图

3. 配置步骤

(1)     配置IP地址

请按照图1-4配置各接口的IP地址和子网掩码,具体配置过程略。

(2)     配置Router A

# 使能IP组播路由,在接口GigabitEthernet1/0/2上使能PIM-DM,并在接口GigabitEthernet1/0/1上使能IGMP。

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] igmp enable

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] pim dm

[RouterA-GigabitEthernet1/0/2] quit

(3)     配置Device A

# 全局使能IGMP Snooping。

<DeviceA> system-view

[DeviceA] igmp-snooping

[DeviceA-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/4添加到该VLAN中;在该VLAN内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[DeviceA] vlan 100

[DeviceA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4

[DeviceA-vlan100] igmp-snooping enable

[DeviceA-vlan100] igmp-snooping drop-unknown

[DeviceA-vlan100] quit

# 配置组播组过滤器,以限定VLAN 100内的主机只能加入组播组224.1.1.1。

[DeviceA] acl basic 2001

[DeviceA-acl-ipv4-basic-2001] rule permit source 224.1.1.1 0

[DeviceA-acl-ipv4-basic-2001] quit

[DeviceA] igmp-snooping

[DeviceA-igmp-snooping] group-policy 2001 vlan 100

[DeviceA-igmp-snooping] quit

# 在GigabitEthernet1/0/3和GigabitEthernet1/0/4上分别配置模拟主机加入组播组224.1.1.1。

[DeviceA] interface gigabitethernet 1/0/3

[DeviceA-GigabitEthernet1/0/3] igmp-snooping host-join 224.1.1.1 vlan 100

[DeviceA-GigabitEthernet1/0/3] quit

[DeviceA] interface gigabitethernet 1/0/4

[DeviceA-GigabitEthernet1/0/4] igmp-snooping host-join 224.1.1.1 vlan 100

[DeviceA-GigabitEthernet1/0/4] quit

4. 验证配置

假设组播源分别向组播组224.1.1.1和224.2.2.2发送的组播数据,Host A和Host B也都申请加入这两个组播组。

# 显示Device A上VLAN 100内动态IGMP Snooping组播组的信息。

[DeviceA] display igmp-snooping group vlan 100

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host slots (0 in total):

    Host ports (2 in total):

      GE1/0/3                             (00:03:23)

      GE1/0/4                             (00:04:10)

由此可见,Host A和Host B所在的端口GigabitEthernet1/0/4和GigabitEthernet1/0/3均已加入组播组224.1.1.1,但都未加入组播组224.2.2.2,这表明组播组过滤器已生效。

1.13.2  基于VLAN的静态端口配置举例

1. 组网需求

·     如图1-5所示,Router A通过GigabitEthernet1/0/2接口连接组播源(Source),通过GigabitEthernet1/0/1接口连接Device A;Router A上运行IGMPv2,Device A、Device B和Device C上都运行版本2的IGMP Snooping,并由Router A充当IGMP查询器。

·     Host A和Host C均为组播组224.1.1.1的固定接收者(Receiver),通过将Device C上的端口GigabitEthernet1/0/3和GigabitEthernet1/0/5配置为组播组224.1.1.1的静态成员端口,可以增强组播数据在传输过程中的可靠性。

·     假设由于受STP等链路层协议的影响,为了避免出现环路,Device A—Device C的转发路径在正常情况下是阻断的,组播数据只能通过Device A—Device B—Device C的路径传递给连接在Device C上的接收者;要求通过将Device A的端口GigabitEthernet1/0/3配置为静态路由器端口,以保证当Device A—Device B—Device C的路径出现阻断时,组播数据可以几乎不间断地通过Device A—Device C的新路径传递给接收者。

说明

如果没有配置静态路由器端口,那么当Device A—Device B—Device C的路径出现阻断时,至少需要等待一个IGMP查询和响应周期完成后,组播数据才能通过Device A—Device C的新路径传递给接收者,组播数据的传输在这个过程中将中断。

有关STP(Spanning Tree Protocol,生成树协议)的详细介绍,请参见“二层技术-以太网交换配置指导”中的“生成树”。

 

2. 组网图

图1-5 基于VLAN的静态端口配置组网图

3. 配置步骤

(1)     配置IP地址

请按照图1-5配置各接口的IP地址和子网掩码,具体配置过程略。

(2)     配置Router A

# 使能IP组播路由,在接口GigabitEthernet1/0/2上使能PIM-DM,并在接口GigabitEthernet1/0/1上使能IGMP。

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] igmp enable

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] pim dm

[RouterA-GigabitEthernet1/0/2] quit

(3)     配置Device A

# 全局使能IGMP Snooping。

<DeviceA> system-view

[DeviceA] igmp-snooping

[DeviceA-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到该VLAN中,并在该VLAN内使能IGMP Snooping。

[DeviceA] vlan 100

[DeviceA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3

[DeviceA-vlan100] igmp-snooping enable

[DeviceA-vlan100] quit

# 把GigabitEthernet1/0/3配置为静态路由器端口。

[DeviceA] interface gigabitethernet 1/0/3

[DeviceA-GigabitEthernet1/0/3] igmp-snooping static-router-port vlan 100

[DeviceA-GigabitEthernet1/0/3] quit

(4)     配置Device B

# 全局使能IGMP Snooping。

<DeviceB> system-view

[DeviceB] igmp-snooping

[DeviceB-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/1和GigabitEthernet1/0/2添加到该VLAN中,并在该VLAN内使能IGMP Snooping。

[DeviceB] vlan 100

[DeviceB-vlan100] port gigabitethernet 1/0/1 gigabitethernet 1/0/2

[DeviceB-vlan100] igmp-snooping enable

[DeviceB-vlan100] quit

(5)     配置Device C

# 全局使能IGMP Snooping。

<DeviceC> system-view

[DeviceC] igmp-snooping

[DeviceC-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/5添加到该VLAN中,并在该VLAN内使能IGMP Snooping。

[DeviceC] vlan 100

[DeviceC-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/5

[DeviceC-vlan100] igmp-snooping enable

[DeviceC-vlan100] quit

# 分别在端口GigabitEthernet1/0/3和GigabitEthernet1/0/5上配置静态加入组播组224.1.1.1。

[DeviceC] interface gigabitethernet 1/0/3

[DeviceC-GigabitEthernet1/0/3] igmp-snooping static-group 224.1.1.1 vlan 100

[DeviceC-GigabitEthernet1/0/3] quit

[DeviceC] interface gigabitethernet 1/0/5

[DeviceC-GigabitEthernet1/0/5] igmp-snooping static-group 224.1.1.1 vlan 100

[DeviceC-GigabitEthernet1/0/5] quit

4. 验证配置

# 显示Device A上VLAN 100内静态路由器端口的信息。

[DeviceA] display igmp-snooping static-router-port vlan 100

VLAN 100:

  Router slots (0 in total):

  Router ports (1 in total):

    GE1/0/3

由此可见,Device A上的端口GigabitEthernet1/0/3已经成为了静态路由器端口。

# 显示Device C上VLAN 100内静态IGMP Snooping组播组的信息。

[DeviceC] display igmp-snooping static-group vlan 100

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host slots (0 in total):

    Host ports (2 in total):

      GE1/0/3

      GE1/0/5

由此可见,Device C上的端口GigabitEthernet1/0/3和GigabitEthernet1/0/5已经成为了组播组224.1.1.1的静态成员端口。

1.13.3  基于VLAN的IGMP Snooping查询器配置举例

1. 组网需求

·     如图1-6所示,在一个没有三层设备的纯二层网络环境中,组播源Source 1和Source 2分别向组播组224.1.1.1和225.1.1.1发送组播数据,Host A和Host C是组播组224.1.1.1的接收者(Receiver),Host B和Host D则是组播组225.1.1.1的接收者;所有接收者均使用IGMPv2,所有设备上都运行版本2的IGMP Snooping,并选择距组播源较近的Device A来充当IGMP Snooping查询器。

·     为防止设备在没有二层组播转发表项时将组播数据在VLAN内广播,在所有设备上都开启丢弃未知组播数据报文功能;同时,由于设备不会将收到源IP地址为0.0.0.0的IGMP查询报文的端口设置为动态路由器端口,从而会影响二层组播转发表项的建立并导致组播数据无法正常转发,因此需要将IGMP查询报文的源IP地址配置为非0.0.0.0以避免此问题。

2. 组网图

图1-6 基于VLAN的IGMP Snooping查询器配置组网图

3. 配置步骤

(1)     配置Device A

# 全局使能IGMP Snooping。

<DeviceA> system-view

[DeviceA] igmp-snooping

[DeviceA-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到该VLAN中;在该VLAN内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[DeviceA] vlan 100

[DeviceA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3

[DeviceA-vlan100] igmp-snooping enable

[DeviceA-vlan100] igmp-snooping drop-unknown

# 在VLAN 100内开启IGMP Snooping查询器。

[DeviceA-vlan100] igmp-snooping querier

[DeviceA-vlan100] quit

# 在VLAN 100内将IGMP普遍组查询和特定组查询报文的源IP地址均配置为192.168.1.1。

[DeviceA-vlan100] igmp-snooping general-query source-ip 192.168.1.1

[DeviceA-vlan100] igmp-snooping special-query source-ip 192.168.1.1

[DeviceA-vlan100] quit

(2)     配置Device B

# 全局使能IGMP Snooping。

<DeviceB> system-view

[DeviceB] igmp-snooping

[DeviceB-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/4添加到该VLAN中;在该VLAN内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[DeviceB] vlan 100

[DeviceB-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4

[DeviceB-vlan100] igmp-snooping enable

[DeviceB-vlan100] igmp-snooping drop-unknown

[DeviceB-vlan100] quit

(3)     配置Device C

# 全局使能IGMP Snooping。

<DeviceC> system-view

[DeviceC] igmp-snooping

[DeviceC-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到该VLAN中;在该VLAN内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[DeviceC] vlan 100

[DeviceC-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3

[DeviceC-vlan100] igmp-snooping enable

[DeviceC-vlan100] igmp-snooping drop-unknown

[DeviceC-vlan100] quit

(4)     配置Device D

# 全局使能IGMP Snooping。

<DeviceD> system-view

[DeviceD] igmp-snooping

[DeviceD-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/2添加到该VLAN中;在该VLAN内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[DeviceD] vlan 100

[DeviceD-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/2

[DeviceD-vlan100] igmp-snooping enable

[DeviceD-vlan100] igmp-snooping drop-unknown

[DeviceD-vlan100] quit

4. 验证配置

当IGMP Snooping查询器开始工作之后,除查询器以外的所有设备都能收到IGMP普遍组查询报文。

# 显示Device B上收到的IGMP报文的统计信息。

[DeviceB] display igmp-snooping statistics

Received IGMP general queries:  3

Received IGMPv1 reports:  0

Received IGMPv2 reports:  12

Received IGMP leaves:  0

Received IGMPv2 specific queries:  0

Sent     IGMPv2 specific queries:  0

Received IGMPv3 reports:  0

Received IGMPv3 reports with right and wrong records:  0

Received IGMPv3 specific queries:  0

Received IGMPv3 specific sg queries:  0

Sent     IGMPv3 specific queries:  0

Sent     IGMPv3 specific sg queries:  0

Received PIMv2 hello:  0

Received error IGMP messages:  0

1.13.4  基于VLAN的IGMP Snooping Proxy配置举例

1. 组网需求

·     如图1-7所示,Router A通过GigabitEthernet1/0/2接口连接组播源(Source),通过GigabitEthernet1/0/1接口连接Device A;Router A上运行IGMPv2,Device A上运行版本2的IGMP Snooping,并由Router A充当IGMP查询器。

·     通过配置,使Device A能够代理下游主机向Router A发送的IGMP报告报文和离开报文,以及响应Router A发来的IGMP查询报文并向下游主机转发。

2. 组网图

图1-7 基于VLAN的IGMP Snooping Proxy配置组网图

 

3. 配置步骤

(1)     配置IP地址

请按照图1-7配置各接口的IP地址和子网掩码,具体配置过程略。

(2)     配置Router A

# 使能IP组播路由,在接口GigabitEthernet1/0/2上使能PIM-DM,并在接口GigabitEthernet1/0/1上使能IGMP。

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] igmp enable

[RouterA-GigabitEthernet1/0/1] pim dm

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] pim dm

[RouterA-GigabitEthernet1/0/2] quit

(3)     配置Device A

# 全局使能IGMP Snooping。

<DeviceA> system-view

[DeviceA] igmp-snooping

[DeviceA-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/4添加到该VLAN中;在该VLAN内使能IGMP Snooping,并使能IGMP Snooping Proxy。

[DeviceA] vlan 100

[DeviceA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4

[DeviceA-vlan100] igmp-snooping enable

[DeviceA-vlan100] igmp-snooping proxy enable

[DeviceA-vlan100] quit

4. 验证配置

当配置完成后,Host A和Host B分别发送组地址为224.1.1.1的IGMP加入报文,Device A收到该报文后通过其路由器端口GigabitEthernet1/0/1向Router A也发送该组的加入报文。通过使用display igmp-snooping group和display igmp group命令可以分别查看IGMP Snooping组和IGMP组的信息,例如:

# 查看Device A上IGMP Snooping组播组的信息。

[DeviceA] display igmp-snooping group

 Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (2 in total):

      GE1/0/3                                     (00:04:00)

      GE1/0/4                                     (00:04:04)

# 查看Router A上IGMP组的信息。

[RouterA] display igmp group

IGMP groups in total: 1

 GigabitEthernet1/0/1(10.1.1.1):

  IGMP groups reported in total: 1

   Group address   Last reporter   Uptime      Expires

   224.1.1.1       0.0.0.0         00:00:31    00:02:03

当Host A离开组播组224.1.1.1时,向Device A发送该组的IGMP离开报文,但由于Host B仍未离开该组,因此Device A并不会删除该组,也不会向Router A发送该组的离开报文,只是在该组对应转发表项的成员端口列表中将端口GigabitEthernet1/0/4删除。通过使用display igmp-snooping group命令可以查看IGMP Snooping组的信息,例如:

# 查看Device A上IGMP Snooping组播组的信息。

[DeviceA] display igmp-snooping group

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (1 in total):

      GE1/0/3                                     ( 00:01:23 )

1.13.5  基于VSI的IGMP Snooping配置举例

1. 组网需求

·     如图1-8所示,VPN a中有三个站点,各站点之间通过VPLS网络互连。

·     站点1中的组播源(Source)、站点2中的组播接收者(Receiver)Host A和站点3中的普通主机Host B均通过VLAN 100分别与CE 1、CE 2和CE 3相连。

·     通过配置,在VPLS网络中实现二层组播转发。

2. 组网图

图1-8 基于VSI的IGMP Snooping配置组网图

设备

接口

IP地址

设备

接口

IP地址

PE 1

Vlan-int101

10.110.1.1/24

PE 3

Vlan-int102

10.110.2.2/24

 

Vlan-int102

10.110.2.1/24

 

Vlan-int103

10.110.3.2/24

 

Loop0

1.1.1.1/32

 

Loop0

3.3.3.3/32

PE 2

Vlan-int101

10.110.1.2/24

 

 

 

 

Vlan-int103

10.110.3.1/24

 

 

 

 

Loop0

2.2.2.2/32

 

 

 

 

3. 配置步骤

(1)     配置IP地址和单播路由协议

请按照图1-8在VPLS网络中配置各接口的IP地址和子网掩码,并在VPLS网络内的各设备上配置OSPF协议,具体配置过程略。

(2)     配置CE 1

# 全局使能IGMP Snooping。

<CE1> system-view

[CE1] igmp-snooping

[CE1-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/2添加到该VLAN中;在该VLAN内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[CE1] vlan 100

[CE1-vlan100] port gigabitethernet 1/0/2

[CE1-vlan100] igmp-snooping enable

[CE1-vlan100] igmp-snooping drop-unknown

# 配置端口GigabitEthernet1/0/1为Trunk模式,并允许VLAN 100报文通过。

[CE1] interface gigabitethernet 1/0/1

[CE1-GigabitEthernet1/0/1] port link-type trunk

[CE1-GigabitEthernet1/0/1] port trunk permit vlan 100

[CE1-GigabitEthernet1/0/1] quit

# 在VLAN 100内使能IGMP Snooping查询器,并将IGMP普遍组查询和特定组查询报文的源IP地址均设置为192.168.1.100。

[CE1-vlan100] igmp-snooping querier

[CE1-vlan100] igmp-snooping general-query source-ip 192.168.1.100

[CE1-vlan100] igmp-snooping special-query source-ip 192.168.1.100

(3)     配置CE 2

# 全局使能IGMP Snooping。

<CE2> system-view

[CE2] igmp-snooping

[CE2-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/2添加到该VLAN中;在该VLAN内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[CE2] vlan 100

[CE2-vlan100] port gigabitethernet 1/0/2

[CE2-vlan100] igmp-snooping enable

[CE2-vlan100] igmp-snooping drop-unknown

# 配置端口GigabitEthernet1/0/1为Trunk模式,并允许VLAN 100报文通过。

[CE2] interface gigabitethernet 1/0/1

[CE2-GigabitEthernet1/0/1] port link-type trunk

[CE2-GigabitEthernet1/0/1] port trunk permit vlan 100

[CE2-GigabitEthernet1/0/1] quit

(4)     配置CE 3

# 全局使能IGMP Snooping。

<CE3> system-view

[CE3] igmp-snooping

[CE3-igmp-snooping] quit

# 创建VLAN 100,把端口GigabitEthernet1/0/2添加到该VLAN中;在该VLAN内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[CE3] vlan 100

[CE3-vlan100] port gigabitethernet 1/0/2

[CE3-vlan100] igmp-snooping enable

[CE3-vlan100] igmp-snooping drop-unknown

# 配置端口GigabitEthernet1/0/1为Trunk模式,并允许VLAN 100报文通过。

[CE3] interface gigabitethernet 1/0/1

[CE3-GigabitEthernet1/0/1] port link-type trunk

[CE3-GigabitEthernet1/0/1] port trunk permit vlan 100

[CE3-GigabitEthernet1/0/1] quit

(5)     配置PE 1

# 配置本节点的LSR ID为1.1.1.1,并使能L2VPN功能和LDP能力。

<PE1> system-view

[PE1] mpls lsr-id 1.1.1.1

[PE1] l2vpn enable

[PE1] mpls ldp

[PE1-ldp] quit

# 在接口Vlan-interface101和Vlan-interface102上分别使能MPLS能力和LDP能力。

[PE1] interface vlan-interface 101

[PE1-Vlan-interface101] mpls enable

[PE1-Vlan-interface101] mpls ldp enable

[PE1-Vlan-interface101] quit

[PE1] interface vlan-interface 102

[PE1-Vlan-interface102] mpls enable

[PE1-Vlan-interface102] mpls ldp enable

[PE1-Vlan-interface102] quit

# 创建VSI aaa,指定其使用的PW信令协议为静态配置方式,并配置PW。

[PE1] vsi aaa

[PE1-vsi-aaa] pwsignaling static

[PE1-vsi-aaa-static] peer 2.2.2.2 pw-id 3 in-label 100 out-label 100

[PE1-vsi-aaa-static-2.2.2.2-3] quit

[PE1-vsi-aaa-static] peer 3.3.3.3 pw-id 3 in-label 200 out-label 200

[PE1-vsi-aaa-static-3.3.3.3-3] quit

[PE1-vsi-aaa-static] quit

[PE1-vsi-aaa] quit

# 将接口GigabitEthernet1/0/1与VSI aaa关联。

[PE1] interface gigabitethernet 1/0/1

[PE1-GigabitEthernet1/0/1] service-instance 1

[PE1-GigabitEthernet1/0/1-srv1] encapsulation s-vid 5

[PE1-GigabitEthernet1/0/1-srv1] xconnect vsi aaa

[PE1-GigabitEthernet1/0/1-srv1] quit

[PE1-GigabitEthernet1/0/1] quit

# 全局使能IGMP Snooping。

[PE1] igmp-snooping

[PE1-igmp-snooping] quit

# 在VSI aaa内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[PE1] vsi aaa

[PE1-vsi-aaa] igmp-snooping enable

[PE1-vsi-aaa] igmp-snooping drop-unknown

[PE1-vsi-aaa] quit

(6)     配置PE 2

# 配置本节点的LSR ID为2.2.2.2,并使能L2VPN功能和LDP能力。

<PE2> system-view

[PE2] mpls lsr-id 2.2.2.2

[PE2] l2vpn enable

[PE2] mpls ldp

[PE2-ldp] quit

# 在接口Vlan-interface101和Vlan-interface103上分别使能MPLS能力和LDP能力。

[PE2] interface vlan-interface 101

[PE2-Vlan-interface101] mpls enable

[PE2-Vlan-interface101] mpls ldp enable

[PE2-Vlan-interface101] quit

[PE2] interface vlan-interface 103

[PE2-Vlan-interface103] mpls enable

[PE2-Vlan-interface103] mpls ldp enable

[PE2-Vlan-interface103] quit

# 创建VSI aaa,指定其使用的PW信令协议为静态配置方式,并配置PW。

[PE2] vsi aaa

[PE2-vsi-aaa] pwsignaling static

[PE2-vsi-aaa-static] peer 1.1.1.1 pw-id 3 in-label 100 out-label 100

[PE2-vsi-aaa-static-1.1.1.1-3] quit

[PE2-vsi-aaa-static] peer 3.3.3.3 pw-id 3 in-label 300 out-label 300

[PE2-vsi-aaa-static-3.3.3.3-3] quit

[PE2-vsi-aaa-static] quit

[PE2-vsi-aaa] quit

# 将接口GigabitEthernet1/0/1与VSI aaa关联。

[PE2] interface gigabitethernet 1/0/1

[PE2-GigabitEthernet1/0/1] service-instance 1

[PE2-GigabitEthernet1/0/1-srv1] encapsulation s-vid 5

[PE2-GigabitEthernet1/0/1-srv1] xconnect vsi aaa

[PE2-GigabitEthernet1/0/1-srv1] quit

[PE2-GigabitEthernet1/0/1] quit

# 全局使能IGMP Snooping。

[PE2] igmp-snooping

[PE2-igmp-snooping] quit

# 在VSI aaa内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[PE2] vsi aaa

[PE2-vsi-aaa] igmp-snooping enable

[PE2-vsi-aaa] igmp-snooping drop-unknown

[PE2-vsi-aaa] quit

(7)     配置PE 3

# 配置本节点的LSR ID为3.3.3.3,并使能L2VPN功能和LDP能力。

<PE3> system-view

[PE3] mpls lsr-id 3.3.3.3

[PE3] l2vpn enable

[PE3] mpls ldp

[PE3-ldp] quit

# 在接口Vlan-interface102和Vlan-interface103上分别使能MPLS能力和LDP能力。

[PE3] interface vlan-interface 102

[PE3-Vlan-interface102] mpls enable

[PE3-Vlan-interface102] mpls ldp enable

[PE3-Vlan-interface102] quit

[PE3] interface vlan-interface 103

[PE3-Vlan-interface103] mpls enable

[PE3-Vlan-interface103] mpls ldp enable

[PE3-Vlan-interface103] quit

# 创建VSI aaa,指定其使用的PW信令协议为静态配置方式,并配置PW。

[PE3] vsi aaa

[PE3-vsi-aaa] pwsignaling static

[PE3-vsi-aaa-static] peer 1.1.1.1 pw-id 3 in-label 200 out-label 200

[PE3-vsi-aaa-static-1.1.1.1-3] quit

[PE3-vsi-aaa-static] peer 2.2.2.2 pw-id 3 in-label 300 out-label 300

[PE3-vsi-aaa-static-2.2.2.2-3] quit

[PE3-vsi-aaa-static] quit

[PE3-vsi-aaa] quit

# 将接口GigabitEthernet1/0/1与VSI aaa关联。

[PE3] interface gigabitethernet 1/0/1

[PE3-GigabitEthernet1/0/1] service-instance 1

[PE3-GigabitEthernet1/0/1-srv1] encapsulation s-vid 5

[PE3-GigabitEthernet1/0/1-srv1] xconnect vsi aaa

[PE3-GigabitEthernet1/0/1-srv1] quit

[PE3-GigabitEthernet1/0/1] quit

# 全局使能IGMP Snooping。

[PE3] igmp-snooping

[PE3-igmp-snooping] quit

# 在VSI aaa内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[PE3] vsi aaa

[PE3-vsi-aaa] igmp-snooping enable

[PE3-vsi-aaa] igmp-snooping drop-unknown

[PE3-vsi-aaa] quit

4. 验证配置

# 在PE 1上显示VSI aaa内动态IGMP Snooping组播组的详细信息。

[PE1] display igmp-snooping group vsi aaa verbose

Total 1 entries.

 

VSI aaa: Total 1 entries.

  (0.0.0.0, 225.0.0.1)

    Attribute: global port

    FSM information: normal

    Host slots (0 in total):

    Host ports (1 in total):

      NPW (VSI index 0 Link ID 9)         (00:02:24)

        VLAN pairs (1 in total):

          Out VLAN 100     In VLAN 0        (00:02:24)

# 在PE 1上显示VSI aaa内动态路由器端口的详细信息。

[PE1] display igmp-snooping router-port vsi aaa verbose

VSI aaa:

  Router slots (0 in total):

  Router ports (1 in total):

    AC (VSI index 0 Link ID 0)          (00:01:46)

      VLAN pairs (1 in total):

        Out VLAN 100     In VLAN 0        (00:01:46)

# 在PE 2上显示VSI aaa内动态IGMP Snooping组播组的详细信息。

[PE2] display igmp-snooping group vsi aaa verbose

Total 1 entries.

 

VSI aaa: Total 1 entries.

  (0.0.0.0, 225.0.0.1)

    Attribute: global port

    FSM information: normal

    Host slots (0 in total):

    Host ports (1 in total):

      NPW (VSI index 0 Link ID 8)         (00:02:07)

        VLAN pairs (1 in total):

          Out VLAN 100     In VLAN 0        (00:02:07)

# 在PE 2上显示VSI aaa内动态路由器端口的详细信息。

[PE2] display igmp-snooping router-port vsi aaa verbose

VSI aaa:

  Router slots (0 in total):

  Router ports (1 in total):

    NPW (VSI index 0 Link ID 9)         (00:01:26)

      VLAN pairs (1 in total):

        Out VLAN 100     In VLAN 0        (00:01:26)

# 在PE 3上显示VSI aaa内动态IGMP Snooping组播组的详细信息。

[PE3] display igmp-snooping group vsi aaa verbose

Total 1 entries.

 

VSI aaa: Total 1 entries.

  (0.0.0.0, 225.0.0.1)

    Attribute: global port

    FSM information: normal

    Host slots (0 in total):

    Host ports (1 in total):

      AC (VSI index 0 Link ID 0)          (00:02:04)

        VLAN pairs (1 in total):

          Out VLAN 100     In VLAN 0        (00:02:04)

# 在PE 3上显示VSI aaa内动态路由器端口的详细信息。

[PE3] display igmp-snooping router-port vsi aaa verbose

VSI aaa:

  Router slots (0 in total):

  Router ports (1 in total):

    NPW (VSI index 0 Link ID 9)         (00:01:24)

      VLAN pairs (1 in total):

        Out VLAN 100     In VLAN 0        (00:01:24)

1.13.6  基于VXLAN的IGMP Snooping配置举例

1. 组网需求

在VXLAN网络中,Device A、Device B、Device C为与服务器连接的VTEP设备。虚拟机VM 1、VM 2和VM 3同属于VXLAN 10。通过VXLAN实现不同站点间的二层互联,且站点之间的泛洪流量采用单播路由方式(头端复制方式)转发。

要求基于现有VXLAN网络,通过配置IGMP Snooping功能,实现网络中二层组播转发,以减轻VTEP设备对已知组播数据报文的复制负担。

2. 组网图

图1-9 基于VXLAN的IGMP Snooping配置组网图

设备

接口

IP地址

设备

接口

IP地址

Device A

Vlan-int11

11.1.1.1/24

Device C

Vlan-int13

13.1.1.3/24

 

Loop0

1.1.1.1/32

 

Loop0

3.3.3.3/32

Device B

Vlan-int12

12.1.1.2/24

Device D

Vlan-int11

11.1.1.4/24

 

Loop0

2.2.2.2/32

 

Vlan-int12

12.1.1.4/24

 

 

 

 

Vlan-int13

13.1.1.4/24

 

3. 配置步骤

(1)     配置IP地址和单播路由协议

请按照图1-9配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。

(2)     配置Device A

# 开启L2VPN能力。

<DeviceA> system-view

[DeviceA] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[DeviceA] vsi vpna

[DeviceA-vsi-vpna] vxlan 10

[DeviceA-vsi-vpna-vxlan-10] quit

[DeviceA-vsi-vpna] quit

# 全局使能IGMP Snooping。

[DeviceA] igmp-snooping

[DeviceA -igmp-snooping] quit

# 在VSI vpna内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[DeviceA] vsi vpna

[DeviceA-vsi-vpna] igmp-snooping enable

[DeviceA-vsi-vpna] igmp-snooping drop-unknown

[DeviceA-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[DeviceA] interface loopback 0

[DeviceA-Loopback0] ip address 1.1.1.1 255.255.255.255

[DeviceA-Loopback0] quit

# 在Device A和Device B之间建立VXLAN隧道:

[DeviceA] interface tunnel 1 mode vxlan

[DeviceA-Tunnel1] source 1.1.1.1

[DeviceA-Tunnel1] destination 2.2.2.2

[DeviceA-Tunnel1] quit

# 在Device A和Device C之间建立VXLAN隧道。

[DeviceA] interface tunnel 2 mode vxlan

[DeviceA-Tunnel2] source 1.1.1.1

[DeviceA-Tunnel2] destination 3.3.3.3

[DeviceA-Tunnel2] quit

# 配置Tunnel1和Tunnel2与VXLAN 10关联。

[DeviceA] vsi vpna

[DeviceA-vsi-vpna] vxlan 10

[DeviceA-vsi-vpna-vxlan-10] tunnel 1

[DeviceA-vsi-vpna-vxlan-10] tunnel 2

[DeviceA-vsi-vpna-vxlan-10] quit

[DeviceA-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] service-instance 1000

[DeviceA-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[DeviceA-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[DeviceA-GigabitEthernet1/0/1-srv1000] quit

[DeviceA-GigabitEthernet1/0/1] quit

(3)     配置Device B

# 开启L2VPN能力。

<DeviceB> system-view

[DeviceB] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[DeviceB] vsi vpna

[DeviceB-vsi-vpna] vxlan 10

[DeviceB-vsi-vpna-vxlan-10] quit

[DeviceB-vsi-vpna] quit

# 全局使能IGMP Snooping。

[DeviceB] igmp-snooping

[DeviceB -igmp-snooping] quit

# 在VSI vpna内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

[DeviceB] vsi vpna

[DeviceB-vsi-vpna] igmp-snooping enable

[DeviceB-vsi-vpna] igmp-snooping drop-unknown

[DeviceB-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[DeviceB] interface loopback 0

[DeviceB-Loopback0] ip address 2.2.2.2 255.255.255.255

[DeviceB-Loopback0] quit

# 在Device A和Device B之间建立VXLAN隧道。

[DeviceB] interface tunnel 2 mode vxlan

[DeviceB-Tunnel2] source 2.2.2.2

[DeviceB-Tunnel2] destination 1.1.1.1

[DeviceB-Tunnel2] quit

# 在Device B和Device C之间建立VXLAN隧道。

[DeviceB] interface tunnel 3 mode vxlan

[DeviceB-Tunnel3] source 2.2.2.2

[DeviceB-Tunnel3] destination 3.3.3.3

[DeviceB-Tunnel3] quit

# 配置Tunnel2和Tunnel3与VXLAN10关联。

[DeviceB] vsi vpna

[DeviceB-vsi-vpna] vxlan 10

[DeviceB-vsi-vpna-vxlan-10] tunnel 2

[DeviceB-vsi-vpna-vxlan-10] tunnel 3

[DeviceB-vsi-vpna-vxlan-10] quit

[DeviceB-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] service-instance 1000

[DeviceB-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[DeviceB-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[DeviceB-GigabitEthernet1/0/1-srv1000] quit

[DeviceB-GigabitEthernet1/0/1] quit

(4)     配置Device C

# 开启L2VPN能力。

<DeviceC> system-view

[DeviceC] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[DeviceC] vsi vpna

[DeviceC-vsi-vpna] vxlan 10

[DeviceC-vsi-vpna-vxlan-10] quit

[DeviceC-vsi-vpna] quit

# 全局使能IGMP Snooping。

[DeviceB] igmp-snooping

[DeviceB -igmp-snooping] quit

# 在VSI vpna内使能IGMP Snooping,并开启丢弃未知组播数据报文和二层组播查询器功能。

[DeviceC] vsi vpna

[DeviceC-vsi-vpna] igmp-snooping enable

[DeviceC-vsi-vpna] igmp-snooping drop-unknown

[DeviceC-vsi-vpna] igmp-snooping general-query source-ip 3.3.3.3

[DeviceC-vsi-vpna] igmp-snooping querier

[DeviceC-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[DeviceC] interface loopback 0

[DeviceC-Loopback0] ip address 3.3.3.3 255.255.255.255

[DeviceC-Loopback0] quit

# 在Device A和Device C之间建立VXLAN隧道。

[DeviceC] interface tunnel 1 mode vxlan

[DeviceC-Tunnel1] source 3.3.3.3

[DeviceC-Tunnel1] destination 1.1.1.1

[DeviceC-Tunnel1] quit

# 在Device B和Device C之间建立VXLAN隧道。

[DeviceC] interface tunnel 3 mode vxlan

[DeviceC-Tunnel3] source 3.3.3.3

[DeviceC-Tunnel3] destination 2.2.2.2

[DeviceC-Tunnel3] quit

# 配置Tunnel1和Tunnel3与VXLAN 10关联。

[DeviceC] vsi vpna

[DeviceC-vsi-vpna] vxlan 10

[DeviceC-vsi-vpna-vxlan-10] tunnel 1

[DeviceC-vsi-vpna-vxlan-10] tunnel 3

[DeviceC-vsi-vpna-vxlan-10] quit

[DeviceC-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[DeviceC] interface gigabitethernet 1/0/1

[DeviceC-GigabitEthernet1/0/1] service-instance 1000

[DeviceC-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[DeviceC-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[DeviceC-GigabitEthernet1/0/1-srv1000] quit

[DeviceC-GigabitEthernet1/0/1] quit

4.  验证配置

# 在Device A上显示VSI vpna内动态路由器端口信息。

[DeviceA] display igmp-snooping router-port vsi vpna

VSI vpna:

  Router slots (0 in total):

  Router ports (1 in total):

    NPW (VXLAN ID 10 Link ID 0X5000001)         (00:04:17)

# 在Device B上显示VSI vpna内动态路由器端口信息。

[DeviceB] display igmp-snooping router-port vsi vpna

VSI vpna:

  Router slots (0 in total):

  Router ports (1 in total):

    NPW (VXLAN ID 10 Link ID 0X5000001)         (00:04:07)

1.14  IGMP Snooping常见故障处理

1.14.1  二层设备不能实现二层组播

1. 故障现象

二层设备不能实现IGMP Snooping二层组播功能。

2. 故障分析

IGMP Snooping没有使能。

3. 处理过程

(1)     使用display igmp-snooping命令查看IGMP Snooping的运行状态。

(2)     如果是没有使能IGMP Snooping,则需先在系统视图下使用igmp-snooping命令全局使能IGMP Snooping,然后在VLAN视图/VSI视图下使用igmp-snooping enable命令使能VLAN内的IGMP Snooping。

(3)     如果只是没有在相应VLAN/VSI下使能IGMP Snooping,则只需在VLAN视图/VSI视图下使用igmp-snooping enable命令使能VLAN/VSI内的IGMP Snooping。

1.14.2  配置的组播组策略不生效

1. 故障现象

配置了组播组策略,只允许主机加入某些特定的组播组,但主机仍然可以收到发往其它组播组的组播数据。

2. 故障分析

·     ACL规则配置不正确;

·     组播组策略应用不正确;

·     没有开启丢弃未知组播数据报文的功能,使得属于过滤策略之外的组播数据报文(即未知组播数据报文)被广播。

3. 处理过程

(1)     使用display acl命令查看所配置的ACL规则,检查其是否与所要实现的组播组过滤策略相符合。

(2)     在IGMP-Snooping视图或相应的接口视图下使用display this命令查看是否应用了正确的组播组策略。如果没有,则使用group-policyigmp-snooping group-policy命令应用正确的组播组策略。

(3)     使用display igmp-snooping命令查看是否已开启丢弃未知组播数据报文的功能。如果没有开启,则使用igmp-snooping drop-unknown命令开启丢弃未知组播数据报文功能。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们