• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

06-IP组播配置指导

目录

02-IGMP Snooping配置

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

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.6 使能IGMP Snooping

1.6.1 使能全局IGMP Snooping

1.6.2 使能VLAN的IGMP Snooping

1.6.3 使能VSI的IGMP Snooping

1.7 配置IGMP Snooping基本功能

1.7.1 配置IGMP Snooping版本

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

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

1.7.4 配置VXLAN组网中的静态组播MAC地址表项

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

1.8 配置IGMP Snooping端口功能

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

1.8.2 配置静态成员端口

1.8.3 配置静态路由器端口

1.8.4 配置模拟主机加入

1.8.5 配置端口快速离开功能

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

1.8.7 配置组播数据不向VLAN内的路由器端口转发

1.9 配置二层组播数据转发模式

1.10 配置IGMP Snooping查询器

1.10.1 开启IGMP Snooping查询器

1.10.2 开启IGMP Snooping查询器选举功能

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

1.10.4 配置设备在链路拓扑发生变化时立刻发送IGMP普遍组查询报文

1.10.5 配置设备在端口链路状态发生变化时立刻发送IGMP普遍组查询报文

1.11 配置IGMP Snooping Proxy

1.12 调整IGMP报文

1.12.1 配置IGMP报文的源IP地址

1.12.2 配置IGMP报文的802.1p优先级

1.13 配置IGMP Snooping策略

1.13.1 配置组播组过滤器

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

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

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

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

1.13.6 配置组播组替换功能

1.13.7 配置IGMP Snooping主机跟踪功能

1.13.8 配置组播用户控制策略

1.14 配置设备发送的IGMP协议报文的DSCP优先级

1.15 开启IGMP Snooping告警功能

1.16 配置IGMP Snooping日志功能

1.16.1 开启IGMP Snooping日志功能

1.16.2 开启IGMP Snooping日志限速功能

1.17 IGMP Snooping显示和维护

1.18 IGMP Snooping典型配置举例

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

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

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

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

1.18.5 基于VLAN的组播用户控制策略配置举例

1.18.6 基于VSI的IGMP Snooping配置举例

1.18.7 基于VXLAN的IGMP Snooping配置举例

1.19 IGMP Snooping常见故障处理

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

1.19.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连接组播源,在Switch A和Switch B上分别运行IGMP Snooping,Host A和Host C为接收者主机(即组播组成员)。根据在网络中所处位置的不同,IGMP Snooping端口可以分为路由器端口和成员端口两类,以下分别介绍。

图1-2 IGMP Snooping端口示意图

 

1. 路由器端口

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

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

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

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

说明

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

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

 

2. 成员端口

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

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

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

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

说明

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

 

1.1.3  IGMP Snooping工作机制

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

说明

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

 

1. 普遍组查询

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

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

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

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

2. 报告成员关系

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

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

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

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

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

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

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

说明

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

 

3. 离开组播组

运行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代理设备的Switch A,对其上游的IGMP查询器Device A来说相当于一台主机,代理下游主机向Device A发送报告报文和离开报文。

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

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

IGMP报文

处理方式

普遍组查询报文

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

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

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

报告报文

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

离开报文

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

 

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配置限制和指导

对于从Secondary VLAN中收到的主机加入请求,相关的IGMP Snooping转发表项都将维护在Primary VLAN中,因此IGMP Snooping功能只需在Primary VLAN中配置即可,在Secondary VLAN中即使配置了也不会生效。有关Primary VLAN和Secondary VLAN的详细介绍,请参见“二层技术-以太网交换配置指导”中的“Private VLAN”。

二层聚合接口与其各成员端口上的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内的所有端口生效,接口视图下配置只对当前接口生效,且接口视图下的配置优先级较高。

组播组规格依赖硬件规格中ARP/ND表项容量,当下发超ARP/ND表项容量的组播组时,可能会出现Hash冲突,建议通过配置hardware-resource switch-mode命令增大ARP/ND表项容量。有关ARP/ND表项的详细介绍,请参见“基础配置指导”中的“设备管理。

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

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

(1)     开启设备的IGMP Snooping特性

(2)     使能IGMP Snooping

请至少选择以下一项任务进行配置:

¡     使能全局IGMP Snooping

¡     使能VLAN的IGMP Snooping

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

¡     配置IGMP Snooping版本

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

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

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

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

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

¡     配置静态成员端口

¡     配置静态路由器端口

¡     配置模拟主机加入

¡     配置端口快速离开功能

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

¡     配置组播数据不向VLAN内的路由器端口转发

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

¡     开启IGMP Snooping查询器

¡     开启IGMP Snooping查询器选举功能

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

¡     配置设备在链路拓扑发生变化时立刻发送IGMP普遍组查询报文

¡     配置设备在端口链路状态发生变化时立刻发送IGMP普遍组查询报文

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

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

¡     配置IGMP报文的源IP地址

¡     配置IGMP报文的802.1p优先级

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

¡     配置组播组过滤器

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

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

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

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

¡     配置组播组替换功能

¡     配置IGMP Snooping主机跟踪功能

¡     配置组播用户控制策略

(9)     (可选)配置设备发送的IGMP协议报文的DSCP优先级

(10)     (可选)开启IGMP Snooping告警功能

(11)     (可选)配置IGMP Snooping日志功能

¡     开启IGMP Snooping日志功能

¡     开启IGMP Snooping日志限速功能

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

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

(1)     开启设备的IGMP Snooping特性

(2)     使能IGMP Snooping

请至少选择以下一项任务进行配置:

¡     使能全局IGMP Snooping

¡     使能VSI的IGMP Snooping

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

¡     配置IGMP Snooping版本

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

¡     配置VXLAN组网中的静态组播MAC地址表项

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

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

(5)     (可选)配置二层组播数据转发模式

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

¡     开启IGMP Snooping查询器

¡     开启IGMP Snooping查询器选举功能

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

¡     配置设备在链路拓扑发生变化时立刻发送IGMP普遍组查询报文

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

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

¡     配置IGMP报文的源IP地址

¡     配置IGMP报文的802.1p优先级

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

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

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

¡     配置组播用户控制策略

(10)     (可选)配置设备发送的IGMP协议报文的DSCP优先级

(11)     (可选)开启IGMP Snooping告警功能

(12)     (可选)配置IGMP Snooping日志功能

¡     开启IGMP Snooping日志功能

¡     开启IGMP Snooping日志限速功能

1.5  开启设备的IGMP Snooping特性

1. 功能简介

只有在开启了设备的IGMP Snooping特性后,才能进行其它的IGMP Snooping相关配置。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启设备的IGMP Snooping特性,并进入IGMP-Snooping视图。

igmp-snooping

缺省情况下,设备的IGMP Snooping特性处于关闭状态。

1.6  使能IGMP Snooping

1.6.1  使能全局IGMP Snooping

1. 功能简介

使能全局IGMP Snooping后,设备上所有VLAN/VSI的IGMP Snooping都将使能。如果某个VLAN/VSI内不需要使用IGMP Snooping,可以在该VLAN/VSI内关闭IGMP snooping。

2. 配置限制和指导

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

使能或关闭VLAN/VSI内的IGMP Snooping的优先级高于使能全局IGMP Snooping。例如:使能全局IGMP Snooping后,再在某VLAN视图下通过igmp-snooping disable命令关闭当前VLAN的IGMP Snooping,则该VLAN内的IGMP Snooping处于关闭状态。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     使能全局IGMP Snooping。

global-enable

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

(4)     (可选)关闭某VLAN/VSI的IGMP Snooping。

a.     退回系统视图。

quit

b.     分别执行以下命令进入VLAN视图或VSI视图。

vlan vlan-id

vsi vsi-name

c.     关闭该VLAN/VSI的IGMP Snooping。

igmp-snooping disable

缺省情况下,VLAN/VSI内IGMP Snooping的状态与全局IGMP Snooping的状态保持一致。

1.6.2  使能VLAN的IGMP Snooping

1. 配置限制和指导

用户既可在IGMP-Snooping视图下对单个或多个VLAN进行配置,也可在VLAN视图下只对当前VLAN进行配置,二者的配置优先级相同。

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

2. 使能单个或多个VLAN的IGMP Snooping

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

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

enable vlan vlan-list

缺省情况下,VLAN内IGMP Snooping的状态与全局IGMP Snooping的状态保持一致。

3. 使能单个VLAN的IGMP Snooping

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     使能该VLAN的IGMP Snooping。

igmp-snooping enable

缺省情况下,VLAN内IGMP Snooping的状态与全局IGMP Snooping的状态保持一致。

1.6.3  使能VSI的IGMP Snooping

1. 配置限制和指导

对于基于VSI的IGMP Snooping,目前仅支持在VSI视图下对当前VSI使能IGMP Snooping。

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     使能当前VSI的IGMP Snooping。

igmp-snooping enable

缺省情况下,VSI内IGMP Snooping的状态与全局IGMP Snooping的状态保持一致。

1.7  配置IGMP Snooping基本功能

1.7.1  配置IGMP Snooping版本

1. 功能简介

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

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

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

2. 配置限制和指导

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

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

·     如果配置的是指定了组播源的静态加入组播源组,则这些转发表项将会被清除,并且当再次切换回版本3时,这些转发表项将被重新恢复。有关静态加入的详细配置,请参见“1.8.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.7.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.7.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

缺省情况下,不存在静态组播MAC地址表项。

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

缺省情况下,不存在静态组播MAC地址表项。

1.7.4  配置VXLAN组网中的静态组播MAC地址表项

1. 功能简介

使用本功能,可以为VXLAN网络配置本地和远端静态组播MAC地址表项。有关VXLAN的详细介绍,请参见“VXLAN配置指导”中的“VXLAN”。

2. 配置限制和指导

mac-address multicast vsi命令与igmp-snooping enable命令互斥,不能同时配置。

建议不要将EVPN动态创建的隧道接口指定为远端MAC地址对应的隧道接口。否则,当EVPN重新创建隧道时,隧道接口的编号可能发生变化(如配置恢复时),从而导致远端组播MAC地址表项的配置无法恢复。有关EVPN详细的介绍,请参见“EVPN配置指导”中的“EVPN”。

对于EVPN网络,相同的组播MAC地址目前不支持在多个Leaf或VTEP同时配置;对于EVPN多归属应用,多归属成员设备/M-LAG设备不支持将组播MAC地址同步到其他成员设备/M-LAG设备。

mac-address multicast vsi命令指定的interface interface-type interface-number service-instance instance-id参数不能是peer-link接口。如需将peer-link接口指定为静态组播MAC地址表项的出接口,则需要指定peer-link参数。指定了peer-link参数后,peer-link接口上的以太网服务实例将会作为静态组播MAC地址表项的一个出接口。需要注意的是,此时设备上必须要配置l2vpn m-lag peer-link ac-match-rule vxlan-mapping命令,否则peer-link参数不生效。有关l2vpn m-lag peer-link ac-match-rule vxlan-mapping命令的详细介绍,请参见“EVPN命令参考”中的“EVPN”。

如果设备上未配置peer-link接口,则不允许在配置mac-address multicast vsi命令时指定peer-link参数。

3. 配置步骤

(1)     进入系统视图。

system-view

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

mac-address multicast mac-address interface { peer-link | { interface-type interface-number service-instance instance-id }&<1-4> } * vsi vsi-name

缺省情况下,不存在本地静态组播MAC地址表项。

本命令中指定的以太网服务实例必须与指定的VSI关联,否则配置将失败。

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

mac-address multicast mac-address { interface { tunnel tunnel-number1 [ to tunnel tunnel-number2 ] }&<1-4> } vsi vsi-name

缺省情况下,不存在本地静态组播MAC地址表项。

本命令中指定的隧道接口必须与所属VSI对应的VXLAN关联,否则配置将失败。

1.7.5  配置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.8  配置IGMP Snooping端口功能

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

1. 功能简介

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

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

2. 配置限制和指导

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

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

如果二层设备向动态成员端口主动发送IGMP特定组查询报文,则该端口的老化时间将根据该IGMP特定组查询报文进行调整,调整的老化时间为2×IGMP特定组查询报文的发送间隔。二层设备IGMP特定组查询报文发送间隔的配置,请参见“1.7.5  配置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.8.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 | service-instance instance-id }

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

1.8.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.8.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.8.5  配置端口快速离开功能

1. 功能简介

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

2. 配置限制和指导

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

同时开启了二层和三层组播功能的网络中,当端口上的组播组成员需要快速离开时,只需通过本功能开启二层组播的端口快速离开功能,不建议同时开启三层组播的组播组成员快速离开功能(通过igmp fast-leave命令),否则可能会导致同VLAN内的其他端口上组播业务中断。有关igmp fast-leave命令的详细介绍,请参见“IP组播命令参考”中的“IGMP”。

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.8.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.7  配置组播数据不向VLAN内的路由器端口转发

1. 功能简介

缺省情况下,二层组播设备从上游收到组播数据后,会向VLAN内的所有路由器端口进行转发。在某些情况下,比如二层组播设备上所有的接口都被配置为静态路由器端口,组播数据会向设备上所有的路由器端口转发,造成带宽的浪费。此时,如果不需要组播数据向某些VLAN中的路由器端口转发,可以通过在这些VLAN下配置本功能来实现。

2. 配置准备

在配置本功能前,必须先在VLAN内开启IGMP Snooping功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     配置组播数据不向VLAN内的路由器端口转发。

igmp-snooping router-port-discard

缺省情况下,组播数据向VLAN内的路由器端口转发。

1.9  配置二层组播数据转发模式

1. 功能简介

通过配置二层组播数据转发模式,设备可以选择根据组播转发表项中的IP地址或者组播MAC地址来转发组播数据。

根据IP地址进行转发即根据组播数据的组播源IP地址和组播组IP地址进行二层组播数据的转发,可以通过display l2-multicast ip forwarding命令来查看二层组播的IP转发表信息。

可以通过display l2-multicast mac forwarding命令来查看二层组播的MAC转发表信息。

2. 硬件适配关系

仅S6800-54HF、S6800-54HT、S6800-2C-FC,以及产品代码为LS-6800-32Q-H1、LS-6800-2C-H1、LS-6800-4C-H1、LS-6800-54QF-H3、LS-6800-54QF-H5、LS-6800-54QT-H3的机型支持本功能。

3. 配置限制和指导

由于IP地址映射到组播MAC地址时,可能出现多个IP地址映射到同一个组播MAC地址上,容易造成未加入组播组的用户也收到组播数据。因此建议在具备三层组播功能的设备上选择IP模式来进行二层组播数据的转发。

请将在TRILL网络中的设备配置为按照组播MAC地址来转发二层组播数据。

当组播网络中有运行IGMPv3的设备时,建议配置为按照IP地址来转发二层组播数据。

在VSI内配置二层组播数据转发模式为IP转发模式时,需先创建VSI虚接口,并通过gateway vsi-interface命令将VSI虚接口指定为该VSI的网关接口。

4. 在VSI内配置二层组播数据转发模式

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     配置二层组播数据转发模式。

igmp-snooping forwarding-mode { ip | mac }

缺省情况下,设备根据二层组播数据报文所携带的MAC 地址来对其进行转发。

1.10  配置IGMP Snooping查询器

1.10.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”。

在TRILL网络中,一个担任某VLAN的IGMP Snooping查询器的RB,如果又是该VLAN的AVF,则建议将其指定端口配置为静态路由器端口,否则可能无法建立IGMP Snooping转发表项。有关TRILL、RB、AVF和指定端口的详细介绍,请参见“TRILL配置指导”中的“TRILL”。

在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.10.2  开启IGMP Snooping查询器选举功能

1. 功能简介

为了避免某VLAN/VSI因单一IGMP Snooping查询器发生故障引起组播业务中断,建议在VLAN/VSI内配置多个IGMP Snooping查询器,各设备上开启IGMP Snooping查询器选举功能。当选举出的IGMP Snooping查询器发生故障无法正常工作后,VLAN/VSI内各设备会重新选举出新的IGMP Snooping查询器以保证组播业务正常转发。IGMP snooping查询器选举机制和IGMP查询器选举机制一样。有关IGMP查询器的选举机制,请参见“IP组播配置指导”中的“IGMP”。

2. 配置准备

在VLAN/VSI内开启IGMP Snooping查询器选举功能之前,需要先开启IGMP Snooping查询器。有关开启IGMP Snooping查询器的详细介绍,请参见“1.10.1  开启IGMP Snooping查询器

由于IGMP Snooping查询器收到源IP地址为0.0.0.0的查询报文和源IP地址与本机查询器IP地址相同的查询报文不进行选举,因此,用户需要通过igmp-snooping general-query source-ip命令将IGMP查询报文的源IP地址配置为一个非全零以及未被其他设备和主机使用的IP地址以避免上述问题。

通过igmp-snooping version命令保证参与IGMP Snooping查询器选举的各设备IGMP Snooping版本相同。

3. 在VLAN内开启IGMP Snooping查询器选举功能

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     开启IGMP Snooping查询器选举功能。

igmp-snooping querier-election

缺省情况下,VLAN内IGMP Snooping查询器选举功能处于关闭状态。

4. 在VSI内开启IGMP Snooping查询器选举功能

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     开启IGMP Snooping查询器选举功能。

igmp-snooping querier-election

缺省情况下,VSI内IGMP Snooping查询器选举功能处于关闭状态。

1.10.3  配置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视图。

vsi vsi-name

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

igmp-snooping query-interval interval

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

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

igmp-snooping max-response-time seconds

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

1.10.4  配置设备在链路拓扑发生变化时立刻发送IGMP普遍组查询报文

1. 功能简介

当链路拓扑发生变化时,STP等协议会重新计算路径,将流量切换到新的路径。但是,在这种情况下,设备通常不会立即发送IGMP普遍组查询报文,导致组播数据不能及时切换到变更后的路径上。通过执行本配置,可以使得设备在链路变化时主动发送IGMP普遍组查询报文,更新网络中成员端口信息,将组播数据流迅速切换到新的转发路径上。

执行本配置后,设备会向涉及链路拓扑变化的VLAN/VSI中的每一个端口立刻发送一次IGMP普遍组查询报文。

2. 配置限制和指导

请在处于易发生链路拓扑变化的查询器上配置此功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     配置设备在链路拓扑发生变化时立刻发送IGMP普遍组查询报文。

send-query enable

缺省情况下,设备不会因为链路拓扑发生变化而立刻发送IGMP普遍组查询报文。

1.10.5  配置设备在端口链路状态发生变化时立刻发送IGMP普遍组查询报文

1. 功能简介

图1-4所示,为了提高可靠性,组播接收者侧的设备通过以太网冗余接口接入二层组播设备。以太网冗余接口中包含两个成员接口Interface A和Interface B。假设Interface A处于激活状态,那么组播数据将通过Interface A所在链路,经过Device A转到给下游的接收者。当Interface A的链路发生故障时,由于Device C不会立即发送IGMP普遍组查询报文,无法及时将Interface B学习到组播转发表项的成员端口中,导致组播数据无法不能及时切换到Interface B所在的链路上进行传输。有关以太网冗余接口的详细说明,请参见“可靠性配置指导”中的“冗余备份”。

执行本配置后,当设备感知到VLAN内的端口链路状态发生变化时,会立刻发送IGMP普遍组查询报文,更新网络中成员端口信息,将组播数据流迅速切换到新的转发链路上。

图1-4 端口链路状态发生变化时立刻发送IGMP普遍组查询报文示意图

 

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     配置设备在端口链路状态发生变化时立刻发送IGMP普遍组查询报文。

igmp-snooping triggered-query enable { port-down | port-up } *

缺省情况下,设备不会因为端口链路状态发生变化而立刻发送IGMP普遍组查询报文。

1.11  配置IGMP Snooping Proxy

1. 功能简介

通过在边缘设备配置IGMP Snooping Proxy功能,以减少上游设备收到报告报文和离开报文的数量。配置了IGMP Snooping Proxy功能的设备称为IGMP Snooping代理设备,在其上游设备看来,它相当于一台主机,配合开启IGMP Snooping查询器功能,对下游来说就相当于路由器。为了避免过多的报文数量对网络的影响,建议在网络边缘设备上开启IGMP Snooping Proxy功能。

2. 配置限制和指导

在VLAN/VSI内开启IGMP Snooping Proxy功能,需要在全局开启IGMP Snooping以及在VLAN/VSI内使能IGMP Snooping。注意在组播VLAN 的子VLAN下,IGMP Snooping Proxy功能不会生效。

本功能需要和IGMP Snooping查询器功能同时使用。有关开启IGMP Snooping查询器的详细介绍,请参见“1.10.1  开启IGMP Snooping查询器”。

3. 在VLAN内配置IGMP Snooping Proxy

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

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

igmp-snooping proxy enable

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

4. 在VSI内配置IGMP Snooping Proxy

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

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

igmp-snooping proxy enable

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

1.12  调整IGMP报文

1.12.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.12.2  配置IGMP报文的802.1p优先级

1. 功能简介

当二层设备的出端口发生拥塞时,二层设备通过识别报文的802.1p优先级,优先发送优先级较高的报文。用户可以通过本配置改变IGMP报文(包括本设备生成的以及途经本设备的)的802.1p优先级。

2. 配置限制和指导

对于基于VSI的配置,用户只能在IGMP-Snooping视图下对所有VSI进行全局配置。

3. 全局配置IGMP报文的802.1p优先级

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

(3)     全局配置IGMP报文的802.1p优先级。

dot1p-priority priority

缺省情况下,未配置IGMP报文的802.1p优先级。

4. 在VLAN内配置IGMP报文的802.1p优先级

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     在VLAN内配置IGMP报文的802.1p优先级。

igmp-snooping dot1p-priority priority

缺省情况下,未配置IGMP报文的802.1p优先级。

1.13  配置IGMP Snooping策略

1.13.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.13.2  配置组播数据报文源端口过滤

1. 功能简介

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

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

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

2. 配置限制和指导

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

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.13.3  配置丢弃未知组播数据报文

1. 功能简介

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

·     当开启了丢弃未知组播数据报文功能时,二层设备只向其路由器端口转发未知组播数据报文,不在VLAN内广播;如果二层设备没有路由器端口,未知组播数据报文会被丢弃,不再转发。

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

2. 配置限制和指导

在开启了丢弃未知IPv4组播数据报文功能之后,未知IPv6组播数据报文也将被丢弃。

在VLAN/VSI视图下开启了丢弃未知组播数据报文的功能之后,仍会向该VLAN/VSI内的其它路由器端口转发未知组播数据报文。

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

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

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

igmp-snooping drop-unknown

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

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

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

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

igmp-snooping drop-unknown

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

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

1. 功能简介

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IGMP-Snooping视图。

igmp-snooping

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

report-aggregation

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

1.13.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.13.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.13.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.13.8  配置组播用户控制策略

1. 功能简介

通过配置组播用户控制策略,设备可以对组播用户发送的IGMP成员关系报文和IGMP离开报文进行过滤,从而使设备只对策略所许可的组播组维护组播成员关系。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入User-Profile视图。

user-profile profile-name

本命令的详细介绍请参见“安全配置指导”中的“User Profile”。

(3)     配置组播用户控制策略。

igmp-snooping access-policy ipv4-acl-number

缺省情况下,未配置组播用户控制策略,即组播用户可以加入/离开任意合法的组播组。

1.14  配置设备发送的IGMP协议报文的DSCP优先级

1. 功能简介

DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定设备发送的IGMP协议报文的DSCP优先级。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IGMP Snooping视图。

igmp-snooping

(3)     配置设备发送的IGMP协议报文的DSCP优先级。

dscp dscp-value

缺省情况下,设备发送的IGMP协议报文的DSCP优先级为48。

1.15  开启IGMP Snooping告警功能

1. 功能简介

开启了IGMP Snooping告警功能之后,该模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启IGMP Snooping告警功能。

snmp-agent trap enable igmp-snooping [ entry-refresh-failed ]

缺省情况下,IGMP Snooping告警功能处于开启状态。

 

1.16  配置IGMP Snooping日志功能

1.16.1  开启IGMP Snooping日志功能

1. 功能简介

IGMP Snooping日志信息可以方便管理员定位问题和解决问题,生成的日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。

2. 配置限制和指导

若设备输出大量IGMP Snooping日志信息导致设备性能降低,请按需关闭本功能或通过igmp-snooping log suppress命令开启IGMP Snooping日志限速功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IGMP Snooping视图。

igmp-snooping

(3)     开启IGMP Snooping的日志功能。

igmp-snooping log enable [ group ]

缺省情况下,IGMP Snooping日志功能处于开启状态。

1.16.2  开启IGMP Snooping日志限速功能

1. 功能简介

当设备输出大量IGMP Snooping日志信息时,会降低设备性能。此时,可以通过本命令开启IGMP Snooping日志限速功能。开启本功能后,IGMP Snooping模块输出到信息中心的日志速度将会被限制,从而减轻设备的负担。

2. 配置限制和指导

开启本功能前,请确保已通过igmp-snooping log enable命令开启了IGMP Snooping日志功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IGMP Snooping视图。

igmp-snooping

(3)     开启IGMP Snooping日志限速功能。

igmp-snooping log suppress [ group ]

缺省情况下,IGMP Snooping日志限速功能处于开启状态。

1.17  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 ] [ interface interface-type interface-number | [ verbose ] [ slot slot-number  ] ]

显示IGMP Snooping主机跟踪信息

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

显示动态路由器端口的信息

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

显示静态IGMP Snooping组播组的信息

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

显示静态路由器端口的信息

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

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

display igmp-snooping statistics

显示IPv4二层组播快速转发表信息

display l2-multicast fast-forwarding cache [ vlan vlan-id ] [ source-address | group-address ] * [ slot slot-number ]

显示二层组播的IP组播组信息

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

显示二层组播的IP转发表信息

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

显示二层组播的MAC组播组信息

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

显示二层组播的MAC转发表信息

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

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

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

显示二层组播通过EVPN学习到的组播组信息

display igmp-snooping evpn-group [ group-address | source-address ] * [vsi vsi-name ] [ slot slot-number   ]

清除动态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

清除IPv4二层组播快速转发表中的转发项

reset l2-multicast fast-forwarding cache [ vlan vlan-id ] { { source-address | group-address } * | all } [ slot slot-number ]

 

1.18  IGMP Snooping典型配置举例

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

1. 组网需求

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

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

2. 组网图

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

3. 配置准备

请按照组网图配置各接口的IP地址和子网掩码。

4. 配置步骤

(1)     配置Router A

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

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface ten-gigabitethernet 1/0/1

[RouterA-Ten-GigabitEthernet1/0/1] igmp enable

[RouterA-Ten-GigabitEthernet1/0/1] quit

[RouterA] interface ten-gigabitethernet 1/0/2

[RouterA-Ten-GigabitEthernet1/0/2] pim dm

[RouterA-Ten-GigabitEthernet1/0/2] quit

(2)     配置Switch A

# 开启设备的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

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

[SwitchA] vlan 100

[SwitchA-vlan100] port ten-gigabitethernet 1/0/1 to ten-gigabitethernet 1/0/4

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] igmp-snooping drop-unknown

[SwitchA-vlan100] quit

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

[SwitchA] acl basic 2001

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

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

[SwitchA] igmp-snooping

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

[SwitchA-igmp-snooping] quit

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

[SwitchA] interface ten-gigabitethernet 1/0/3

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

[SwitchA-Ten-GigabitEthernet1/0/3] quit

[SwitchA] interface ten-gigabitethernet 1/0/4

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

[SwitchA-Ten-GigabitEthernet1/0/4] quit

5. 验证配置

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

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

[SwitchA] display igmp-snooping group vlan 100

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (2 in total):

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

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

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

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

1. 组网需求

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

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

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

说明

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

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

 

2. 组网图

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

3. 配置准备

按照组网图配置各接口的IP地址和子网掩码。

4. 配置步骤

(1)     配置Router A

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

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface ten-gigabitethernet 1/0/1

[RouterA-Ten-GigabitEthernet1/0/1] igmp enable

[RouterA-Ten-GigabitEthernet1/0/1] quit

[RouterA] interface ten-gigabitethernet 1/0/2

[RouterA-Ten-GigabitEthernet1/0/2] pim dm

[RouterA-Ten-GigabitEthernet1/0/2] quit

(2)     配置Switch A

# 开启设备的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

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

[SwitchA] vlan 100

[SwitchA-vlan100] port ten-gigabitethernet 1/0/1 to ten-gigabitethernet 1/0/3

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] quit

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

[SwitchA] interface ten-gigabitethernet 1/0/3

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

[SwitchA-Ten-GigabitEthernet1/0/3] quit

(3)     配置Switch B

# 开启设备的IGMP Snooping特性。

<SwitchB> system-view

[SwitchB] igmp-snooping

[SwitchB-igmp-snooping] quit

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

[SwitchB] vlan 100

[SwitchB-vlan100] port ten-gigabitethernet 1/0/1 ten-gigabitethernet 1/0/2

[SwitchB-vlan100] igmp-snooping enable

[SwitchB-vlan100] quit

(4)     配置Switch C

# 开启设备的IGMP Snooping特性。

<SwitchC> system-view

[SwitchC] igmp-snooping

[SwitchC-igmp-snooping] quit

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

[SwitchC] vlan 100

[SwitchC-vlan100] port ten-gigabitethernet 1/0/1 to ten-gigabitethernet 1/0/5

[SwitchC-vlan100] igmp-snooping enable

[SwitchC-vlan100] quit

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

[SwitchC] interface ten-gigabitethernet 1/0/3

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

[SwitchC-Ten-GigabitEthernet1/0/3] quit

[SwitchC] interface ten-gigabitethernet 1/0/5

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

[SwitchC-Ten-GigabitEthernet1/0/5] quit

5. 验证配置

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

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

VLAN 100:

  Router ports (1 in total):

    XGE1/0/3

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

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

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

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (2 in total):

      XGE1/0/3

      XGE1/0/5

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

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

1. 组网需求

·     如图1-7所示,在一个没有三层设备的纯二层网络环境中,组播源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,并选择距组播源较近的Switch A来充当IGMP Snooping查询器。

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

2. 组网图

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

3. 配置步骤

(1)     配置Switch A

# 开启设备的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

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

[SwitchA] vlan 100

[SwitchA-vlan100] port ten-gigabitethernet 1/0/1 to ten-gigabitethernet 1/0/3

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] igmp-snooping drop-unknown

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

[SwitchA-vlan100] igmp-snooping querier

[SwitchA-vlan100] quit

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

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

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

[SwitchA-vlan100] quit

(2)     配置Switch B

# 开启设备的IGMP Snooping特性。

<SwitchB> system-view

[SwitchB] igmp-snooping

[SwitchB-igmp-snooping] quit

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

[SwitchB] vlan 100

[SwitchB-vlan100] port ten-gigabitethernet 1/0/1 to ten-gigabitethernet 1/0/4

[SwitchB-vlan100] igmp-snooping enable

[SwitchB-vlan100] igmp-snooping drop-unknown

[SwitchB-vlan100] quit

(3)     配置Switch C

# 开启设备的IGMP Snooping特性。

<SwitchC> system-view

[SwitchC] igmp-snooping

[SwitchC-igmp-snooping] quit

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

[SwitchC] vlan 100

[SwitchC-vlan100] port ten-gigabitethernet 1/0/1 to ten-gigabitethernet 1/0/3

[SwitchC-vlan100] igmp-snooping enable

[SwitchC-vlan100] igmp-snooping drop-unknown

[SwitchC-vlan100] quit

(4)     配置Switch D

# 开启设备的IGMP Snooping特性。

<SwitchD> system-view

[SwitchD] igmp-snooping

[SwitchD-igmp-snooping] quit

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

[SwitchD] vlan 100

[SwitchD-vlan100] port ten-gigabitethernet 1/0/1 to ten-gigabitethernet 1/0/2

[SwitchD-vlan100] igmp-snooping enable

[SwitchD-vlan100] igmp-snooping drop-unknown

[SwitchD-vlan100] quit

4. 验证配置

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

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

[SwitchB] display igmp-snooping statistics

Received IGMP messages:

  IGMP general queries: 19

  IGMPv2 specific queries: 10

  IGMPv3 specific queries: 0

  IGMPv3 specific sg queries: 0

  IGMPv1 reports: 0

  IGMPv2 reports: 19

  IGMPv3 reports: 0

  IGMPv3 reports with right and wrong records: 0

  IGMP leaves: 5

  Error IGMP messages: 1

Sent IGMP messages:

  IGMPv2 specific queries: 0

  IGMPv3 specific queries: 0

  IGMPv3 specific sg queries: 0

Received PIMv2 hello : 0

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

1. 组网需求

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

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

2. 组网图

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

 

3. 配置准备

请按照组网图配置各接口的IP地址和子网掩码。

4. 配置步骤

(1)     配置Router A

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

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface ten-gigabitethernet 1/0/1

[RouterA-Ten-GigabitEthernet1/0/1] igmp enable

[RouterA-Ten-GigabitEthernet1/0/1] pim dm

[RouterA-Ten-GigabitEthernet1/0/1] quit

[RouterA] interface ten-gigabitethernet 1/0/2

[RouterA-Ten-GigabitEthernet1/0/2] pim dm

[RouterA-Ten-GigabitEthernet1/0/2] quit

(2)     配置Switch A

# 开启设备的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

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

[SwitchA] vlan 100

[SwitchA-vlan100] port ten-gigabitethernet 1/0/1 to ten-gigabitethernet 1/0/4

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] igmp-snooping proxy enable

[SwitchA-vlan100] quit

5. 验证配置

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

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

[SwitchA] 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):

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

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

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

[RouterA] display igmp group

IGMP groups in total: 1

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

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

[SwitchA] 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):

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

1.18.5  基于VLAN的组播用户控制策略配置举例

1. 组网需求

·     如图1-9所示,Switch通过Ten-GigabitEthernet1/0/1连接组播源Source,通过Ten-GigabitEthernet1/0/4连接RADIUS服务器;Switch上运行版本2的IGMP Snooping,连接在Switch上的主机使用802.1X进行认证。

·     通过在Switch上配置组播用户控制策略,使接收者(Receiver)Host A只能加入/离开组播组224.1.1.1。

2. 组网图

图1-9 基于VLAN的组播用户控制策略配置组网图

3. 配置Switch

# 开启设备的IGMP Snooping特性。

<Switch> system-view

[Switch] igmp-snooping

[Switch-igmp-snooping] quit

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

[Switch] vlan 100

[Switch-vlan100] port ten-gigabitethernet 1/0/1 to ten-gigabitethernet 1/0/3

[Switch-vlan100] igmp-snooping enable

[Switch-vlan100] quit

# 配置IGMP Snooping组播用户控制策略。

[Switch] acl basic 2001

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

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

[Switch] user-profile profile2

[Switch-user-profile-profile2] igmp-snooping access-policy 2001

[Switch-user-profile-profile2] quit

# 配置RADIUS客户端。

[Switch] radius scheme scheme2

[Switch-radius-scheme2] primary authentication 3.1.1.1

[Switch-radius-scheme2] key authentication simple 321123

[Switch-radius-scheme2] primary accounting 3.1.1.1

[Switch-radius-scheme2] key accounting simple 321123

[Switch-radius-scheme2] user-name-format without-domain

[Switch-radius-scheme2] quit

# 创建ISP域,并配置业务类型和接入方式。

[Switch] domain domain2

[Switch-isp-domain2] authorization-attribute user-profile profile2

[Switch-isp-domain2] authentication lan-access radius-scheme scheme2

[Switch-isp-domain2] authorization lan-access radius-scheme scheme2

[Switch-isp-domain2] accounting lan-access radius-scheme scheme2

[Switch-isp-domain2] quit

[Switch] domain default enable domain2

# 开启端口Ten-GigabitEthernet1/0/2和Ten-GigabitEthernet1/0/3以及全局的802.1X。

[Switch] interface ten-gigabitethernet 1/0/2

[Switch-Ten-GigabitEthernet1/0/2] dot1x

[Switch-Ten-GigabitEthernet1/0/2] quit

[Switch] interface ten-gigabitethernet 1/0/3

[Switch-Ten-GigabitEthernet1/0/3] dot1x

[Switch-Ten-GigabitEthernet1/0/3] quit

[Switch] dot1x

4. 配置RADIUS服务器

在RADIUS服务器上进行与Switch相对应的配置。

5. 验证配置

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

[Switch] display igmp-snooping group vlan 100

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (1 in total):

      XGE1/0/3                                     (00:03:05)

由此可见,Switch上的端口Ten-GigabitEthernet1/0/3只加入了组播组224.1.1.1。

1.18.6  基于VSI的IGMP Snooping配置举例

1. 组网需求

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

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

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

2. 组网图

图1-10 基于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. 配置准备

按照组网图在VPLS网络中配置各接口的IP地址和子网掩码,并在VPLS网络内的各交换机上配置OSPF协议。

4. 配置步骤

(1)     配置CE 1

# 开启设备的IGMP Snooping特性。

<CE1> system-view

[CE1] igmp-snooping

[CE1-igmp-snooping] quit

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

[CE1] vlan 100

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

[CE1-vlan100] igmp-snooping enable

[CE1-vlan100] igmp-snooping drop-unknown

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

[CE1] interface ten-gigabitethernet 1/0/1

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

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

[CE1-Ten-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

(2)     配置CE 2

# 开启设备的IGMP Snooping特性。

<CE2> system-view

[CE2] igmp-snooping

[CE2-igmp-snooping] quit

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

[CE2] vlan 100

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

[CE2-vlan100] igmp-snooping enable

[CE2-vlan100] igmp-snooping drop-unknown

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

[CE2] interface ten-gigabitethernet 1/0/1

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

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

[CE2-Ten-GigabitEthernet1/0/1] quit

(3)     配置CE 3

# 开启设备的IGMP Snooping特性。

<CE3> system-view

[CE3] igmp-snooping

[CE3-igmp-snooping] quit

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

[CE3] vlan 100

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

[CE3-vlan100] igmp-snooping enable

[CE3-vlan100] igmp-snooping drop-unknown

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

[CE3] interface ten-gigabitethernet 1/0/1

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

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

[CE3-Ten-GigabitEthernet1/0/1] quit

(4)     配置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

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

[PE1] interface ten-gigabitethernet 1/0/1

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

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

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

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

[PE1-Ten-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

(5)     配置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

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

[PE2] interface ten-gigabitethernet 1/0/1

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

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

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

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

[PE2-Ten-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

(6)     配置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

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

[PE3] interface ten-gigabitethernet 1/0/1

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

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

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

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

[PE3-Ten-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

5. 验证配置

# 在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: dummy

    Host slots (0 in total):

    Host ports (1 in total):

      NPW (Link ID 9)                         (00:02:24)

        VLAN pairs (1 in total):

          Outer VLAN 100     Inner 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):

    XGE1/0/1 (Link ID 0)                       (00:01:46)

      VLAN pairs (1 in total):

        Outer VLAN 100     Inner 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: dummy

    Host slots (0 in total):

    Host ports (1 in total):

      NPW (Link ID 8)                         (00:02:07)

        VLAN pairs (1 in total):

          Outer VLAN 100     Inner 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 (Link ID 9)                           (00:01:26)

      VLAN pairs (1 in total):

        Outer VLAN 100     Inner 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: dummy

    Host slots (0 in total):

    Host ports (1 in total):

      XGE1/0/1 (Link ID 0)                     (00:02:04)

        VLAN pairs (1 in total):

          Outer VLAN 100     Inner 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 (Link ID 9)                           (00:01:24)

      VLAN pairs (1 in total):

        Outer VLAN 100     Inner VLAN 0       (00:01:24)

1.18.7  基于VXLAN的IGMP Snooping配置举例

1. 组网需求

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

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

2. 组网图

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

设备

接口

IP地址

设备

接口

IP地址

Switch A

Vlan-int11

11.1.1.1/24

Switch C

Vlan-int13

13.1.1.3/24

 

Loop0

1.1.1.1/32

 

Loop0

3.3.3.3/32

Switch B

Vlan-int12

12.1.1.2/24

Switch 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. 配置准备

按照组网图配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议。

4. 配置步骤

(1)     配置Switch A

# 开启L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 配置VXLAN隧道工作在二层转发模式。

[SwitchA] undo vxlan ip-forwarding

# 创建VSI实例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

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

[SwitchA-vsi-vpna] quit

# 开启设备的IGMP Snooping特性。

[SwitchA] igmp-snooping

[SwitchA -igmp-snooping] quit

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

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] igmp-snooping enable

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

[SwitchA-vsi-vpna] quit

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

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

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

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

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

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 1.1.1.1

[SwitchA-Tunnel2] destination 3.3.3.3

[SwitchA-Tunnel2] quit

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

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

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

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

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

[SwitchA-vsi-vpna] quit

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

[SwitchA] interface ten-gigabitethernet 1/0/1

[SwitchA-Ten-GigabitEthernet1/0/1] service-instance 1000

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

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

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet1/0/1] quit

(2)     配置Switch B

# 开启L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 配置VXLAN隧道工作在二层转发模式。

[SwitchB] undo vxlan ip-forwarding

# 创建VSI实例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

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

[SwitchB-vsi-vpna] quit

# 开启设备的IGMP Snooping特性。

[SwitchB] igmp-snooping

[SwitchB -igmp-snooping] quit

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

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] igmp-snooping enable

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

[SwitchB-vsi-vpna] quit

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

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

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

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 1.1.1.1

[SwitchB-Tunnel2] quit

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

[SwitchB] interface tunnel 3 mode vxlan

[SwitchB-Tunnel3] source 2.2.2.2

[SwitchB-Tunnel3] destination 3.3.3.3

[SwitchB-Tunnel3] quit

# 配置Tunnel2和Tunnel3与VXLAN10关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

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

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

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

[SwitchB-vsi-vpna] quit

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

[SwitchB] interface ten-gigabitethernet 1/0/1

[SwitchB-Ten-GigabitEthernet1/0/1] service-instance 1000

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

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

[SwitchB-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchB-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchB-Ten-GigabitEthernet1/0/1] quit

(3)     配置Switch C

# 开启L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 配置VXLAN隧道工作在二层转发模式。

[SwitchC] undo vxlan ip-forwarding

# 创建VSI实例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

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

[SwitchC-vsi-vpna] quit

# 开启设备的IGMP Snooping特性。

[SwitchB] igmp-snooping

[SwitchB -igmp-snooping] quit

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

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] igmp-snooping enable

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

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

[SwitchC-vsi-vpna] igmp-snooping querier

[SwitchC-vsi-vpna] quit

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

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255

[SwitchC-Loopback0] quit

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

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 3.3.3.3

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

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

[SwitchC] interface tunnel 3 mode vxlan

[SwitchC-Tunnel3] source 3.3.3.3

[SwitchC-Tunnel3] destination 2.2.2.2

[SwitchC-Tunnel3] quit

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

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

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

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

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

[SwitchC-vsi-vpna] quit

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

[SwitchC] interface ten-gigabitethernet 1/0/1

[SwitchC-Ten-GigabitEthernet1/0/1] service-instance 1000

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

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

[SwitchC-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchC-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchC-Ten-GigabitEthernet1/0/1] quit

5.  验证配置

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

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

VSI vpna:

  Router ports (1 in total):

    Tun2 (VXLAN ID 10)                        (00:04:17)

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

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

VSI vpna:

  Router ports (1 in total):

    Tun3 (VXLAN ID 10)                        (00:04:07)

1.19  IGMP Snooping常见故障处理

1.19.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/VSI内的IGMP Snooping。

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

1.19.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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们