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

H3C E126以太网交换机 操作手册-RELEASE 0011(V1.04)

18-组播协议操作

本章节下载  (369.16 KB)

18-组播协议操作


第1章  IGMP Snooping配置

1.1  IGMP Snooping协议简介

1.1.1  IGMP-Snooping原理

IGMP-SnoopingInternet Group Management Protocol SnoopingIGMP侦听)是运行在二层以太网交换机上的组播约束机制,用于管理和控制组播组。

当二层以太网交换机收到主机和路由器之间传递的IGMP报文时,IGMP-Snooping将对IGMP报文所带的信息进行分析,并进行相应的处理,如表1-1所示:

表1-1 交换机对接收到的报文处理方式

收到的报文类型

发送者

接收者

交换机处理

IGMP主机报告报文(IGMP host report message

主机

交换机

将主机加入相应的组播组列表中

IGMP离开报文(IGMP leave message

主机

交换机

将主机相关的组播表项从组播组列表中删除

 

交换机通过监控IGMP报文,可以在数据链路层建立和维护相应的MAC组播地址表,并根据MAC组播地址表转发从路由器下发的组播报文。

图1-1所示,没有运行IGMP-Snooping时,组播报文将在二层广播。运行IGMP-Snooping后,报文将不再在二层广播,而是进行二层组播。

图1-1 在关闭/使能IGMP-Snooping组播报文传播过程的对比

1.1.2  IGMP-Snooping的实现

1. IGMP-Snooping相关的概念

为描述方便,先介绍一下以太网交换机上与IGMP-Snooping相关的概念。

l              路由器端口(Router Port):以太网交换机上直接和组播路由器相连的端口。

l              组播成员端口:与组播组成员相连的端口。组播组成员此处是加入某个组播组的主机。

l              MAC组播组:以太网交换机维护的以MAC组播地址标识的组播组。

还有三个时间定时器与IGMP-Snooping有密切的关联:

表1-2 IGMP-Snooping相关定时器

定时器

设定时间

老化时间内收到的报文

超时后交换机动作

路由器端口老化定时器

路由器端口老化时间

IGMP通用查询报文/PIM报文/Dvmrp Probe报文

认定端口不是路由器端口

组播组成员端口老化定时器

组播组成员端口老化时间

IGMP主机报告报文

向组播组成员端口发送IGMP特定组查询报文

响应查询定时器

最大响应查询时间

IGMP报告报文

将端口从组播组成员端口列表上删除

 

2. 利用IGMP-Snooping实现二层组播

以太网交换机通过运行IGMP-Snooping实现对IGMP报文的侦测,并为主机、主机对应端口和相应的组播MAC地址之间建立映射关系。

图1-2 实现IGMP-Snooping示意图

交换机与主机之间通过传递四种特殊的报文,实现了二层组播。下表对这四种报文及其在传输过程中的作用进行了描述。

表1-3 IGMP的四种报文

报文类型

发送者

接收者

目的

接收者处理

IGMP通用查询报文

组播路由器和组播交换机

组播成员交换机和主机

查询组播组内是否存在成员

该查询报文是否来自原路由器端口

是,交换机重置路由器端口老化定时器

不是,交换机通知组播路由器有成员加入相应的某个组播组,同时启动对该路由器端口的老化定时器

IGMP特定组查询报文

组播路由器和组播交换机

组播成员交换机和主机

查询IGMP特定组播组是否存在成员

向被查询的IP组播组发IGMP特定组查询

IGMP主机报告报文

主机

组播路由器和组播交换机

申请加入某个组播组或应答IGMP查询报文

查询IP组播组对应的MAC组播组是否存在

存在,判断端口是否存在于该MAC组播组中

存在,则将IP组播组地址加入到MAC组播组列表中

不存在,则将端口加入MAC组播组,重置端口老化定时器,并判断对应的IP组播组是否存在

存在,则将端口加入到对应IP组播组

不存在,则新建IP组播组,将端口加入组播组

不存在,则:

新建MAC组播组,同时通知组播路由器有成员要加入组播组

将端口加入到MAC组播组,同时启动端口老化定时器

将端口所在VLAN内所有端口加入MAC组播组转发表中

将端口加入到新建的IP组播组中

IGMP离开报文

主机

组播路由器和组播交换机

告知组播路由器和组播交换机主机离开组播组

组播路由器和组播交换机向发出离开报文的主机所在组播组发送IGMP特定组查询报文,用于确认该组播组内是否存在成员,同时启动相应查询定时器

如定时器超时,交换机将判断端口是否对应唯一的MAC组播组:

l      如是,则删除对应的MAC组播组,同时删除对应的IP组播组

l      不是,则仅删除MAC组播组中对应此端口的表项,同时删除对应的IP组播组表项

如组播组无应答,且定时器超时,则交换机将通知路由器将该分支从组播树删除

 

  注意:

E126以太网交换机使能了IGMP-Snooping特性后,当收到某个组播组内的主机发出的IGMP离开报文时,会自动判断该组播组是否存在。如果该组播组不存在,则丢弃这个IGMP离开报文,不再转发。

 

1.2  IGMP Snooping配置

IGMP-Snooping配置任务包括:

表1-4 配置任务简介

配置任务

说明

详细配置

启动IGMP-Snooping配置

必选

1.2.2 

多种定时器配置

可选

1.2.3 

端口从组播组中快速删除功能配置

可选

1.2.4 

IGMP-Snooping Filter过滤规则配置

可选

1.2.5 

端口从组播组通过数量限制配置

可选

1.2.6 

组播VLAN配置

可选

1.2.7 

 

1.2.1  启动IGMP-Snooping配置

为了控制IGMP-Snooping是否在二层建立和维护MAC组播组转发表,可以使用下面的命令来启动IGMP-Snooping

表1-5 启动IGMP-Snooping

操作

命令

说明

进入系统视图

system-view

-

启动系统视图下的IGMP-Snooping功能

igmp-snooping enable

必选

缺省情况下IGMP-Snooping功能处于关闭状态

进入VLAN视图

vlan vlan-id

-

启动VLAN视图下的IGMP-Snooping功能

igmp-snooping enable

必选

缺省情况下,IGMP-Snooping功能处于关闭状态

 

  注意:

l      二、三层组播协议可以同时运行在交换机上,但是在同一个VLAN或该VLAN对应的虚接口上不能同时运行二层和三层组播协议。

l      在配置VLAN视图下的IGMP-Snooping前,应首先在系统视图下使能全局IGMP-Snooping,然后在VLAN视图下使能IGMP-Snooping,否则IGMP-Snooping功能不能在VLAN视图下进行配置。

 

1.2.2  多种定时器配置

本配置任务用来手工设置路由器端口老化定时器和组播组成员端口老化定时器。

l              如果在路由器端口老化时间之内没有收到路由器的IGMP通用查询报文,则交换机把该路由器端口从所有的MAC组播组的端口成员表中删除。

l              在成员端口老化时间之内,如果没有收到IGMP主机报告报文,则交换机向该端口发送IGMP特定组查询报文,同时启动该IP组播组的响应查询定时器。

表1-6 多种定时器配置

操作

命令

说明

进入系统视图

system-view

-

配置路由器端口老化定时器

igmp-snooping router-aging-time seconds

可选

缺省情况下端口老化时间为105

配置组播组成员端口老化定时器

igmp-snooping host-aging-time seconds

可选

缺省情况下组播组成员端口老化时间为260

 

1.2.3  端口从组播组中快速删除功能配置

正常情况下,IGMP-Snooping在接收到IGMP离开报文后不会直接将端口从组播组中删除,而是发送IGMP特定组查询报文,如果等待一段时间后没有得到响应,才将该端口从组播组中删除。

启动快速删除功能后,IGMP-Snooping收到IGMP离开报文时,直接将端口从组播组中删除。当端口下只有一个用户时,快速删除可以节省带宽。

表1-7 端口从组播组中快速删除功能配置

操作

命令

说明

进入系统视图

system-view

-

进入以太网端口

interface interface-type interface-number

-

配置端口从指定VLAN的组播组中快速删除功能

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

必选

缺省情况下,端口从组播组中快速删除功能关闭。

 

1.2.4  IGMP-Snooping Filter过滤规则配置

IGMP-Snooping Filter通过对连接交换机不同端口的用户配置组播过滤ACL,来限制用户可以点播的组播节目,从而实现不同的用户可以点播不同的节目组,达到区别对待VOD用户的目的。

在实际应用中,当用户点播某个组播节目时,会发起一个IGMP report报文,该报文到达交换机后,交换机检查接收端口上配置的组播过滤ACL,如果此端口可以加入这个组播组,则将这个端口加入到该组播组的转发端口列表中;否则交换机就丢弃该IGMP report报文,这样,数据流就不会送到该端口,从而达到控制用户点播组播节目的目的。

配置此特性前,请确定ACL规则已经配置完毕。

表1-8 IGMP-Snooping Filter过滤规则配置

操作

命令

说明

进入系统视图

system-view

-

配置端口组播过滤功能

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

必选

l      用户可在ACL中配置过滤相关的组播组IP地址

l      缺省情况下,组播过滤功能关闭。

进入以太网端口视图

interface interface-type interface-number

-

配置端口组播过滤功能

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

必选

l      用户可在ACL中配置过滤相关的组播组IP地址

l      缺省情况下,组播过滤功能关闭。

 

1.2.5  端口组播组通过数量限制配置

对交换机端口进行端口组播组通过数量限制配置后,用户在点播组播组节目时,由于端口通过的组播组的数量受到限制,因此用户不能无限制的点播组播组。这样一来,端口带宽就得到了控制。

表1-9 端口组播组通过数量限制配置

操作

命令

说明

进入系统视图

system-view

-

进入以太网端口视图

interface interface-type interface-number

-

限制端口上允许通过的组播组数量

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

必选

缺省情况下,不限制端口通过的组播组数量。

 

1.2.6  组播VLAN配置

基于以往的组播点播方式,当处于不同VLAN的用户点播同一个组播组时,每个VLAN会在本VLAN内复制这个组播流。这样的组播点播方式,浪费了大量的带宽。

通过配置组播VLAN的方式,将交换机的端口加入到组播VLAN,并在使能了IGMP-Snooping功能以后,使不同VLAN内的用户共用一个组播VLAN组播流只在一个组播VLAN内进行传输,从而节省了带宽。由于组播VLAN与用户VLAN完全隔离,安全和带宽都得以保证。

组播VLAN主要应用于二层交换,但在三层交换机上也必须进行相应的配置。

组播VLAN配置过程如下:

表1-10 组播VLAN(三层交换机)配置

操作

命令

说明

进入系统视图

system-view

-

创建组播VLAN,并进入VLAN视图

vlan vlan-id

创建用户需要配置的组播VLAN

退出

quit

-

创建组播VLAN接口,并进入VLAN接口视图

interface Vlan-interface vlan-id

-

使能IGMP

igmp enable

必选

缺省情况下,IGMP 功能关闭

退出

quit

-

进入与二层交换机相连的以太网端口视图

interface interface-type interface-number

-

将端口定义为trunk端口或者Hybrid端口

port link-type { trunk | hybrid }

必选

设置以太网允许通过的VLAN ID

port hybrid vlan vlan-id-list { tagged | untagged }

必选

VLAN中必须包括二层交换机上定义的组播VLANID,并且必须将该组播VLAN设置为tagged

port trunk permit vlan vlan-list

 

表1-11 组播VLAN(二层交换机)配置过程

操作

命令

说明

进入系统视图

system-view

-

系统使能IGMP-Snooping功能

igmp-snooping enable

必选

进入VLAN视图

vlan vlan-id

vlan-idVLAN

VLAN使能IGMP-Snooping功能

igmp-snooping enable

必选

缺省情况下,IGMP-Snooping功能关闭

使能组播VLAN功能

service-type multicast

必选

退出VLAN视图

quit

-

进入与三层交换机相连的以太网端口视图

interface interface-type interface-number

-

将端口定义为trunk端口或者Hybrid端口

port link-type { trunk | hybrid }

-

设置以太网允许通过的VLAN ID

port hybrid vlan vlan-list { tagged | untagged }

VLAN中必须包括组播VLANID,并且必须将组播VLAN设置为tagged

port trunk permit vlan vlan-list

进入与用户相连的以太网端口视图

interface interface-type interface-number

-

定义端口的类型为Hybrid

port link-type hybrid

必选

设置以太网端口上允许通过的VLAN ID

port hybrid vlan vlan-id-list { tagged | untagged }

必选

VLAN中必须包括组播VLANID,并且必须将组播VLAN设置为untagged

 

&  说明:

l      一个端口只可以属于一个组播VLAN

l      与用户终端相连的端口类型只能够为Hybrid

l      组播成员端口必须与路由器端口属于同一个组播VLAN,否则无法接收到组播数据报文。

l      当路由器端口加入某个组播VLAN,该路由器端口必须配置成Trunk端口或者是带tagHybrid端口,否则在此组播VLAN内的所有的组播成员端口都无法接收到组播数据报文。

l      用户建立了组播VLAN后,所有的IGMP主机报告报文只在组播VLAN内广播。如果是非组播VLAN的组播成员端口,其所属VLAN接口将无法建立对应的二层组播表项。因此,建议用户将此端口从组播VLAN内删除。

 

1.3  IGMP-Snooping显示和维护

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

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

表1-12 IGMP-Snooping配置显示和维护

操作

命令

说明

显示当前IGMP-Snooping的配置信息

display igmp-snooping configuration

display命令可以在任意视图下执行

显示IGMP-Snooping对收发包的统计信息

display igmp-snooping statistics

显示VLAN下的IP组播组和MAC组播组信息

display igmp-snooping group [ vlan vlan-id ]

清除IGMP-Snooping统计信息

reset igmp-snooping statistics

reset命令可以在用户视图下执行

 

1.4  IGMP-Snooping典型组网案例

1.4.1  典型组网案例一

配置交换机实现IGMP-Snooping功能。

1. 组网需求

为了实现交换机的IGMP-Snooping功能,需要在交换机上启动IGMP-Snooping

交换机上的路由器端口接到路由器上,其他非路由器端口(属于VLAN10则接到用户的PC机上。

2. 组网图

图1-3 配置IGMP-Snooping组网图

3. 配置步骤

# 在系统视图下启动全局IGMP-Snooping

<H3C> system-view

[H3C] igmp-snooping enable

# VLAN10没有启动三层组播协议时,启动IGMP-Snooping

[H3C] vlan 10

[H3C-vlan10] igmp-snooping enable

1.4.2  典型组网案例二

配置交换机实现组播VLAN功能。

1. 组网需求

组播源为WorkstationSwitch A转发组播源发出的组播数据流。组播数据流通过二层交换机Switch B被转发到最终用户PC1PC2

具体的设备编号如下:

表1-13 组网设备具体配置

设备

描述

说明

Switch A

三层交换机

VLAN 20接口的IP地址为168.10.1.1Ethernet1/0/1属于VLAN 20Ethernet1/0/1Work Station相连。

VLAN 10为组播VLAN

端口Ethernet1/0/10Switch B相连。

Switch B

二层交换机

VLAN 2包含端口Ethernet1/0/1VLAN 3包括端口Ethernet1/0/2,两个端口分别与PC1PC2相连。

端口Ethernet1/0/10Switch A相连。

PC 1

用户1

Switch BEthernet1/0/1端口相连

PC 2

用户2

Switch BEthernet1/0/2端口相连

 

配置组播VLAN,使VLAN 2VLAN 3内的用户通过组播VLAN接收组播流。

2. 组网图

图1-4 组播VLAN组网示意图

3. 配置步骤

以下配置基于IP地址已配置,并正确连接设备的前提下进行配置操作。

(1)        Switch A上的配置

# 配置VLAN 20接口的IP地址为168.10.1.1,并使能PIM DM协议。

<SwitchA> system-view

[SwitchA] multicast routing-enable

[SwitchA] vlan 20

[SwitchA-vlan20] interface Vlan-interface 20

[SwitchA-Vlan-interface20] ip address 168.10.1.1 255.255.255.0

[SwitchA-Vlan-interface20] pim dm

[SwitchA-Vlan-interface20] quit

# 配置组播VLAN 10

[SwitchA] vlan 10

[SwitchA-vlan10] quit

# Ethernet1/0/10定义为Hybrid端口,并将该端口加入到VLAN 2310中,端口发送VLAN 2VLAN 3VLAN 10的报文时带VLAN标签。

[SwitchA] interface Ethernet 1/0/10

[SwitchA-Ethernet1/0/10] port link-type hybrid

[SwitchA-Ethernet1/0/10] port hybrid vlan 2 3 10 tagged

[SwitchA-Ethernet1/0/10] quit

# VLAN 10接口启动PIM DM协议,并同时启用IGMP

[SwitchA] interface Vlan-interface 10

[SwitchA-Vlan-interface10] pim dm

[SwitchA-Vlan-interface10] igmp enable

(2)        Switch B上的配置

# 启动设备IGMP-Snooping

<SwitchB> system-view

[SwitchB] igmp-snooping enable

# 配置VLAN 10为组播VLAN,并使能IGMP-Snooping

[SwitchB] vlan 10

[SwitchB-vlan10] service-type multicast

[SwitchB-vlan10] igmp-snooping enable

[SwitchB-vlan10] quit

# Ethernet 1/0/10定义为Hybrid端口,并将该端口加入到VLAN 2310中,端口发送VLAN 2VLAN 3VLAN 10的报文时带VLAN标签。

[SwitchB] interface Ethernet 1/0/10

[SwitchB-Ethernet1/0/10] port link-type hybrid

[SwitchB-Ethernet1/0/10] port hybrid vlan 2 3 10 tagged

[SwitchB-Ethernet1/0/10] quit

# Ethernet 1/0/1定义为Hybrid端口,并将该端口加入到VLAN 2VLAN 10中,端口发送VLAN 2VLAN 10的报文时不带VLAN标签,端口的缺省VLANVLAN 2

[SwitchB] interface Ethernet 1/0/1

[SwitchB-Ethernet1/0/1] port link-type hybrid

[SwitchB-Ethernet1/0/1] port hybrid vlan 2 10 untagged

[SwitchB-Ethernet1/0/1] port hybrid pvid vlan 2

[SwitchB-Ethernet1/0/1] quit

# Ethernet 1/0/2定义为Hybrid端口,并将该端口加入到VLAN 3VLAN 10中,端口发送VLAN 3VLAN 10的报文时不带VLAN标签,端口的缺省VLANVLAN 3

[SwitchB] interface Ethernet 1/0/2

[SwitchB-Ethernet1/0/2] port link-type hybrid

[SwitchB-Ethernet1/0/2] port hybrid vlan 3 10 untagged

[SwitchB-Ethernet1/0/2] port hybrid pvid vlan 3

[SwitchB-Ethernet1/0/2] quit

1.5  常见配置错误举例

故障现象:交换机不能实现组播功能。

故障排除:

(1)        IGMP-Snooping没有启动。

l              输入命令display current-configuration查看IGMP-Snooping的状态。

l              如果IGMP-Snooping没有启动,则需查看是全局下是否没有使能IGMP-Snooping,还是在对应的VLAN下没有使能IGMP-Snooping。如果是前者则需在系统视图下输入命令igmp-snooping enable全局使能IGMP-Snooping。同时在VLAN视图下输入命令igmp-snooping enable以使能对应的VLANIGMP-Snooping。如果是后者,则只需在VLAN视图下输入命令igmp-snooping enable以使能对应的VLANIGMP-Snooping

(2)        IGMP-Snooping建立的组播转发表不正确。

l              输入命令display igmp-snooping group查看组播组是否是所预期的。

l              如果IGMP-Snooping建立的组播组不正确,请向专业维护人员求助。

l              如果排除了原因2,则进入原因分析3

(3)        IGMP-Snooping建立的组播转发表不正确。

l              输入命令display mac-address vlan查看在vlan-id下所建立的MAC组播转发表是否和IGMP-Snooping建立的MAC组播转发表一致。

如果不一致,请向专业维护人员求助

 


第2章  路由端口加入指定组播组配置

2.1  路由端口加入指定组播组配置

2.1.1  路由端口加入指定组播组简介

通常情况下,运行IGMP的主机会对组播路由器(或三层组播交换机)的IGMP查询报文进行响应,如果由于某种原因无法响应,就可能导致组播路由器(或三层组播交换机)认为该网段没有该组播组的成员,从而取消相应的路径。

为避免这种情况的发生,可以将二层组播交换机路由器端口所在的三层接口配置成为组播组成员,当从该接口收到IGMP查询报文时,由二层组播交换机进行响应,从而保证接口所在网段能够继续收到组播报文。

2.1.2  路由端口加入指定组播组配置过程

表2-1 路由端口加入指定组播组配置过程

操作

命令

说明

进入系统视图

system-view

-

进入以太网端口视图

interface interface-type interface-number

-

配置路由端口加入指定组播组

igmp host-join group-address vlan vlan-id

必选

 

缺省情况下,路由端口不加入任何组播组。需要注意的是,指定的端口必须属于该VLAN接口,否则配置不会起作用。

 


第3章  添加组播MAC地址配置

3.1  添加组播MAC地址表项简介

在二层的组播过程中,除了通过二层组播协议动态建立组播转发表项外,还可以通过手工配置组播MAC地址,将端口与组播地址表项进行静态绑定。

通常情况下,如果交换机收到的组播数据报文的组播地址没有在本机注册,该报文会在VLAN内广播,通过配置组播静态MAC地址表项可以避免这种情况。

3.2  组播MAC地址表项配置

组播MAC地址表项的配置过程如下:

表3-1 组播MAC地址配置

配置项

命令

说明

进入系统视图

system-view

-

创建组播MAC地址表项

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

必选

mac-address必须为组播MAC地址

vlan-id为端口所在的VLANID

进入以太网端口视图

interface interface-type interface-number

-

创建组播MAC地址表项

mac-address multicast mac-address vlan vlan-id

可选

用户可以在以太网端口视图下添加组播MAC地址,与系统视图下配置功能相同

 

取消相关配置可以使用相应的undo命令。

  注意:

l      如果要创建的组播MAC地址表项已经存在,则系统会给出提示;

l      如果一个组播MAC地址是手工添加的,则交换机不会再通过igmp-snooping学习这个组播MAC地址。undo mac-address multicast命令只能够删除通过命令手工创建的组播MAC地址表项,无法删除交换机学习到的组播MAC地址表项;

l      如果要向通过命令创建的组播MAC地址表项中加入端口,需要先将该表项删除,然后重新创建该表项,再将指定端口加入到表项的转发端口中;

l      如在端口添加了组播MAC地址,则无法在此端口使能端口汇聚。如端口已经是汇聚端口,则不可以添加组播MAC地址。

 

3.3  显示和维护

通过display命令对添加组播MAC地址配置进行显示,display命令可以在任意视图下执行。

表3-2 添加组播MAC地址的显示和维护

配置

命令

说明

显示已经添加的组播MAC地址表项

display mac-address multicast static [ mac-address ] [ vlan vlan-id ]

display命令可以在任意视图下执行

 


第4章  未知组播报文丢弃

4.1  未知组播报文丢弃简介

通常情况下,如果交换机收到的组播数据报文的组播地址没有在本机注册,该报文会在该端口所在的VLAN内广播。当启动未知组播丢弃功能后,交换机收到未注册的组播地址的组播数据报文,将丢弃该报文,从而节省带宽,并提高系统的处理效率。

4.2  配置未知组播报文丢弃

表4-1 未知组播报文丢弃配置

操作

命令

说明

进入系统视图

system-view

-

配置未知组播报文丢弃功能

unknown-multicast drop enable

必选

缺省情况下,未知组播报文丢弃功能关闭

 

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

新华三官网
联系我们