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

06-IP组播配置指导

目录

06-MLD Snooping配置

本章节下载 06-MLD Snooping配置  (428.37 KB)

06-MLD Snooping配置


1 MLD Snooping

1.1  MLD Snooping简介

MLD Snooping(Multicast Listener Discovery Snooping,组播侦听者发现协议窥探)运行在二层设备上,通过侦听三层设备与主机之间的MLD报文来生成二层组播转发表,从而管理和控制IPv6组播数据报文的转发,实现IPv6组播数据报文在二层的按需分发。

1.1.1  MLD Snooping原理

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

图1-1所示,当二层设备没有运行MLD Snooping时,IPv6组播数据报文在二层网络中被广播;当二层设备运行了MLD Snooping后,已知IPv6组播组的组播数据报文不会在二层网络中被广播,而被组播给指定的接收者。

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

 

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

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

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

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

1.1.2  MLD Snooping基本概念

1. MLD Snooping相关端口

图1-2所示,Router A连接IPv6组播源,在Switch A和Switch B上分别运行MLD Snooping,Host A和Host C为接收者主机(即IPv6组播组成员)。

图1-2 MLD Snooping相关端口

 

结合图1-2,介绍一下MLD Snooping相关的端口概念:

·              路由器端口(Router Port):交换机上朝向三层组播设备(DR或MLD查询器)一侧的端口,如Switch A和Switch B各自的Ten-GigabitEthernet1/0/1端口。交换机将本设备上的所有路由器端口都记录在路由器端口列表中。

·              成员端口(Member Port):又称IPv6组播组成员端口,表示交换机上朝向IPv6组播组成员一侧的端口,如Switch A的Ten-GigabitEthernet1/0/2和Ten-GigabitEthernet1/0/3端口,以及Switch B的Ten-GigabitEthernet1/0/2端口。交换机将本设备上的所有成员端口都记录在MLD Snooping转发表中。

说明

·       本文中提到的路由器端口都是指交换机上朝向组播路由器的端口,而不是指路由器上的端口。

·       如不特别指明,本文中提到的路由器/成员端口均包括动态和静态端口。

·       在运行了MLD Snooping的交换机上,所有收到源地址不为0::0的MLD普遍组查询报文或IPv6 PIM Hello报文的端口都将被视为动态路由器端口。有关IPv6 PIM Hello报文的详细介绍,请参见“IP组播配置指导”中的“IPv6 PIM”。

 

2. MLD Snooping动态端口老化定时器

表1-1 MLD Snooping动态端口老化定时器

定时器

说明

超时前应收到的报文

超时后交换机的动作

动态路由器端口老化定时器

交换机为其每个动态路由器端口都启动一个定时器,其超时时间就是动态路由器端口老化时间

源地址不为0::0的MLD普遍组查询报文或IPv6 PIM Hello报文

将该端口从路由器端口列表中删除

动态成员端口老化定时器

当一个端口动态加入某IPv6组播组时,交换机为该端口启动一个定时器,其超时时间就是动态成员端口老化时间

MLD成员关系报告报文

将该端口从MLD Snooping转发表中删除

 

说明

MLD Snooping端口老化机制只针对动态端口,静态端口永不老化。

 

1.1.3  MLD Snooping工作机制

运行了MLD Snooping的交换机对不同MLD动作的具体处理方式如下:

说明

本节中所描述的增删端口动作均只针对动态端口,静态端口只能通过相应的配置进行增删,具体步骤请参见“1.4.3  配置静态端口”。

 

1. 普遍组查询

MLD查询器定期向本地网段内的所有主机与路由器(FF02::1)发送MLD普遍组查询报文,以查询该网段有哪些IPv6组播组的成员。

在收到MLD普遍组查询报文时,交换机将其通过VLAN内除接收端口以外的其它所有端口转发出去,并对该报文的接收端口做如下处理:

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

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

2. 报告成员关系

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

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

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

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

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

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

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

说明

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

 

3. 离开组播组

当主机离开IPv6组播组时,会通过发送MLD离开组报文,以通知组播路由器自己离开了某个IPv6组播组。当交换机从某动态成员端口上收到MLD离开组报文时,首先判断要离开的IPv6组播组所对应的转发表项是否存在,以及该IPv6组播组所对应转发表项的出端口列表中是否包含该接收端口:

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

·              如果存在该IPv6组播组对应的转发表项,且该IPv6组播组对应转发表项的出端口列表中包含该端口,交换机会将该报文通过VLAN内的所有路由器端口转发出去。同时,由于并不知道该接收端口下是否还有该IPv6组播组的其它成员,所以交换机不会立刻把该端口从该IPv6组播组所对应转发表项的出端口列表中删除,而是调整该端口的老化定时器。

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

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

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

1.1.4  协议规范

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

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

1.2  MLD Snooping配置任务简介

表1-2 MLD Snooping配置任务简介

配置任务

说明

详细配置

配置MLD Snooping基本功能

使能MLD Snooping

必选

1.3.2 

配置MLD Snooping版本

可选

1.3.3 

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

可选

1.3.4 

配置MLD查询和响应

可选

1.3.5 

配置MLD Snooping端口功能

配置动态端口老化定时器

可选

1.4.2 

配置静态端口

可选

1.4.3   

配置端口快速离开

可选

1.4.4 

配置MLD Snooping策略

配置IPv6组播组过滤器

可选

1.5.2 

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

可选

1.5.3 

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

可选

1.5.3 

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

可选

1.5.4 

配置IPv6组播组替换功能

可选

1.5.5 

 

说明

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

 

1.3  配置MLD Snooping基本功能

1.3.1  配置准备

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

·              配置相应VLAN

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

·              MLD Snooping的版本

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

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

1.3.2  使能MLD Snooping

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

表1-3 使能MLD Snooping

操作

命令

说明

进入系统视图

system-view

-

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

mld-snooping

缺省情况下,MLD Snooping处于关闭状态

退回系统视图

quit

-

进入VLAN视图

vlan vlan-id

-

在VLAN内使能MLD Snooping

mld-snooping enable

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

 

1.3.3  配置MLD Snooping版本

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

·              当MLD Snooping的版本为1时,MLD Snooping能够对MLDv1的报文进行处理,对MLDv2的报文则不进行处理,而是在VLAN内将其广播;

·              当MLD Snooping的版本为2时,MLD Snooping能够对MLDv1和MLDv2的报文进行处理。

表1-4 配置MLD Snooping版本

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

配置MLD Snooping的版本

mld-snooping version version-number

缺省情况下,MLD Snooping的版本为1

 

说明

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

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

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

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

 

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

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

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

操作

命令

说明

进入系统视图

system-view

-

进入MLD-Snooping视图

mld-snooping

-

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

entry-limit limit

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

 

说明

在配置MLD Snooping转发表项的全局最大数量时,如果设备上维护的表项数量已超过配置值,系统不会自动删除任何已存在的表项,也不再继续创建新的表项。在这种情况下,建议用户手工删除多余表项。

 

1.3.5  配置MLD查询和响应

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

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

·              对于MLD普遍组查询报文来说,通过配置MLD普遍组查询的最大响应时间来填充其最大响应时间字段;

·              对于MLD特定组查询报文来说,所配置的MLD特定组查询报文的发送间隔将被填充到其最大响应时间字段。也就是说,MLD特定组查询的最大响应时间从数值上与MLD特定组查询报文的发送间隔相同。

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

1. 全局配置MLD查询和响应

表1-6 全局配置MLD查询和响应

操作

命令

说明

进入系统视图

system-view

-

进入MLD-Snooping视图

mld-snooping

-

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

max-response-time interval

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

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

last-listener-query-interval interval

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

 

2. 在VLAN内配置MLD查询和响应

表1-7 在VLAN内配置MLD查询和响应

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

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

mld-snooping max-response-time interval

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

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

mld-snooping last-listener-query-interval interval

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

 

1.4  配置MLD Snooping端口功能

1.4.1  配置准备

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

·              在VLAN内使能MLD Snooping

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

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

·              动态成员端口老化时间

·              IPv6组播组和IPv6组播源的地址

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

对于动态路由器端口,如果在其老化时间超时前没有收到MLD普遍组查询报文或者IPv6 PIM Hello报文,交换机将把该端口从路由器端口列表中删除。

对于动态成员端口,如果在其老化时间超时前没有收到该IPv6组播组的MLD成员关系报告报文,交换机将把该端口从该IPv6组播组所对应转发表的出端口列表中删除。

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

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

说明

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

进入MLD-Snooping视图

mld-snooping

-

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

router-aging-time interval

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

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

host-aging-time interval

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

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

mld-snooping router-aging-time interval

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

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

mld-snooping host-aging-time interval

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

 

1.4.3  配置静态端口

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

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

表1-10 配置静态端口

操作

命令

说明

进入系统视图

system-view

-

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

interface interface-type interface-number

-

配置静态成员端口

mld-snooping static-group ipv6-group-address [ source-ip ipv6-source-address ] vlan vlan-id

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

配置静态路由器端口

mld-snooping static-router-port vlan vlan-id

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

 

说明

静态成员端口和静态路由器端口都不会老化,只能通过相应的undo命令删除。

 

1.4.4  配置端口快速离开

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

对于一个VLAN而言,只有当端口下只有一个接收者时,才可使能端口快速离开功能;否则,若端口下有多个接收者,一个接收者的离开将导致属于同一IPv6组播组的其它接收者无法收到IPv6组播数据。

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

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

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

操作

命令

说明

进入系统视图

system-view

-

进入MLD-Snooping视图

mld-snooping

-

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

fast-leave [ vlan vlan-list ]

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

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

interface interface-type interface-number

-

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

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

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

 

1.5  配置MLD Snooping策略

1.5.1  配置准备

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

·              在VLAN内使能MLD Snooping

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

·              IPv6组播组过滤的ACL规则

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

1.5.2  配置IPv6组播组过滤器

提示

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

 

在使能了MLD Snooping的交换机上,通过配置IPv6组播组过滤器,可以限制用户对组播节目的点播。

在实际应用中,当用户点播某个组播节目时,主机会发起一个MLD成员关系报告报文,该报文到达交换机后,进行ACL检查:如果该接收端口可以加入这个IPv6组播组,则将其列入到MLD Snooping转发表中;否则交换机就丢弃该报文。这样,未通过ACL检查的IPv6组播数据就不会送到该端口,从而达到控制用户点播组播节目的目的。

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

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

表1-13 全局配置IPv6组播组过滤器

操作

命令

说明

进入系统视图

system-view

-

进入MLD-Snooping视图

mld-snooping

-

全局配置IPv6组播组过滤器

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

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

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

interface interface-type interface-number

-

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

mld-snooping group-policy acl6-number [ vlan vlan-list ]

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

 

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

未知IPv6组播数据报文是指在MLD Snooping转发表中不存在对应转发表项的那些IPv6组播数据报文,当交换机收到发往未知组播组的IPv6报文时,IPv6数据报文会在VLAN内广播,这样会占用大量的网络带宽,影响转发效率。

此时用户可以在交换机上启动丢弃未知IPv6组播数据报文功能,当交换机收到未知IPv6组播数据报文时,只向其路由器端口转发,不在VLAN内广播。如果交换机没有路由器端口,IPv6数据报文会被丢弃,不再转发。

表1-15 在VLAN内配置丢弃未知IPv6组播数据报文

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

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

mld-snooping drop-unknown

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

 

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

提示

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

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

interface interface-type interface-number

-

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

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

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

 

说明

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

 

1.5.5  配置IPv6组播组替换功能

提示

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

 

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

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

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

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

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

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

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

操作

命令

说明

进入系统视图

system-view

-

进入MLD-Snooping视图

mld-snooping

-

全局使能IPv6组播组替换功能

overflow-replace [ vlan vlan-list ]

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

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

interface interface-type interface-number

-

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

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

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

 

1.6  MLD Snooping显示和维护

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

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

表1-19 MLD Snooping显示和维护

操作

命令

显示MLD Snooping的状态信息

display mld-snooping [ global | vlan vlan-id ]

显示IPv6动态组播组的MLD Snooping转发表项信息(独立运行模式)

display mld-snooping group [ ipv6-group-address | ipv6-source-address ] * [ vlan vlan-id ] [ verbose ] [ slot slot-number ]

显示IPv6动态组播组的MLD Snooping转发表项信息(IRF模式)

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

显示IPv6静态组播组的MLD Snooping转发表项信息(独立运行模式)

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

显示IPv6静态组播组的MLD Snooping转发表项信息(IRF模式)

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

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

display mld-snooping router-port [ vlan vlan-id ] [ slot slot-number ]

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

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

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

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

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

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

显示MLD Snooping监听到的MLD报文统计信息

display mld-snooping statistics

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

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

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

display ipv6 l2-multicast forwarding-table [ group ipv6-group-address | source ipv6-source-address ] * [ vlan vlan-id ] [ chassis chassis-number slot slot-number ]

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

display ipv6 l2-multicast mac-forwarding-table [ mac-address ] [ vlan vlan-id ] [ slot slot-number ]

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

display ipv6 l2-multicast mac-forwarding-table [ mac-address ] [ vlan vlan-id ] [ chassis chassis-number slot slot-number ]

清除IPv6动态组播组的MLD Snooping转发表项信息

reset mld-snooping group { ipv6-group-address [ ipv6-source-address ] | all } [ vlan vlan-id ]

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

reset mld-snooping router-port { all | vlan vlan-id }

清除MLD Snooping监听到的MLD报文统计信息

reset mld-snooping statistics

 

1.7  MLD Snooping典型配置举例

1.7.1  IPv6组策略配置举例

1. 组网需求

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

·              通过配置,使Host A和Host B能且只能接收发往IPv6组播组FF1E::101的IPv6组播数据;同时,使Switch A将收到的未知IPv6组播数据直接丢弃,避免在其所属的VLAN 100内广播。

2. 组网图

图1-3 IPv6组策略配置组网图

 

3. 配置步骤

(1)      配置IPv6地址

请按照图1-3配置各接口的IPv6地址和前缀长度,具体配置过程略。

(2)      配置Router A

# 使能IPv6组播路由,在各接口上使能IPv6 PIM-DM,并在接口Ten-GigabitEthernet1/0/1上使能MLD。

<RouterA> system-view

[RouterA] ipv6 multicast routing-enable

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

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

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

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

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

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

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

(3)      配置Switch A

# 全局使能MLD Snooping。

<SwitchA> system-view

[SwitchA] mld-snooping

[SwitchA-mld-snooping] quit

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

[SwitchA] vlan 100

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

[SwitchA-vlan100] mld-snooping enable

[SwitchA-vlan100] mld-snooping drop-unknown

[SwitchA-vlan100] quit

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

[SwitchA] acl ipv6 number 2001

[SwitchA-acl6-basic-2001] rule permit source ff1e::101 128

[SwitchA-acl6-basic-2001] quit

[SwitchA] mld-snooping

[SwitchA–mld-snooping] group-policy 2001 vlan 100

[SwitchA–mld-snooping] quit

4. 验证配置

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

# 显示Switch A上VLAN 100内IPv6动态组播组的MLD Snooping转发表项信息。

[SwitchA] display mld-snooping group vlan 100

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (::, FF1E::101)

    Host slots (1 in total):

      1

    Host ports (2 in total):

      XGE1/0/3

      XGE1/0/4

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

1.7.2  静态端口配置举例

1. 组网需求

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

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

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

说明

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

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

 

2. 组网图

图1-4 静态端口配置组网图

 

3. 配置步骤

(1)      配置IPv6地址

请按照图1-4配置各接口的IPv6地址和前缀长度,具体配置过程略。

(2)      配置Router A

# 使能IPv6组播路由,在各接口上使能IPv6 PIM-DM,并在接口Ten-GigabitEthernet1/0/1上使能MLD。

<RouterA> system-view

[RouterA] ipv6 multicast routing-enable

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

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

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

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

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

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

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

(3)      配置Switch A

# 全局使能MLD Snooping。

<SwitchA> system-view

[SwitchA] mld-snooping

[SwitchA-mld-snooping] quit

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

[SwitchA] vlan 100

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

[SwitchA-vlan100] mld-snooping enable

[SwitchA-vlan100] quit

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

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

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

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

(4)      配置Switch B

# 全局使能MLD Snooping

<SwitchB> system-view

[SwitchB] mld-snooping

[SwitchB-mld-snooping] quit

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

[SwitchB] vlan 100

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

[SwitchB-vlan100] mld-snooping enable

[SwitchB-vlan100] quit

(5)      配置Switch C

# 全局使能MLD Snooping

<SwitchC> system-view

[SwitchC] mld-snooping

[SwitchC-mld-snooping] quit

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

[SwitchC] vlan 100

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

[SwitchC-vlan100] mld-snooping enable

[SwitchC-vlan100] quit

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

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

[SwitchC-Ten-GigabitEthernet1/0/3] mld-snooping static-group ff1e::101 vlan 100

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

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

[SwitchC-Ten-GigabitEthernet1/0/5] mld-snooping static-group ff1e::101 vlan 100

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

4. 验证配置

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

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

VLAN 100:

  Router slots (1 in total):

    1

  Router ports (1 in total):

    XGE1/0/3

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

# 显示Switch C上VLAN 100内IPv6静态组播组的MLD Snooping转发表项信息。

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

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (::, FF1E::101)

    Host slots (1 in total):

      1

    Host ports (2 in total):

      XGE1/0/3

      XGE1/0/5

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

1.8  常见配置错误举例

1.8.1  交换机不能实现二层组播

1. 故障现象

交换机不能实现MLD snooping二层组播功能。

2. 故障分析

MLD Snooping没有使能。

3. 处理过程

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

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

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

1.8.2  配置的IPv6组播组策略不生效

1. 故障现象

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

2. 故障分析

·              IPv6 ACL规则配置不正确;

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

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

3. 处理过程

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

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

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

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

新华三官网
联系我们