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

08-IP组播配置指导

目录

02-IGMP Snooping配置

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

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/SR_Router/SR8800-F/Configure/Operation_Manual/H3C_SR8800-F_CG-R7353P09-6W732/08/201608/944005_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 协议规范

1.2 配置限制和指导

1.3 IGMP Snooping配置任务简介

1.4 配置IGMP Snooping基本功能

1.4.1 配置准备

1.4.2 使能IGMP Snooping

1.4.3 配置IGMP Snooping版本

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

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

1.5 配置IGMP Snooping端口功能

1.5.1 配置准备

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

1.5.3 配置静态端口

1.5.4 配置模拟主机加入

1.5.5 配置端口快速离开

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

1.6 配置IGMP Snooping查询器

1.6.1 配置准备

1.6.2 使能IGMP Snooping查询器

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

1.7 调整IGMP报文

1.7.1 配置准备

1.7.2 配置IGMP报文的源IP地址

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

1.8 配置IGMP Snooping策略

1.8.1 配置准备

1.8.2 配置组播组过滤器

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

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

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

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

1.8.7 配置组播组替换功能

1.9 IGMP Snooping显示和维护

1.10 IGMP Snooping典型配置举例

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

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

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

1.10.4 基于VSI的IGMP Snooping配置举例

1.11 常见配置错误举例

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

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

图1-2 IGMP Snooping端口示意图

 

1. 路由器端口

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

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

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

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

说明

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

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

 

2. 成员端口

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

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

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

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

说明

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

 

1.1.3  IGMP Snooping工作机制

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

说明

 

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相关的协议规范有:

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

1.2  配置限制和指导

本文中的VSI相关特性仅CSPEX-1204、CSPEX-1404S和CSPEX-1504S单板支持。

1.3  IGMP Snooping配置任务简介

用户可以在VLAN和VSI两种二层网络中配置IGMP Snooping,请分别参见图1-1图1-2

表1-1 基于VLAN的IGMP Snooping配置任务简介

配置任务

说明

详细配置

配置IGMP Snooping基本功能

使能IGMP Snooping

必选

1.4.2 

配置IGMP Snooping版本

可选

1.4.3 

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

可选

1.4.4 

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

可选

1.4.5 

配置IGMP Snooping端口功能

配置动态端口老化定时器

可选

1.5.2 

配置静态端口

可选

1.5.3 

配置模拟主机加入

可选

1.5.4 

配置端口快速离开

可选

1.5.5 

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

可选

1.5.6 

配置IGMP Snooping查询器

使能IGMP Snooping查询器

可选

1.6.2 

配置IGMP普遍组查询和响应

可选

1.6.3 

调整IGMP报文

配置IGMP报文的源IP地址

可选

1.7.2 

配置IGMP报文的802.1p优先级

可选

1.7.3 

配置IGMP Snooping策略

配置组播组过滤器

可选

1.8.2 

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

可选

1.8.3 

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

可选

1.8.4 

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

可选

1.8.5 

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

可选

1.8.6 

配置组播组替换功能

可选

1.8.7 

 

表1-2 基于VSI的IGMP Snooping配置任务简介

配置任务

说明

详细配置

配置IGMP Snooping基本功能

使能IGMP Snooping

必选

1.4.2 

配置IGMP Snooping版本

可选

1.4.3 

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

可选

1.4.4 

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

可选

1.4.5 

配置IGMP Snooping端口功能

配置动态端口老化定时器

可选

1.5.2 

配置IGMP Snooping查询器

使能IGMP Snooping查询器

可选

1.6.2 

配置IGMP普遍组查询和响应

可选

1.6.3 

调整IGMP报文

配置IGMP报文的源IP地址

可选

1.7.2 

配置IGMP报文的802.1p优先级

可选

1.7.3 

配置IGMP Snooping策略

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

可选

1.8.4 

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

可选

1.8.5 

 

提示

 

1.4  配置IGMP Snooping基本功能

1.4.1  配置准备

在配置IGMP Snooping基本功能之前,需完成以下任务:

·     配置相应VLAN/VSI

在配置IGMP Snooping基本功能之前,需准备以下数据:

·     IGMP Snooping的版本

·     IGMP Snooping转发表项的全局最大数量

·     IGMP特定组查询报文的发送间隔

1.4.2  使能IGMP Snooping

在VLAN/VSI内使能IGMP Snooping之前,必须先全局使能IGMP Snooping。在VLAN/VSI内使能了IGMP Snooping之后,IGMP Snooping只在属于该VLAN/VSI的端口上生效。

对于基于VLAN的配置,用户既可在IGMP-Snooping视图下对指定VLAN进行配置,也可在VLAN视图下只对当前VLAN进行配置,二者的配置优先级相同;对于基于VSI的配置,用户只能在VSI视图下对当前VSI进行配置。

1. 使能指定VLAN内的IGMP Snooping

表1-3 使能指定VLAN内的IGMP Snooping

操作

命令

说明

进入系统视图

system-view

-

全局使能IGMP Snooping,并进入IGMP-Snooping视图

igmp-snooping

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

使能指定VLAN内的IGMP Snooping

enable vlan vlan-list

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

 

2. 在VLAN/VSI内使能IGMP Snooping

表1-4 在VLAN内使能IGMP Snooping

操作

命令

说明

进入系统视图

system-view

-

全局使能IGMP Snooping,并进入IGMP-Snooping视图

igmp-snooping

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

退回系统视图

quit

-

进入相应视图

进入VLAN视图

vlan vlan-id

二者选其一

进入VSI视图

vsi vsi-name

在VLAN/VSI内使能IGMP Snooping

igmp-snooping enable

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

 

1.4.3  配置IGMP Snooping版本

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

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

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

对于基于VLAN的配置,用户既可在IGMP-Snooping视图下对指定VLAN进行配置,也可在VLAN视图下只对当前VLAN进行配置,二者的配置优先级相同;对于基于VSI的配置,用户只能在VSI视图下对当前VSI进行配置。

1. 配置指定VLAN内的IGMP Snooping版本

表1-5 配置指定VLAN内的IGMP Snooping版本

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

配置指定VLAN内的IGMP Snooping的版本

version version-number vlan vlan-list

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

 

2. 在VLAN/VSI内配置IGMP Snooping版本

表1-6 在VLAN/VSI内配置IGMP Snooping版本

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入VLAN视图

vlan vlan-id

二者选其一

进入VSI视图

vsi vsi-name

在VLAN/VSI内配置IGMP Snooping的版本

igmp-snooping version version-number

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

 

说明

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

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

·     如果配置的是指定了组播源的静态加入组播源组,则这些转发表项将会被清除,并且当再次切换回版本3时,这些转发表项将被重新恢复。

有关静态加入的详细配置,请参见“1.5.3  配置静态端口”。

 

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

用户可以调整IGMP Snooping转发表项(包括动态表项和静态表项)的全局最大数量,当设备上维护的表项数量达到最大数量后,将不再创建新的表项,直至有表项被老化或被手工删除。

表1-7 配置IGMP Snooping转发表项的全局最大数量

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

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

entry-limit limit

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

 

说明

在配置IGMP Snooping转发表项的全局最大数量时,如果设备上维护的表项数量已超过配置值,系统不会主动删除多余表项。为避免此后无法再创建新的表项,建议用户手工删除多余表项。

 

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

当二层设备从某动态成员端口上收到IGMP离开组报文时,如果设备上存在要离开的组播组所对应的转发表项,且该组播组所对应转发表项的出端口列表中也包含该接收端口,则二层设备会向该端口发送IGMP特定组查询报文,并根据IGMP特定组查询报文调整该端口的老化定时器(老化时间为2×IGMP特定组查询报文的发送间隔)。

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

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

用户既可在IGMP-Snooping视图下对所有VLAN和VSI进行全局配置,也可在VLAN视图/VSI视图下只对当前VLAN/VSI进行配置,后者的配置优先级较高。

说明

如果二层设备的某端口上开启了端口快速离开功能,该端口收到IGMP离开组报文后,二层设备不会向该端口发送IGMP特定组查询报文。

 

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

表1-8 全局配置IGMP特定组查询报文的发送间隔

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

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

last-member-query-interval interval

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

 

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

表1-9 在VLAN/VSI内配置IGMP特定组查询报文的发送间隔

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入VLAN视图

vlan vlan-id

二者选其一

进入VSI视图

vsi vsi-name

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

igmp-snooping last-member-query-interval interval

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

 

1.5  配置IGMP Snooping端口功能

1.5.1  配置准备

在配置IGMP Snooping端口功能之前,需完成以下任务:

·     在VLAN/VSI内使能IGMP Snooping

在配置IGMP Snooping端口功能之前,需准备以下数据:

·     动态路由器端口老化时间

·     动态成员端口老化时间

·     组播组和组播源的地址

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

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

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

如果组播组成员的变动比较频繁,可以把动态成员端口老化时间设置小一些,反之亦然。

用户既可在IGMP-Snooping视图下对所有VLAN和VSI进行全局配置,也可在VLAN视图/VSI视图下只对当前VLAN/VSI进行配置,后者的配置优先级较高。

说明

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

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

 

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

表1-10 全局配置动态端口老化定时器

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

全局配置动态路由器端口老化时间

router-aging-time interval

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

全局配置动态成员端口老化时间

host-aging-time interval

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

 

2. 在VLAN/VSI内配置动态端口老化定时器

表1-11 在VLAN/VSI内配置动态端口老化定时器

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入VLAN视图

vlan vlan-id

二者选其一

进入VSI视图

vsi vsi-name

在VLAN/VSI内配置动态路由器端口老化时间

igmp-snooping router-aging-time interval

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

在VLAN/VSI内配置动态成员端口老化时间

igmp-snooping host-aging-time interval

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

 

1.5.3  配置静态端口

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

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

表1-12 配置静态端口

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网或二层聚合接口视图

interface interface-type interface-number

-

配置静态成员端口

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

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

配置静态路由器端口

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

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

 

1.5.4  配置模拟主机加入

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

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

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

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

说明

 

表1-13 配置模拟主机加入

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网或二层聚合接口视图

interface interface-type interface-number

-

配置模拟主机加入组播组或组播源组

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

缺省情况下,没有配置模拟主机加入组播组或组播源组

 

1.5.5  配置端口快速离开

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

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

用户既可在IGMP-Snooping视图下对所有端口进行全局配置,也可在接口视图下只对当前端口进行配置,后者的配置优先级较高。

1. 全局配置端口快速离开

表1-14 全局配置端口快速离开

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

全局使能端口快速离开功能

fast-leave [ vlan vlan-list ]

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

 

2. 在端口上配置端口快速离开

表1-15 在端口上配置端口快速离开

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网或二层聚合接口视图

interface interface-type interface-number

-

在端口上使能端口快速离开功能

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

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

 

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

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

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

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

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

说明

 

表1-16 禁止端口成为动态路由器端口

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网或二层聚合接口视图

interface interface-type interface-number

-

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

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

缺省情况下,允许端口成为动态路由器端口

 

1.6  配置IGMP Snooping查询器

1.6.1  配置准备

在配置IGMP Snooping查询器之前,需完成以下任务:

·     在VLAN/VSI内使能IGMP Snooping

在配置IGMP Snooping查询器之前,需准备以下数据:

·     IGMP普遍组查询报文的发送间隔

·     IGMP普遍组查询的最大响应时间

1.6.2  使能IGMP Snooping查询器

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

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

提示

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

 

表1-17 使能IGMP Snooping查询器

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入VLAN视图

vlan vlan-id

二者选其一

进入VSI视图

vsi vsi-name

使能IGMP Snooping查询器

igmp-snooping querier

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

 

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

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

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

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

用户既可在IGMP-Snooping视图下对所有VLAN和VSI进行全局配置,也可在VLAN视图/VSI视图下只对当前VLAN/VSI进行配置,后者的配置优先级较高。

提示

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

 

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

表1-18 全局配置IGMP普遍组查询和响应

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

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

max-response-time interval

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

 

2. 在VLAN/VSI内配置IGMP普遍组查询和响应

表1-19 在VLAN/VSI内配置IGMP普遍组查询和响应

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入VLAN视图

vlan vlan-id

二者选其一

进入VSI视图

vsi vsi-name

在VLAN/VSI内配置IGMP普遍组查询报文的发送间隔

igmp-snooping query-interval interval

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

在VLAN/VSI内配置IGMP普遍组查询的最大响应时间

igmp-snooping max-response-time interval

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

 

1.7  调整IGMP报文

1.7.1  配置准备

在调整IGMP报文之前,需完成以下任务:

·     在VLAN/VSI内使能IGMP Snooping

在调整IGMP报文之前,需准备以下数据:

·     IGMP普遍组查询报文的源IP地址

·     IGMP特定组查询报文的源IP地址

·     IGMP成员关系报告报文的源IP地址

·     IGMP离开组报文的源IP地址

·     IGMP报文的802.1p优先级

1.7.2  配置IGMP报文的源IP地址

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

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

提示

IGMP查询报文源IP地址的改变可能会影响网段内IGMP查询器的选举。

 

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

表1-20 在VLAN内配置IGMP报文的源IP地址

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

配置IGMP普遍组查询报文的源IP地址

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

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

配置IGMP特定组查询报文的源IP地址

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

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

配置IGMP成员关系报告报文的源IP地址

igmp-snooping report source-ip ip-address

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

配置IGMP离开组报文的源IP地址

igmp-snooping leave source-ip ip-address

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

 

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

表1-21 在VSI内配置IGMP报文的源IP地址

操作

命令

说明

进入系统视图

system-view

-

进入VSI视图

vsi vsi-name

-

配置IGMP普遍组查询报文的源IP地址

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

缺省情况下,IGMP普遍组查询报文的源IP地址为0.0.0.0

配置IGMP特定组查询报文的源IP地址

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

缺省情况下,如果收到过IGMP普遍组查询报文,则以其源IP地址作为IGMP特定组查询报文的源IP地址;否则,采用0.0.0.0

 

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

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

对于基于VLAN的配置,用户既可在IGMP-Snooping视图下对所有VLAN进行全局配置,也可在VLAN视图下只对当前VLAN进行配置,后者的配置优先级较高;对于基于VSI的配置,用户只能在IGMP-Snooping视图下对所有VSI进行全局配置。

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

表1-22 全局配置IGMP报文的802.1p优先级

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

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

dot1p-priority priority-number

缺省情况下,设备对IGMP报文按802.1p优先级为7进行处理

需要注意的是,目前设备仅支持IGMP报文的802.1p优先级为7,即不论通过本命令配置的802.1p优先级值为多少,设备对IGMP报文均按照802.1p优先级为7进行处理。

 

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

表1-23 在VLAN内配置IGMP报文的802.1p优先级

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

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

igmp-snooping dot1p-priority priority-number

缺省情况下,设备对IGMP报文按802.1p优先级为7进行处理

需要注意的是,目前设备仅支持IGMP报文的802.1p优先级为7,即不论通过本命令配置的802.1p优先级值为多少,设备对IGMP报文均按照802.1p优先级为7进行处理。

 

1.8  配置IGMP Snooping策略

1.8.1  配置准备

在配置IGMP Snooping策略之前,需完成以下任务:

·     在VLAN/VSI内使能IGMP Snooping

在配置IGMP Snooping策略之前,需准备以下数据:

·     组播组过滤的ACL规则

·     端口加入的组播组最大数量

1.8.2  配置组播组过滤器

提示

 

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

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

用户既可在IGMP-Snooping视图下对所有端口进行全局配置,也可在接口视图下只对当前端口进行配置,后者的配置优先级较高。

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

表1-24 全局配置组播组过滤

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

全局配置组播组过滤器

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

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

 

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

表1-25 在端口上配置组播组过滤器

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网或二层聚合接口视图

interface interface-type interface-number

-

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

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

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

 

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

提示

在使能IPv4组播数据报文源端口过滤功能时,系统将同时使能IPv6组播数据报文源端口过滤功能。

 

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

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

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

用户既可在IGMP-Snooping视图下对指定端口进行全局配置,也可在接口视图下只对当前端口进行配置,二者的配置优先级相同。

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

表1-26 全局配置组播数据报文源端口过滤

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

使能指定端口的组播数据报文源端口过滤功能

source-deny port interface-list

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

需要注意的是,本命令仅CSPC/SPC类单板和CMPE-1104单板支持

 

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

表1-27 在端口上配置组播数据报文源端口过滤

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口视图

interface interface-type interface-number

-

使能当前端口的组播数据报文源端口过滤功能

igmp-snooping source-deny

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

需要注意的是,本命令仅CSPC/SPC类单板和CMPE-1104单板支持

 

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

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

·     当使能了丢弃未知组播数据报文功能时,二层设备仅向未知组播数据报文所属的VLAN内的其它路由器端口转发该报文,不在VLAN内广播;

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

表1-28 在VLAN/VSI内配置丢弃未知组播数据报文

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入VLAN视图

vlan vlan-id

二者选其一

进入VSI视图

vsi vsi-name

在VLAN/VSI内使能丢弃未知组播数据报文功能

igmp-snooping drop-unknown

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

 

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

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

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

表1-29 配置IGMP成员关系报告报文抑制

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

使能IGMP成员关系报告报文抑制功能

report-aggregation

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

 

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

提示

 

通过配置端口加入的组播组最大数量,可以限制用户点播组播节目的数量,从而控制了端口上的数据流量。

表1-30 配置端口加入的组播组最大数量

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网或二层聚合接口视图

interface interface-type interface-number

-

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

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

缺省情况下,端口加入的组播组最大数量为4294967295

 

说明

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

 

1.8.7  配置组播组替换功能

提示

 

由于某些特殊的原因,当前二层设备或端口上通过的组播组数目有可能会超过二层设备或该端口的限定;另外,在某些特定的应用中,二层设备上新加入的组播组需要自动替换已存在的组播组(一个典型的应用就是“频道切换”,即用户通过加入一个新的组播组就能完成离开原组播组并切换到新组播组的动作)。

针对以上情况,可以在二层设备或者某些端口上使能组播组替换功能。当二层设备或端口上加入的组播组数量已达到限定值时:

·     若使能了组播组替换功能,则新加入的组播组会自动替代已存在的组播组,替代规则是替代IP地址最小的组播组;

·     若没有使能组播组替换功能,则自动丢弃新的IGMP成员关系报告报文。

用户既可在IGMP-Snooping视图下对所有端口进行全局配置,也可在接口视图下只对当前端口进行配置,后者的配置优先级较高。

1. 全局配置组播组替换功能

表1-31 全局配置组播组替换功能

操作

命令

说明

进入系统视图

system-view

-

进入IGMP-Snooping视图

igmp-snooping

-

全局使能组播组替换功能

overflow-replace [ vlan vlan-list ]

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

 

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

表1-32 在端口上配置组播组替换功能

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网或二层聚合接口视图

interface interface-type interface-number

-

在端口上使能组播组替换功能

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

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

 

1.9  IGMP Snooping显示和维护

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

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

表1-33 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 ]

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

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

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

display igmp-snooping router-port [ vlan vlan-id | vsi vsi-name ] [ 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报文统计信息

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 ]

清除动态组播组的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报文统计信息

reset igmp-snooping statistics

 

1.10  IGMP Snooping典型配置举例

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

1. 组网需求

·     如图1-3所示,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-3 组策略及模拟主机加入配置组网图

 

3. 配置步骤

(1)     配置IP地址

请按照图1-3配置各接口的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

# 将端口GigabitEthernet1/0/1到GigabitEthernet1/0/4的链路模式切换到二层模式,然后创建VLAN 100,把上述端口添加到该VLAN中;在该VLAN内使能IGMP Snooping,并使能丢弃未知组播数据报文功能。

[DeviceA] interface gigabitEthernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] port link-mode bridge

[DeviceA-GigabitEthernet1/0/1] quit

[DeviceA] interface gigabitEthernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] port link-mode bridge

[DeviceA-GigabitEthernet1/0/2] quit

[DeviceA] interface gigabitEthernet 1/0/3

[DeviceA-GigabitEthernet1/0/3] port link-mode bridge

[DeviceA-GigabitEthernet1/0/3] quit

[DeviceA] interface gigabitEthernet 1/0/4

[DeviceA-GigabitEthernet1/0/4] port link-mode bridge

[DeviceA-GigabitEthernet1/0/4] quit

[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 number 2001

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

[DeviceA-acl-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 slot 1

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.10.2  基于VLAN的静态端口配置举例

1. 组网需求

·     如图1-4所示,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-4 静态端口配置组网图

 

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

# 将端口GigabitEthernet1/0/1到GigabitEthernet1/0/3的链路模式切换到二层模式,然后创建VLAN 100,把上述端口添加到该VLAN中;在该VLAN内使能IGMP Snooping。

[DeviceA] interface gigabitEthernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] port link-mode bridge

[DeviceA-GigabitEthernet1/0/1] quit

[DeviceA] interface gigabitEthernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] port link-mode bridge

[DeviceA-GigabitEthernet1/0/2] quit

[DeviceA] interface gigabitEthernet 1/0/3

[DeviceA-GigabitEthernet1/0/3] port link-mode bridge

[DeviceA-GigabitEthernet1/0/3] quit

[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

# 将端口GigabitEthernet1/0/1到GigabitEthernet1/0/2的链路模式切换到二层模式,然后创建VLAN 100,把上述端口添加到该VLAN中;在该VLAN内使能IGMP Snooping。

[DeviceB] interface gigabitEthernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] port link-mode bridge

[DeviceB-GigabitEthernet1/0/1] quit

[DeviceB] interface gigabitEthernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] port link-mode bridge

[DeviceB-GigabitEthernet1/0/2] quit

[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

# 将端口GigabitEthernet1/0/1到GigabitEthernet1/0/5的链路模式切换到二层模式,然后创建VLAN 100,把上述端口添加到该VLAN中;在该VLAN内使能IGMP Snooping。

[DeviceC] interface gigabitEthernet 1/0/1

[DeviceC-GigabitEthernet1/0/1] port link-mode bridge

[DeviceC-GigabitEthernet1/0/1] quit

[DeviceC] interface gigabitEthernet 1/0/2

[DeviceC-GigabitEthernet1/0/2] port link-mode bridge

[DeviceC-GigabitEthernet1/0/2] quit

[DeviceC] interface gigabitEthernet 1/0/3

[DeviceC-GigabitEthernet1/0/3] port link-mode bridge

[DeviceC-GigabitEthernet1/0/3] quit

[DeviceC] interface gigabitEthernet 1/0/4

[DeviceC-GigabitEthernet1/0/4] port link-mode bridge

[DeviceC-GigabitEthernet1/0/4] quit

[DeviceC] interface gigabitEthernet 1/0/5

[DeviceC-GigabitEthernet1/0/5] port link-mode bridge

[DeviceC-GigabitEthernet1/0/5] quit

[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 CVLAN 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/3GigabitEthernet1/0/5已经成为了组播组224.1.1.1的静态成员端口。

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

1. 组网需求

·     如图1-5所示,在一个没有三层设备的纯二层网络环境中,组播源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-5 IGMP Snooping查询器配置组网图

 

3. 配置步骤

(1)     配置Device A

# 全局使能IGMP Snooping。

<DeviceA> system-view

[DeviceA] igmp-snooping

[DeviceA-igmp-snooping] quit

# 将端口GigabitEthernet1/0/1到GigabitEthernet1/0/3的链路模式切换到二层模式,然后创建VLAN 100,把上述端口添加到该VLAN中;在该VLAN内使能IGMP Snooping,并使能丢弃未知组播数据报文功能。

[DeviceA] interface gigabitEthernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] port link-mode bridge

[DeviceA-GigabitEthernet1/0/1] quit

[DeviceA] interface gigabitEthernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] port link-mode bridge

[DeviceA-GigabitEthernet1/0/2] quit

[DeviceA] interface gigabitEthernet 1/0/3

[DeviceA-GigabitEthernet1/0/3] port link-mode bridge

[DeviceA-GigabitEthernet1/0/3] quit

[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

# 将端口GigabitEthernet1/0/1到GigabitEthernet1/0/4的链路模式切换到二层模式,然后创建VLAN 100,把上述端口添加到该VLAN中;在该VLAN内使能IGMP Snooping,并使能丢弃未知组播数据报文功能。

[DeviceB] interface gigabitEthernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] port link-mode bridge

[DeviceB-GigabitEthernet1/0/1] quit

[DeviceB] interface gigabitEthernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] port link-mode bridge

[DeviceB-GigabitEthernet1/0/2] quit

[DeviceB] interface gigabitEthernet 1/0/3

[DeviceB-GigabitEthernet1/0/3] port link-mode bridge

[DeviceB-GigabitEthernet1/0/3] quit

[DeviceB] interface gigabitEthernet 1/0/4

[DeviceB-GigabitEthernet1/0/4] port link-mode bridge

[DeviceB-GigabitEthernet1/0/4] quit

[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

# 将端口GigabitEthernet1/0/1到GigabitEthernet1/0/3的链路模式切换到二层模式,然后创建VLAN 100,把上述端口添加到该VLAN中;在该VLAN内使能IGMP Snooping,并使能丢弃未知组播数据报文功能。

[DeviceC] interface gigabitEthernet 1/0/1

[DeviceC-GigabitEthernet1/0/1] port link-mode bridge

[DeviceC-GigabitEthernet1/0/1] quit

[DeviceC] interface gigabitEthernet 1/0/2

[DeviceC-GigabitEthernet1/0/2] port link-mode bridge

[DeviceC-GigabitEthernet1/0/2] quit

[DeviceC] interface gigabitEthernet 1/0/3

[DeviceC-GigabitEthernet1/0/3] port link-mode bridge

[DeviceC-GigabitEthernet1/0/3] quit

[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)     配置Switch D

# 全局使能IGMP Snooping。

<SwitchD> system-view

[SwitchD] igmp-snooping

[SwitchD-igmp-snooping] quit

# 将端口GigabitEthernet1/0/1到GigabitEthernet1/0/2的链路模式切换到二层模式,然后创建VLAN 100,把上述端口添加到该VLAN中;在该VLAN内使能IGMP Snooping,并使能丢弃未知组播数据报文功能。

[DeviceD] interface gigabitEthernet 1/0/1

[DeviceD-GigabitEthernet1/0/1] port link-mode bridge

[DeviceD-GigabitEthernet1/0/1] quit

[DeviceD] interface gigabitEthernet 1/0/2

[DeviceD-GigabitEthernet1/0/2] port link-mode bridge

[DeviceD-GigabitEthernet1/0/2] quit

[SwitchD] vlan 100

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

[SwitchD-vlan100] igmp-snooping enable

[SwitchD-vlan100] igmp-snooping drop-unknown

[SwitchD-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 error IGMP messages:  0

1.10.4  基于VSI的IGMP Snooping配置举例

1. 组网需求

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

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

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

2. 组网图

图1-6 基于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-6在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-interface101Vlan-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

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

[PE1] interface gigabitethernet 3/1/1

[PE1-GigabitEthernet3/1/1] port link-mode bridge

[PE1-GigabitEthernet3/1/1] service-instance 1

[PE1-GigabitEthernet3/1/1-srv1] encapsulation s-vid 100

[PE1-GigabitEthernet3/1/1-srv1] xconnect vsi aaa

[PE1-GigabitEthernet3/1/1-srv1] quit

[PE1-GigabitEthernet3/1/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-interface101Vlan-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

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

[PE2] interface gigabitethernet 3/1/1

[PE2-GigabitEthernet3/1/1] port link-mode bridge

[PE2-GigabitEthernet3/1/1] service-instance 1

[PE2-GigabitEthernet3/1/1-srv1] encapsulation s-vid 100

[PE2-GigabitEthernet3/1/1-srv1] xconnect vsi aaa

[PE2-GigabitEthernet3/1/1-srv1] quit

[PE2-GigabitEthernet3/1/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-interface102Vlan-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

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

[PE3] interface gigabitethernet 3/1/1

[PE3-GigabitEthernet3/1/1] port link-mode bridge

[PE3-GigabitEthernet3/1/1] service-instance 1

[PE3-GigabitEthernet3/1/1-srv1] encapsulation s-vid 100

[PE3-GigabitEthernet3/1/1-srv1] xconnect vsi aaa

[PE3-GigabitEthernet3/1/1-srv1] quit

[PE3-GigabitEthernet3/1/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.11  常见配置错误举例

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

新华三官网
联系我们