koorio.com
海量文库 文档专家
赞助商链接
当前位置:首页 >> 计算机硬件及网络 >>

05 IP组播配置指导-整本手册


H3C S3100V2 系列以太网交换机
IP 组播配置指导

杭州华三通信技术有限公司 http://www.h3c.com.cn
资料版本:6W100-20110620 产品版本:Release 5103

Copyright ? 2011 杭州华三通信技术有限公司及其许可者 版权所有,保留一切权利。 未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部,并不得以任何 形式传播。 H3C、 、Aolynk、 、H3Care、 、TOP G、 、IRF、NetPilot、Neocean、

NeoVTL、SecPro、SecPoint、SecEngine、SecPath、Comware、Secware、Storware、NQA、 VVG、V2G、VnG、PSPT、XGbus、N-Bus、TiGem、InnoVision、HUASAN、华三均为杭州华三 通信技术有限公司的商标。对于本手册中出现的其它公司的商标、产品标识及商品名称,由各自权 利人拥有。 由于产品版本升级或其他原因,本手册内容有可能变更。H3C 保留在没有任何通知或者提示的情况 下对本手册的内容进行修改的权利。本手册仅作为使用指导,H3C 尽全力在本手册中提供准确的信 息,但是 H3C 并不确保手册内容完全没有错误,本手册中的所有陈述、信息和建议也不构成任何 明示或暗示的担保。

前 言
H3C S3100V2 系列以太网交换机配置指导共分为九本手册, 介绍了 S3100V2 系列以太网交换机各 软件特性的原理及其配置方法,包含原理简介、配置任务描述和配置举例。《IP 组播配置指导》主 要介绍组播业务的相关协议原理和具体配置,包括 IPv4 组播业务配置及 IPv6 组播业务的配置。利 用组播技术可以实现网络中点到多点的高效数据传送。 前言部分包含如下内容: 读者对象 本书约定 资料获取方式 技术支持 资料意见反馈

读者对象
本手册主要适用于如下工程师: 网络规划人员 现场技术支持与维护人员 负责网络配置和维护的网络管理员

本书约定
1.命令行格式约定
格 粗体 式 意 义

命令行关键字(命令中保持不变、必须照输的部分)采用加粗字体表示。 命令行参数(命令中必须由实际值进行替代的部分)采用斜体表示。 表示用“[ ]”括起来的部分在命令配置时是可选的。 表示从多个选项中仅选取一个。 表示从多个选项中选取一个或者不选。 表示从多个选项中至少选取一个。 表示从多个选项中选取一个、多个或者不选。 表示符号&前面的参数可以重复输入 1~n 次。 由“#”号开始的行表示为注释行。

斜体
[] { x | y | ... } [ x | y | ... ] { x | y | ... } * [ x | y | ... ] * &<1-n> #

2.图形界面格式约定
格 <> [] / 式 意 义

带尖括号“< >”表示按钮名,如“单击<确定>按钮”。 带方括号“[ ]”表示窗口名、菜单名和数据表,如“弹出[新建用户]窗口”。 多级菜单用“/”隔开。如[文件/新建/文件夹]多级菜单表示[文件]菜单下的[新建]子菜单下 的[文件夹]菜单项。

3.各类标志 本书还采用各种醒目标志来表示在操作过程中应该特别注意的地方,这些标志的意义如下:
该标志后的注释需给予格外关注,不当的操作可能会对人身造成伤害。 提醒操作中应注意的事项,不当的操作可能会导致数据丢失或者设备损坏。 为确保设备配置成功或者正常工作而需要特别关注的操作或信息。 对操作内容的描述进行必要的补充和说明。 配置、操作、或使用设备的技巧、小窍门。

4.图标约定 本书使用的图标及其含义如下:
该图标及其相关描述文字代表一般网络设备,如路由器、交换机、防火墙等。

该图标及其相关描述文字代表一般意义下的路由器,以及其他运行了路由协议的设备。

该图标及其相关描述文字代表二、三层以太网交换机,以及运行了二层协议的设备。

资料获取方式
您可以通过H3C网站(www.h3c.com.cn)获取最新的产品资料: H3C 网站与产品资料相关的主要栏目介绍如下: [服务支持/文档中心]:可以获取硬件安装类、软件升级类、配置类或维护类等产品资料。 [产品技术]:可以获取产品介绍和技术介绍的文档,包括产品相关介绍、技术介绍、技术白皮 书等。 [解决方案]:可以获取解决方案类资料。 [服务支持/软件下载]:可以获取与软件版本配套的资料。

技术支持
用户支持邮箱:customer_service@h3c.com 技术支持热线电话:400-810-0504(手机、固话均可拨打) 010-62982107 网址:http://www.h3c.com.cn

资料意见反馈
如果您在使用过程中发现产品资料的任何问题,可以通过以下方式反馈: E-mail:info@h3c.com 感谢您的反馈,让我们做得更好!

目 录
1 组播概述 ............................................................................................................................................ 1-1
1.1 组播简介............................................................................................................................................ 1-1 1.1.1 三种信息传输方式的比较........................................................................................................ 1-1 1.1.2 组播传输的特点 ...................................................................................................................... 1-3 1.1.3 组播中常用的表示法 ............................................................................................................... 1-4 1.1.4 组播的优点和应用................................................................................................................... 1-4 1.2 组播模型分类..................................................................................................................................... 1-4 1.3 组播框架结构..................................................................................................................................... 1-5 1.3.1 组播地址 ................................................................................................................................. 1-5 1.3.2 组播协议 ................................................................................................................................. 1-9 1.4 组播报文的转发机制........................................................................................................................ 1-10

i

1 组播概述
本手册着重介绍 IP 组播技术及设备操作。如果不加特别说明,本手册中出现的组播均指 IP 组播。

1.1 组播简介
作为一种与单播(Unicast)和广播(Broadcast)并列的通信方式,组播(Multicast)技术能够有 效地解决单点发送、多点接收的问题,从而实现了网络中点到多点的高效数据传送,能够节约大量 网络带宽、降低网络负载。 利用组播技术可以方便地提供一些新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、 网络电台、实时视频会议等对带宽和数据交互的实时性要求较高的信息服务。

1.1.1 三种信息传输方式的比较
1. 单播方式的信息传输 如 图 1-1所示,在IP网络中若采用单播的方式,信息源(即Source)要为每个需要信息的主机(即 Receiver)都发送一份独立的信息拷贝。 图1-1 单播方式的信息传输

Host A

Receiver Host B Source Host C Receiver Host D

IP network Packets for Host B Packets for Host D Packets for Host E

Receiver Host E

假设 Host B、Host D 和 Host E 需要信息,则 Source 要与 Host B、Host D 和 Host E 分别建立一 条独立的信息传输通道。

1-1

采用单播方式时,网络中传输的信息量与需要该信息的用户量成正比,因此当需要该信息的用户数 量较大时,信息源需要将多份内容相同的信息发送给不同的用户,这对信息源以及网络带宽都将造 成巨大的压力。 从单播方式的信息传播过程可以看出,该传输方式不利于信息的批量发送。 2. 广播方式的信息传输 如 图 1-2所示,在一个网段中若采用广播的方式,信息源(即Source)将把信息传送给该网段中的 所有主机,而不管其是否需要该信息。 图1-2 广播方式的信息传输

假设只有 Host B、Host D 和 Host E 需要信息,若将该信息在网段中进行广播,则原本不需要信息 的 Host A 和 Host C 也将收到该信息,这样不仅信息的安全性得不到保障,而且会造成同一网段中 信息的泛滥。 因此,广播方式不利于与特定对象进行数据交互,并且还浪费了大量的带宽。 3. 组播方式的信息传输 综上所述, 传统的单播和广播的通信方式均不能以最小的网络开销实现单点发送、 多点接收的问题, IP 组播技术的出现及时解决了这个问题。 如 图 1-3所示,当IP网络中的某些主机(即Receiver)需要信息时,若采用组播的方式,组播源(即 Source)仅需发送一份信息,借助组播路由协议建立组播分发树,被传递的信息在距离组播源尽可 能远的网络节点才开始复制和分发。

1-2

图1-3 组播方式的信息传输

假设只有 Host B、Host D 和 Host E 需要信息,采用组播方式时,可以让这些主机加入同一个组播 组(Multicast group),组播源向该组播组只需发送一份信息,并由网络中各路由器根据该组播组 中各成员的分布情况对该信息进行复制和转发, 最后该信息会准确地发送给 Host B、 Host D 和 Host E。 综上所述,组播的优势归纳如下: 相比单播来说,组播的优势在于:由于被传递的信息在距信息源尽可能远的网络节点才开始 被复制和分发,所以用户的增加不会导致信息源负载的加重以及网络资源消耗的显著增加。 相比广播来说,组播的优势在于:由于被传递的信息只会发送给需要该信息的接收者,所以 不会造成网络资源的浪费,并能提高信息传输的安全性;另外,广播只能在同一网段中进行, 而组播可以实现跨网段的传输。

1.1.2 组播传输的特点
组播传输的特点归纳如下: “组播组”是一个用 IP 组播地址进行标识的接收者集合,主机通过加入某组播组成为该组播 组的成员,从而可以接收发往该组播组的组播数据。组播源通常不需要加入组播组。 信息的发送者称为“组播源”,如 图 1-3中的Source。一个组播源可以同时向多个组播组发 送信息,多个组播源也可以同时向一个组播组发送信息。 所有加入某组播组的主机便成为该组播组的成员, 图 1-3中的Receiver。 如 组播组中的成员是 动态的,主机可以在任何时刻加入或离开组播组。组播组成员可以广泛地分布在网络中的任 何地方。 支持三层组播功能的路由器或三层交换机统称为“组播路由器”或“三层组播设备”。组播 路由器不仅能够提供组播路由功能,也能够在与用户连接的末梢网段上提供组播组成员的管 理功能。组播路由器本身也可能是组播组的成员。 为了更好地理解,可以将组播方式的信息传输过程类比于电视节目的传送过程,如 表 1-1所示。

1-3

表1-1 组播信息传输与电视节目传输的类比
步骤 1 2 3 4 电视节目的传送过程 电视台 S 通过频道 G 传送电视节目 用户 U 将电视机的频道调至频道 G 用户 U 能够收看到由电视台 S 通过频道 G 传送的电 视节目了 用户 U 关闭电视机或切换到其它频道 组播方式的信息传输过程 组播源 S 向组播组 G 发送组播数据 接收者 U 加入组播组 G 接收者 U 能够收到由组播源 S 发往组播组 G 的组 播数据了 接收者 U 离开组播组 G

1.1.3 组播中常用的表示法
在组播中,经常出现以下两种表示方式: (*,G):通常用来表示共享树,或者由任意组播源发往组播组 G 的组播报文。其中的“*” 代表任意组播源,“G”代表特定组播组 G。 (S,G):也称为“组播源组”,通常用来表示最短路径树,或者由组播源 S 发往组播组 G 的组播报文。其中的“S”代表特定组播源 S,“G”代表特定组播组 G。

1.1.4 组播的优点和应用
1. 组播的优点 组播技术的优点主要在于: 提高效率:减轻信息源服务器和网络设备 CPU 的负荷; 优化性能:减少冗余流量; 分布式应用:使用最少的网络资源实现点到多点应用。 2. 组播的应用 组播技术主要应用于以下几个方面: 多媒体、流媒体的应用,如:网络电视、网络电台、实时视/音频会议; 培训、联合作业场合的通信,如:远程教育、远程医疗; 数据仓库、金融应用(股票); 其它任何“点到多点”的数据发布应用。

1.2 组播模型分类
根据接收者对组播源处理方式的不同,组播模型分为以下三类: 1. ASM模型 简单地说,ASM(Any-Source Multicast,任意信源组播)模型就是任意源组播模型。 在 ASM 模型中,任意一个发送者都可以作为组播源向某个组播组地址发送信息,接收者通过加入 由该地址标识的组播组,来接收发往该组播组的组播信息。 在 ASM 模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。 2. SFM模型 SFM(Source-Filtered Multicast,信源过滤组播)模型继承了 ASM 模型,从发送者角度来看,两 者的组播组成员关系完全相同。

1-4

SFM 模型在功能上对 ASM 模型进行了扩展。在 SFM 模型中,上层软件对收到的组播报文的源地 址进行检查,允许或禁止来自某些组播源的报文通过。因此,接收者只能收到来自部分组播源的组 播数据。从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。 3. SSM模型 在现实生活中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。 SSM(Source-Specific Multicast,指定信源组播)模型为用户提供了一种能够在客户端指定组播源 的传输服务。 SSM 模型与 ASM 模型的根本区别在于: SSM 模型中的接收者已经通过其它手段预先知道了组播源 的具体位置。 SSM 模型使用与 ASM/SFM 模型不同的组播地址范围, 直接在接收者与其指定的组播 源之间建立专用的组播转发路径。

1.3 组播框架结构
对于 IP 组播,需要关注下列问题: 组播源将组播信息传输到哪里?即组播寻址机制; 网络中有哪些接收者?即主机注册; 这些接收者需要从哪个组播源接收信息?即组播源发现; 组播信息如何传输?即组播路由。 IP 组播属于端到端的服务,组播机制包括以下四个部分: (1) (2) (3) (4) 寻址机制:借助组播地址,实现信息从组播源发送到一组接收者; 主机注册:允许接收者主机动态加入和离开某组播组,实现对组播成员的管理; 组播路由:构建组播报文分发树(即组播数据在网络中的树型转发路径),并通过该分发树 将报文从组播源传输到接收者; 组播应用:组播源与接收者必须安装支持视频会议等组播应用的软件,TCP/IP 协议栈必须支 持组播信息的发送和接收。

1.3.1 组播地址
为了让组播源和组播组成员进行通信,需要提供网络层组播地址,即 IP 组播地址。同时必须存在一 种技术将 IP 组播地址映射为链路层的组播 MAC 地址。 1. IP组播地址 (1) IPv4 组播地址 IANA(Internet Assigned Numbers Authority,互联网编号分配委员会)将D类地址空间分配给IPv4 组播使用,范围从 224.0.0.0 到 239.255.255.255,具体分类及其含义如 表 1-2所示。 表1-2 IPv4 组播地址的范围及含义
地址范围 含义 永久组地址。除 224.0.0.0 保留不做分配外,其它地址供路由协议、拓扑查找和 协议维护等使用,常用的永久组地址及其含义如 表 1-3所示。对于以该范围内 组播地址为目的地址的数据包来说,不论其TTL(Time to Live,生存时间)值 为多少,都不会被转发出本地网段 用户组地址,全网范围内有效。包含两种特定的组地址: 224.0.1.0~238.255.255.255 232.0.0.0/8:SSM 组地址 233.0.0.0/8:GLOP 组地址

224.0.0.0~224.0.0.255

1-5

地址范围

含义 本地管理组地址,仅在本地管理域内有效。使用本地管理组地址可以灵活定义 组播域的范围,以实现不同组播域之间的地址隔离,从而有助于在不同组播域 内重复使用相同组播地址而不会引起冲突。详情请参见 RFC 2365

239.0.0.0~239.255.255.255

组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。 GLOP 是一种 AS(Autonomous System,自治系统)之间的组播地址分配机制,将 AS 号填 入该范围内组播地址的中间两个字节中,每个 AS 都可以得到 255 个组播地址。有关 GLOP 的 详细介绍请参见 RFC 2770。

表1-3 常用永久组地址及其含义
永久组地址 224.0.0.1 224.0.0.2 224.0.0.3 224.0.0.4 224.0.0.5 224.0.0.6 224.0.0.7 224.0.0.8 224.0.0.9 224.0.0.11 224.0.0.12 224.0.0.13 224.0.0.14 224.0.0.15 224.0.0.16 224.0.0.17 224.0.0.18 所有系统,包括主机与路由器 所有组播路由器 未分配 DVMRP(Distance Vector Multicast Routing Protocol,距离矢量组播路由协议)路由器 OSPF(Open Shortest Path First,开放最短路径优先)路由器 OSPF 指定路由器/备用指定路由器 ST(Shared Tree,共享树)路由器 ST 主机 RIP-2(Routing Information Protocol version 2,路由信息协议版本 2)路由器 移动代理 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器/中继代理 所有 PIM(Protocol Independent Multicast,协议无关组播)路由器 RSVP(Resource Reservation Protocol,资源预留协议)封装 所有 CBT(Core-Based Tree,有核树)路由器 指定 SBM(Subnetwork Bandwidth Management,子网带宽管理) 所有 SBM VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议) 含义

(2)

IPv6 组播地址

1-6

图1-4 IPv6 组播地址格式

如 图 1-4所示,IPv6 组播地址中各字段的含义如下: 0xFF:最高 8 比特为 11111111,标识此地址为 IPv6 组播地址。 图1-5 Flags 字段格式

Flags:4 比特,如 图 1-5所示,该字段中各位的取值及含义如 表 1-4所示。 表1-4 Flags 字段各位的取值及含义
位 0位 R位 P位 T位 保留位,必须取 0 取 0 表示非内嵌 RP 的 IPv6 组播地址 取 1 则表示内嵌 RP 的 IPv6 组播地址(此时 P、T 位也必须置 1) 取 0 表示非基于单播前缀的 IPv6 组播地址 取 1 则表示基于单播前缀的 IPv6 组播地址(此时 T 位也必须置 1) 取 0 表示由 IANA 永久分配的 IPv6 组播地址 取 1 则表示非永久分配的 IPv6 组播地址 取值及含义

Scope:4 比特,标识该IPv6 组播组的应用范围,其可能的取值及其含义如 表 1-5所示。 表1-5 Scope 字段的取值及其含义
取值 0、F 1 2 3 4 5 6、7、9~D 8 E 保留(Reserved) 接口本地范围(Interface-Local Scope) 链路本地范围(Link-Local Scope) 子网本地范围(Subnet-Local Scope) 管理本地范围(Admin-Local Scope) 站点本地范围(Site-Local Scope) 未分配(Unassigned) 机构本地范围(Organization-Local Scope) 全球范围(Global Scope) 含义

1-7

Group ID:112 比特,IPv6 组播组的标识号,用来在由 Scope 字段所指定的范围内唯一标识 IPv6 组播组。 2. 以太网组播MAC地址 以太网传输单播 IP 报文的时候,目的 MAC 地址使用的是接收者的 MAC 地址。但是在传输组播数 据包时,其目的地不再是一个具体的接收者,而是一个成员不确定的组,所以要使用组播 MAC 地 址。 (1) IPv4 组播 MAC 地址 IANA规定,IPv4 组播MAC地址的高 24 位为 0x01005E,第 25 位为 0,低 23 位为IPv4 组播地址的 低 23 位。IPv4 组播地址与MAC地址的映射关系如 图 1-6所示。 图1-6 IPv4 组播地址与 MAC 地址的映射关系
5 bits lost

XXXX X 32-bit IPv4 address 1110 XXXX XXXX XXXX … 48-bit MAC address 0000 0001 0000 0000 0101 1110 0XXX XXXX XXXX XXXX 23 bits mapped XXXX XXXX XXXX XXXX …

XXXX XXXX

25-bit MAC address prefix

由于 IPv4 组播地址的高 4 位是 1110,代表组播标识,而低 28 位中只有 23 位被映射到 IPv4 组播 MAC 地址,这样 IPv4 组播地址中就有 5 位信息丢失。于是,就有 32 个 IPv4 组播地址映射到了同 一个 IPv4 组播 MAC 地址上,因此在二层处理过程中,设备可能要接收一些本 IPv4 组播组以外的 组播数据,而这些多余的组播数据就需要设备的上层进行过滤了。 (2) IPv6 组播 MAC 地址 IPv6 组播MAC地址的高 16 位为 0x3333,低 32 位为IPv6 组播地址的低 32 位。如 图 1-7所示,是 IPv6 组播地址FF1E::F30E:101 的MAC地址映射举例。 图1-7 IPv6 组播地址的 MAC 地址映射举例

1-8

1.3.2 组播协议

通常, 我们把工作在网络层的 IP 组播称为 “三层组播” 相应的组播协议称为 , “三层组播协议” , 包括 IGMP/MLD、PIM/IPv6 PIM、MSDP、MBGP/IPv6 MBGP 等;把工作在数据链路层的 IP 组播称为“二层组播”,相应的组播协议称为“二层组播协议”,包括 IGMP Snooping/MLD Snooping、组播 VLAN/IPv6 组播 VLAN 等。 IGMP Snooping、组播 VLAN、IGMP、PIM、MSDP 和 MBGP 应用于 IPv4;MLD Snooping、 IPv6 组播 VLAN、MLD、IPv6 PIM 和 IPv6 MBGP 应用于 IPv6。

1. 三层组播协议 三层组播协议包括组播组管理协议和组播路由协议两种类型,它们在网络中的应用位置如 图 1-8所 示。 图1-8 三层组播协议的应用位置

(1)

组播组管理协议

在主机和与其直接相连的三层组播设备之间通常采用组播组的管理协议 IGMP(Internet Group Management Protocol,互联网组管理协议)或 MLD(Multicast Listener Discovery Protocol,组 播侦听者发现协议),该协议规定了主机与三层组播设备之间建立和维护组播组成员关系的机制。 (2) 组播路由协议 组播路由协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效地转发组播数据 包。组播路由建立了从一个数据源端到多个接收端的无环(loop-free)数据传输路径,即组播分发 树。 对于 ASM 模型,可以将组播路由分为域内和域间两大类: 域内组播路由用来在 AS 内部发现组播源并构建组播分发树,从而将组播信息传递到接收者。 在众多域内组播路由协议中,PIM(Protocol Independent Multicast,协议无关组播)是目前 较为典型的一个。按照转发机制的不同,PIM 可以分为 DM(Dense Mode,密集模式)和 SM (Sparse Mode,稀疏模式)两种模式。
1-9

域间组播路由用来实现组播信息在 AS 之间的传递,目前比较成型的解决方案有:MSDP (Multicast Source Discovery Protocol,组播源发现协议)能够跨越 AS 传播组播源的信息; 而 MP-BGP(Multiprotocol Border Gateway Protocol,多协议边界网关协议)的组播扩展 MBGP(Multicast BGP)则能够跨越 AS 传播组播路由。 对于 SSM 模型,没有域内和域间的划分。由于接收者预先知道组播源的具体位置,因此只需要借 助 PIM-SM 构建的通道即可实现组播信息的传输。 2. 二层组播协议 二层组播协议包括IGMP Snooping/MLD Snooping和组播VLAN/IPv6 组播VLAN等,它们在网络中 的应用位置如 图 1-9所示。 图1-9 二层组播协议的应用位置

Source Multicast VLAN /IPv6 Multicast VLAN IGMP Snooping /MLD Snooping

Receiver

Receiver

IPv4/IPv6 multicast packets

(1)

IGMP Snooping/MLD Snooping

IGMP Snooping(Internet Group Management Protocol Snooping,互联网组管理协议窥探)和 MLD Snooping(Multicast Listener Discovery Snooping,组播侦听者发现协议窥探)是运行在二 层设备上的组播约束机制,通过窥探和分析主机与三层组播设备之间交互的 IGMP 或 MLD 报文来 管理和控制组播组,从而可以有效抑制组播数据在二层网络中的扩散。 (2) 组播 VLAN/IPv6 组播 VLAN 在传统的组播点播方式下,当连接在二层设备上、属于不同 VLAN 的用户分别进行组播点播时,三 层组播设备需要向该二层设备的每个 VLAN 分别发送一份组播数据;而当二层设备运行了组播 VLAN 或 IPv6 组播 VLAN 之后,三层组播设备只需向该二层设备的组播 VLAN 或 IPv6 组播 VLAN 发送一份组播数据即可,从而既避免了带宽的浪费,也减轻了三层组播设备的负担。

1.4 组播报文的转发机制
在组播模型中,IP 报文的目的地址字段为组播组地址,组播源向以此目的地址所标识的主机群组传 送信息。因此,转发路径上的组播路由器为了将组播报文传送到各个方位的接收站点,往往需要将 从一个入接口收到的组播报文转发到多个出接口。与单播模型相比,组播模型的复杂性就在于此: 为了保证组播报文在网络中的传输,必须依靠单播路由表或者单独提供给组播使用的路由表 (如 MBGP 路由表)来指导转发;

1-10

为了处理同一设备在不同接口上收到来自不同对端的相同组播信息,需要对组播报文的入接 口进行 RPF(Reverse Path Forwarding,逆向路径转发)检查,以决定转发还是丢弃该报文。 RPF 检查机制是大部分组播路由协议进行组播转发的基础。

1-11

目 录
1 IGMP Snooping配置 .......................................................................................................................... 1-1
1.1 IGMP Snooping简介 ......................................................................................................................... 1-1 1.1.1 IGMP Snooping原理 ............................................................................................................... 1-1 1.1.2 IGMP Snooping基本概念........................................................................................................ 1-1 1.1.3 IGMP Snooping工作机制........................................................................................................ 1-3 1.1.4 IGMP Snooping Proxying ....................................................................................................... 1-4 1.1.5 协议规范 ................................................................................................................................. 1-5 1.2 IGMP Snooping配置任务简介 ........................................................................................................... 1-6 1.3 配置IGMP Snooping基本功能 ........................................................................................................... 1-7 1.3.1 配置准备 ................................................................................................................................. 1-7 1.3.2 使能IGMP Snooping ............................................................................................................... 1-7 1.3.3 配置IGMP Snooping版本........................................................................................................ 1-8 1.3.4 配置静态组播MAC地址表项 ................................................................................................... 1-8 1.4 配置IGMP Snooping端口功能 ........................................................................................................... 1-9 1.4.1 配置准备 ................................................................................................................................. 1-9 1.4.2 配置动态端口老化定时器........................................................................................................ 1-9 1.4.3 配置静态端口 ........................................................................................................................ 1-10 1.4.4 配置模拟主机加入................................................................................................................. 1-11 1.4.5 配置端口快速离开................................................................................................................. 1-12 1.4.6 禁止端口成为动态路由器端口............................................................................................... 1-12 1.5 配置IGMP Snooping查询器............................................................................................................. 1-13 1.5.1 配置准备 ............................................................................................................................... 1-13 1.5.2 使能IGMP Snooping查询器 .................................................................................................. 1-13 1.5.3 配置IGMP查询和响应 ........................................................................................................... 1-14 1.5.4 配置IGMP查询报文源IP地址 ................................................................................................ 1-15 1.6 配置IGMP Snooping Proxying ........................................................................................................ 1-16 1.6.1 配置准备 ............................................................................................................................... 1-16 1.6.2 使能IGMP Snooping Proxying.............................................................................................. 1-16 1.6.3 配置代理发送IGMP报文的源IP地址...................................................................................... 1-16 1.7 配置IGMP Snooping策略 ................................................................................................................ 1-17 1.7.1 配置准备 ............................................................................................................................... 1-17 1.7.2 配置组播组过滤器................................................................................................................. 1-17 1.7.3 配置组播数据报文源端口过滤............................................................................................... 1-18 1.7.4 配置丢弃未知组播数据报文 .................................................................................................. 1-19

i

1.7.5 配置IGMP成员关系报告报文抑制 ......................................................................................... 1-19 1.7.6 配置端口加入的组播组最大数量 ........................................................................................... 1-20 1.7.7 配置组播组替换 .................................................................................................................... 1-20 1.7.8 配置IGMP报文的 802.1p优先级 ........................................................................................... 1-21 1.7.9 配置组播用户控制策略 ......................................................................................................... 1-22 1.8 IGMP Snooping显示和维护............................................................................................................. 1-23 1.9 IGMP Snooping典型配置举例 ......................................................................................................... 1-23 1.9.1 组策略及模拟主机加入配置举例 ........................................................................................... 1-23 1.9.2 静态端口配置举例................................................................................................................. 1-26 1.9.3 IGMP Snooping查询器配置举例........................................................................................... 1-29 1.9.4 IGMP Snooping Proxying配置举例....................................................................................... 1-31 1.9.5 组播源与组播用户控制策略配置举例.................................................................................... 1-34 1.10 常见配置错误举例 ......................................................................................................................... 1-38 1.10.1 交换机不能实现二层组播.................................................................................................... 1-38 1.10.2 配置的组播组策略不生效.................................................................................................... 1-39

ii

1 IGMP Snooping 配置
1.1 IGMP Snooping 简介
IGMP Snooping 是 Internet Group Management Protocol Snooping(互联网组管理协议窥探)的 简称,它是运行在二层设备上的组播约束机制,用于管理和控制组播组。

1.1.1 IGMP Snooping 原理
运行 IGMP Snooping 的二层设备通过对收到的 IGMP 报文进行分析, 为端口和 MAC 组播地址建立 起映射关系,并根据这样的映射关系转发组播数据。 如 图 1-1所示,当二层设备没有运行IGMP Snooping时,组播数据在二层被广播;当二层设备运行 了IGMP Snooping后, 已知组播组的组播数据不会在二层被广播, 而在二层被组播给指定的接收者。 图1-1 二层设备运行 IGMP Snooping 前后的对比
Multicast packet transmission without IGMP Snooping Multicast packet transmission when IGMP Snooping runs

Multicast router Source Source

Multicast router

Layer 2 switch

Layer 2 switch

Host A Receiver Host B Multicast packets

Host C Receiver

Host A Receiver Host B

Host C Receiver

IGMP Snooping 通过二层组播将信息只转发给有需要的接收者,可以带来以下好处: 减少了二层网络中的广播报文,节约了网络带宽; 增强了组播信息的安全性; 为实现对每台主机的单独计费带来了方便。

1.1.2 IGMP Snooping 基本概念
1. IGMP Snooping 相关端口 如 图 1-2所示,Router A连接组播源,在Switch A和Switch B上分别运行IGMP Snooping,Host A 和Host C为接收者主机(即组播组成员)。

1-1

图1-2 IGMP Snooping 相关端口
Router A
Eth1/0/1

Switch A
Eth1/0/2

Receiver

Eth1/0/3

Host A

Host B
Eth1/0/1

Receiver
Eth1/0/2

Source

Switch B Router port Member port Multicast packets

Host C

Host D

结合 图 1-2,介绍一下IGMP Snooping相关的端口概念: 路由器端口(Router Port):交换机上朝向三层组播设备(DR 或 IGMP 查询器)一侧的端口, 如 Switch A 和 Switch B 各自的 Ethernet1/0/1 端口。交换机将本设备上的所有路由器端口都 记录在路由器端口列表中。 成员端口(Member Port):又称组播组成员端口,表示交换机上朝向组播组成员一侧的端口, 如 Switch A 的 Ethernet1/0/2 和 Ethernet1/0/3 端口,以及 Switch B 的 Ethernet1/0/2 端口。 交换机将本设备上的所有成员端口都记录在 IGMP Snooping 转发表中。

本文中提到的路由器端口都是指交换机上朝向组播路由器的端口,而不是指路由器上的端口。 如不特别指明,本文中提到的路由器/成员端口均包括动态和静态端口。 在运行了 IGMP Snooping 的交换机上,所有收到源地址不为 0.0.0.0 的 IGMP 普遍组查询报文 或 PIM Hello 报文的端口都将被视为动态路由器端口。

2. IGMP Snooping 动态端口老化定时器 表1-1 IGMP Snooping 动态端口老化定时器
定时器 动态路由器端 口老化定时器 说明 交换机为其每个动态路由器端口都 启动一个定时器, 其超时时间就是动 态路由器端口老化时间 当一个端口动态加入某组播组时, 交 换机为该端口启动一个定时器, 其超 时时间就是动态成员端口老化时间 超时前应收到的报文 源地址不为 0.0.0.0 的 IGMP 普遍组查询报文或 PIM Hello 报文 超时后交换机的动作 将该端口从路由器端口 列表中删除 将该端口从 IGMP Snooping 转发表中删 除

动态成员端口 老化定时器

IGMP 成员关系报告报文

1-2

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

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

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

1. 普遍组查询 IGMP 查询器定期向本地网段内的所有主机与路由器(224.0.0.1)发送 IGMP 普遍组查询报文,以 查询该网段有哪些组播组的成员。 在收到 IGMP 普遍组查询报文时, 交换机将其通过 VLAN 内除接收端口以外的其它所有端口转发出 去,并对该报文的接收端口做如下处理: 如果在路由器端口列表中已包含该动态路由器端口,则重置其老化定时器。 如果在路由器端口列表中尚未包含该动态路由器端口,则将其添加到路由器端口列表中,并 启动其老化定时器。 2. 报告成员关系 以下情况,主机会向 IGMP 查询器发送 IGMP 成员关系报告报文: 当组播组的成员主机收到 IGMP 查询报文后,会回复 IGMP 成员关系报告报文。 如果主机要加入某个组播组,它会主动向 IGMP 查询器发送 IGMP 成员关系报告报文以声明 加入该组播组。 在收到 IGMP 成员关系报告报文时,交换机将其通过 VLAN 内的所有路由器端口转发出去,从该报 文中解析出主机要加入的组播组地址,并对该报文的接收端口做如下处理: 如果不存在该组播组所对应的转发表项,则创建转发表项,将该端口作为动态成员端口添加 到出端口列表中,并启动其老化定时器; 如果已存在该组播组所对应的转发表项,但其出端口列表中不包含该端口,则将该端口作为 动态成员端口添加到出端口列表中,并启动其老化定时器; 如果已存在该组播组所对应的转发表项,且其出端口列表中已包含该动态成员端口,则重置 其老化定时器。

交换机不会将 IGMP 成员关系报告报文通过非路由器端口转发出去,因为根据主机上的 IGMP 成员 关系报告抑制机制,如果非路由器端口下还有该组播组的成员主机,则这些主机在收到该报告报文 后便抑制了自身的报告,从而使交换机无法获知这些端口下还有该组播组的成员主机。

1-3

3. 离开组播组 运行 IGMPv1 的主机离开组播组时不会发送 IGMP 离开组报文, 因此交换机无法立即获知主机离开 的信息。但是,由于主机离开组播组后不会再发送 IGMP 成员关系报告报文,因此当其对应的动态 成员端口的老化定时器超时后,交换机就会将该端口对应的转发表项从转发表中删除。 运行 IGMPv2 或 IGMPv3 的主机离开组播组时,会通过发送 IGMP 离开组报文,以通知组播路由器 自己离开了某个组播组。当交换机从某动态成员端口上收到 IGMP 离开组报文时,首先判断要离开 的组播组所对应的转发表项是否存在,以及该组播组所对应转发表项的出端口列表中是否包含该接 收端口: 如果不存在该组播组对应的转发表项,或者该组播组对应转发表项的出端口列表中不包含该 端口,交换机不会向任何端口转发该报文,而将其直接丢弃; 如果存在该组播组对应的转发表项,且该组播组对应转发表项的出端口列表中包含该端口, 交换机会将该报文通过 VLAN 内的所有路由器端口转发出去。同时,由于并不知道该接收端 口下是否还有该组播组的其它成员,所以交换机不会立刻把该端口从该组播组所对应转发表 项的出端口列表中删除,而是重置其老化定时器。 当 IGMP 查询器收到 IGMP 离开组报文后,从中解析出主机要离开的组播组的地址,并通过接收端 口向该组播组发送 IGMP 特定组查询报文。 交换机在收到 IGMP 特定组查询报文后, 将其通过 VLAN 内的所有路由器端口和该组播组的所有成员端口转发出去。对于 IGMP 离开组报文的接收端口(假 定为动态成员端口),交换机在其老化时间内: 如果从该端口收到了主机响应该特定组查询的 IGMP 成员关系报告报文,则表示该端口下还 有该组播组的成员,于是重置其老化定时器; 如果没有从该端口收到主机响应特定组查询的 IGMP 成员关系报告报文,则表示该端口下已 没有该组播组的成员,则在其老化时间超时后,将其从该组播组所对应转发表项的出端口列 表中删除。

1.1.4 IGMP Snooping Proxying
为了减少上游设备收到的 IGMP 报告报文和离开报文的数量,可以通过在边缘设备上配置 IGMP Snooping Proxying(IGMP Snooping 代理)功能,使其能够代理下游主机来向上游设备发送报告 报文和离开报文。配置了 IGMP Snooping Proxying 功能的设备称为 IGMP Snooping 代理设备,在 其上游设备看来,它就相当于一台主机。

尽管在其上游设备看来,IGMP Snooping 代理设备相当于一台主机,但主机上的 IGMP 成员关系报 告抑制机制在 IGMP Snooping 代理设备上并不会生效。

1-4

图1-3 IGMP Snooping Proxying 组网图

如 图 1-3所示,作为IGMP Snooping代理设备的Switch A,对其上游的IGMP查询器Router A来说 相当于一台主机,代理下游主机向Router A发送报告报文和离开报文。 IGMP Snooping代理设备对IGMP报文的处理方式如 表 1-2所示。 表1-2 IGMP Snooping 代理设备对 IGMP 报文的处理方式
IGMP 报文类型 普遍组查询报文 处理方式 收到普遍组查询报文后,向本 VLAN 内除接收端口以外的所有端口转发;同时根据本地维 护的组成员关系生成报告报文,并向所有路由器端口发送 收到针对某组播组的特定组查询报文时,若该组对应的转发表项中还有成员端口,则向所 有路由器端口回复该组的报告报文 从某端口收到某组播组的报告报文时,若已存在该组对应的转发表项,且其出端口列表中 已包含该动态成员端口,则重置其老化定时器;若已存在该组对应的转发表项,但其出端 口列表中不包含该端口,则将该端口作为动态成员端口添加到出端口列表中,并启动其老 化定时器;若尚不存在该组对应的转发表项,则创建转发表项,将该端口作为动态成员端 口添加到出端口列表中,并启动其老化定时器,然后向所有路由器端口发送该组的报告报 文 从某端口收到某组播组的离开报文后,向该端口发送针对该组的特定组查询报文。只有当 删除某组播组对应转发表项中的最后一个成员端口时,才会向所有路由器端口发送该组的 离开报文

特定组查询报文

报告报文

离开报文

1.1.5 协议规范
与 IGMP Snooping 相关的协议规范有: RFC 4541:Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches

1-5

1.2 IGMP Snooping 配置任务简介
表1-3 IGMP Snooping 配置任务简介
配置任务 使能 IGMP Snooping 配置 IGMP Snooping 基本功能 配置 IGMP Snooping 版本 配置静态组播 MAC 地址表项 配置动态端口老化定时器 配置静态端口 配置 IGMP Snooping 端口功能 配置模拟主机加入 配置端口快速离开 禁止端口成为动态路由器端口 使能 IGMP Snooping 查询器 配置 IGMP Snooping 查询器 配置 IGMP 查询和响应 配置 IGMP 查询报文源 IP 地址 使能 IGMP Snooping Proxying 配置 IGMP Snooping Proxying 配置代理发送 IGMP 报文的源 IP 地址 配置组播组过滤器 配置组播数据报文源端口过滤 配置丢弃未知组播数据报文 配置 IGMP 成员关系报告报文抑制 配置 IGMP Snooping 策略 配置端口加入的组播组最大数量 配置组播组替换 配置 IGMP 报文的 802.1p 优先级 配置组播用户控制策略 可选 可选 可选 可选 1.7.6 1.7.7 1.7.8 1.7.9 可选 可选 可选 可选 可选 1.6.3 1.7.2 1.7.3 1.7.4 1.7.5 说明 必选 可选 可选 可选 可选 可选 可选 可选 可选 可选 可选 可选 详细配置 1.3.2 1.3.3 1.3.4 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.5.2 1.5.3 1.5.4 1.6.2

对于 IGMP Snooping 的相关配置来说:

1-6

IGMP-Snooping 视图下的配置对所有 VLAN 都有效, VLAN 视图下的配置只对当前 VLAN 有效。 对于某 VLAN 来说,优先采用该 VLAN 视图下的配置,只有当在该 VLAN 视图下没有进行配置 时,才采用 IGMP-Snooping 视图下的相应配置。 IGMP-Snooping 视图下的配置对所有端口都有效; 二层以太网端口视图下的配置只对当前端口 有效;二层聚合接口视图下的配置只对当前接口有效;端口组视图下的配置对当前端口组中的 所有端口有效。对于某端口来说,优先采用二层以太网端口视图、二层聚合接口视图或端口组 视图下的配置,只有当在上述视图下没有进行配置时,才采用 IGMP-Snooping 视图下的相应 配置。 二层聚合接口与其各成员端口上的配置互不影响,且成员端口上的配置只有当该端口退出聚合 组后才会生效,二层聚合接口上的配置也不会参与聚合计算。

1.3 配置 IGMP Snooping 基本功能
1.3.1 配置准备
在配置 IGMP Snooping 基本功能之前,需完成以下任务: 配置相应 VLAN 在配置 IGMP Snooping 基本功能之前,需准备以下数据: IGMP Snooping 的版本

1.3.2 使能 IGMP Snooping
表1-4 使能 IGMP Snooping
操作 进入系统视图 全局使能 IGMP Snooping,并进入 IGMP-Snooping 视图 退回系统视图 进入 VLAN 视图 命令 system-view igmp-snooping quit vlan vlan-id 必选 缺省情况下,IGMP Snooping 处于关闭状态 必选 在 VLAN 内使能 IGMP Snooping igmp-snooping enable 缺省情况下,VLAN 内的 IGMP Snooping 处 于关闭状态 说明

在 VLAN 内使能 IGMP Snooping 之前,必须先在系统视图下全局使能 IGMP Snooping,否则 将无法在 VLAN 内使能 IGMP Snooping。 在指定 VLAN 内使能了 IGMP Snooping 之后,该功能只在属于该 VLAN 的端口上生效。

1-7

1.3.3 配置 IGMP Snooping 版本
配置 IGMP Snooping 的版本,实际上就是配置 IGMP Snooping 可以处理的 IGMP 报文的版本: 当 IGMP Snooping 的版本为 2 时,IGMP Snooping 能够对 IGMPv1 和 IGMPv2 的报文进行 处理,对 IGMPv3 的报文则不进行处理,而是在 VLAN 内将其广播; 当 IGMP Snooping 的版本为 3 时,IGMP Snooping 能够对 IGMPv1、IGMPv2 和 IGMPv3 的 报文进行处理。 表1-5 配置 IGMP Snooping 版本
操作 进入系统视图 进入 VLAN 视图 配置 IGMP Snooping 的版本 system-view vlan vlan-id igmp-snooping version version-number 命令 可选 缺省情况下,IGMP Snooping 的版本为 2 说明

当 IGMP Snooping 的版本由版本 3 切换到版本 2 时,系统将清除所有通过动态加入的 IGMP Snooping 转发表项;对于在版本 3 下通过手工配置而静态加入的 IGMP Snooping 转发表项,则分 为以下两种情况进行不同的处理: 如果配置的仅仅是静态加入组播组,而没有指定组播源,则这些转发表项将不会被清除; 如果配置的是指定了组播源的静态加入组播源组,则这些转发表项将会被清除,并且当再次切 换回版本 3 时,这些转发表项将被重新恢复。 有关静态加入的详细配置,请参见“1.4.3 配置静态端口”。

1.3.4 配置静态组播 MAC 地址表项
在二层组播中,除了可通过二层组播协议(如 IGMP Snooping)动态建立组播 MAC 地址表项外, 还可以通过手工方式配置组播 MAC 地址表项, 将端口与组播 MAC 地址进行静态绑定, 以便灵活控 制组播信息送达的目的端口。 1. 系统视图下配置静态组播 MAC 地址表项 表1-6 系统视图下配置静态组播 MAC 地址表项
操作 进入系统视图 system-view mac-address multicast mac-address interface interface-list vlan vlan-id 命令 必选 配置静态组播 MAC 地址表项 缺省情况下,没有配置静态组播 MAC 地址表项 说明

1-8

2. 接口视图下配置静态组播 MAC 地址表项 表1-7 接口视图下配置静态组播 MAC 地址表项
操作 进入系统视图 进入二层以太网端 口或二层聚合接口 视图 进入端口组视图 system-view 命令 二者必选其一 interface interface-type interface-number 进入二层以太网端口或二层聚合 接口视图后,下面进行的配置只 在当前接口生效;进入端口组视 图后,下面进行的配置将在端口 组的所有接口生效 必选 配置静态组播 MAC 地址表项 mac-address multicast mac-address vlan vlan-id 缺省情况下,没有配置静态组播 MAC 地址表项 说明

进入相 应视图

port-group manual port-group-name

系统视图下的配置对指定端口有效,而断口视图下的配置只对当前端口(或当前端口组内的所 有端口)有效。 可手工配置的组播 MAC 地址表项为除 0100-5Exx-xxxx 以外的任意的组播 MAC 地址(组播 MAC 地址就是最高字节的最低比特位为 1 的 MAC 地址),其中 x 代表 0~F 的任意一个十六 进制数。

1.4 配置 IGMP Snooping 端口功能
1.4.1 配置准备
在配置 IGMP Snooping 端口功能之前,需完成以下任务: 在 VLAN 内使能 IGMP Snooping 配置相应端口组 在配置 IGMP Snooping 端口功能之前,需准备以下数据: 动态路由器端口老化时间 动态成员端口老化时间 组播组和组播源的地址

1.4.2 配置动态端口老化定时器
对于动态路由器端口,如果在其老化时间超时前没有收到 IGMP 普遍组查询报文或者 PIM Hello 报 文,交换机将把该端口从路由器端口列表中删除。 对于动态成员端口,如果在其老化时间超时前没有收到该组播组的 IGMP 成员关系报告报文,交换 机将把该端口从该组播组所对应转发表项的出端口列表中删除。 如果组播组成员的变动比较频繁,可以把动态成员端口老化时间设置小一些,反之亦然。

1-9

1. 全局配置动态端口老化定时器 表1-8 全局配置动态端口老化定时器
操作 进入系统视图 进入 IGMP-Snooping 视图 命令 system-view igmp-snooping 可选 配置动态路由器端口老化时间 router-aging-time interval 缺省情况下,动态路由器端口的老化时间为 105 秒 可选 host-aging-time interval 缺省情况下, 动态成员端口的老化时间为 260 秒 说明

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

2. 在 VLAN 内配置动态端口老化定时器 表1-9 在 VLAN 内配置动态端口老化定时器
操作 进入系统视图 进入 VLAN 视图 system-view vlan vlan-id igmp-snooping router-aging-time interval 命令 可选 配置动态路由器端口老化时间 缺省情况下, 动态路由器端口的老化时 间为 105 秒 可选 配置动态成员端口老化时间 igmp-snooping host-aging-time interval 缺省情况下, 动态成员端口的老化时间 为 260 秒 说明

1.4.3 配置静态端口
如果某端口所连接的主机需要固定接收发往某组播组或组播源组的组播数据,可以配置该端口静态 加入该组播组或组播源组,成为静态成员端口。 可以通过将交换机上的端口配置为静态路由器端口,从而使交换机上所有收到的组播数据可以通过 该端口被转发出去。 表1-10 配置静态端口
操作 进入系统视图 进入二层以太网 端口或二层聚合 接口视图 进入端口组视图 system-view 命令 说明

进入相 应视图

interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选 igmp-snooping static-group group-address [ source-ip source-address ] vlan vlan-id

配置静态成员端口

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

1-10

操作

命令 必选

说明

配置静态路由器端口

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

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

只有当 IGMP Snooping 的版本为 3 时,配置参数 source-ip source-address 才会有实际的意 义。 静态成员端口不会对 IGMP 查询器发出的查询报文进行响应;当配置静态成员端口或取消静态 成员端口的配置时,端口也不会主动发送 IGMP 成员关系报告报文或 IGMP 离开组报文。 静态成员端口和静态路由器端口都不会老化,只能通过相应的 undo 命令删除。

1.4.4 配置模拟主机加入
通常情况下,运行 IGMP 的主机会对 IGMP 查询器发出的查询报文进行响应。如果主机由于某种原 因无法响应,就可能导致组播路由器认为该网段没有该组播组的成员,从而取消相应的转发路径。 为避免这种情况的发生,可以将交换机的端口配置成为组播组成员(即配置模拟主机加入)。当收 到 IGMP 查询报文时由模拟主机进行响应,从而保证该交换机能够继续收到组播报文。 模拟主机加入功能的实现原理如下: 在某端口上使能模拟主机加入功能时,交换机会通过该端口主动发送一个 IGMP 成员关系报 告报文; 在某端口上使能了模拟主机加入功能后,当收到 IGMP 普遍组查询报文时,交换机会通过该 端口响应一个 IGMP 成员关系报告报文; 在某端口上关闭模拟主机加入功能时,交换机会通过该端口发送一个 IGMP 离开组报文。 表1-11 配置模拟主机加入
操作 进入系统视图 进入二层以太网 端口或二层聚合 接口视图 进入端口组视图 配置模拟主机加入组播组或 组播源组 system-view 命令 说明

进入相 应视图

interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选 igmp-snooping host-join group-address [ source-ip source-address ] vlan vlan-id 缺省情况下, 没有配置模拟主机 加入组播组或组播源组

1-11

每配置一次模拟主机加入,即相当于启动了一台独立的主机。例如,当收到 IGMP 查询报文时, 每条配置所对应的模拟主机将分别进行响应。 与静态成员端口不同,配置了模拟主机加入的端口会作为动态成员端口而参与动态成员端口的 老化过程。

1.4.5 配置端口快速离开
端口快速离开是指当交换机从某端口收到主机发送的离开某组播组的 IGMP 离开组报文时,直接把 该端口从对应转发表项的出端口列表中删除。此后,当交换机收到对该组播组的 IGMP 特定组查询 报文时,交换机将不再向该端口转发。 在交换机上, 在只连接有一个接收者的端口上, 可以通过使能端口快速离开功能来节约带宽和资源; 而在连接有多个接收者的端口上,如果交换机或该端口所在的 VLAN 已使能了丢弃未知组播数据报 文功能,则不要再使能端口快速离开功能,否则,一个接收者的离开将导致该端口下属于同一组播 组的其它接收者无法收到组播数据。 1. 全局配置端口快速离开 表1-12 全局配置端口快速离开
操作 进入系统视图 进入 IGMP-Snooping 视图 使能端口快速离开功能 命令 system-view igmp-snooping fast-leave [ vlan vlan-list ] 必选 缺省情况下,端口快速离开功能处于关闭状态 说明

2. 在端口上配置端口快速离开 表1-13 在端口上配置端口快速离开
操作 进入系统视图 进入二层以太网 端口或二层聚合 接口视图 进入端口组视图 system-view 命令 说明

进入相 应视图

interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选

使能端口快速离开功能

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

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

1.4.6 禁止端口成为动态路由器端口
目前,在组播用户接入网络中存在以下问题:
1-12

如果交换机收到了某用户主机发来的 IGMP 普遍组查询报文或 PIM Hello 报文, 那么该主机所 在的端口就将成为动态路由器端口,从而使 VLAN 内的所有组播报文都会向该端口转发,导 致该用户主机收到的组播报文失控。 同时,用户主机发送 IGMP 普遍组查询报文或 PIM Hello 报文,也会影响该接入网络中三层设 备上的组播路由协议状态(如影响 IGMP 查询器或 DR 的选举),严重时可能导致网络中断。 当禁止某端口成为动态路由器端口后, 即使该端口收到了 IGMP 普遍组查询报文或 PIM Hello 报文, 该端口也不会成为动态路由器端口,从而能够有效解决上述问题,提高网络的安全性和对组播用户 的控制能力。 表1-14 禁止端口成为动态路由器端口
操作 进入系统视图 进入二层以太网 端口或二层聚合 接口视图 进入端口组视图 禁止端口成为动态路由器端 口 system-view 命令 说明

进入相 应视图

interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选 igmp-snooping router-port-deny [ vlan vlan-list ] 缺省情况下, 不禁止端口成为 动态路由器端口

本配置与静态路由器端口的配置互不影响。

1.5 配置 IGMP Snooping 查询器
1.5.1 配置准备
在配置 IGMP Snooping 查询器之前,需完成以下任务: 在 VLAN 内使能 IGMP Snooping 在配置 IGMP Snooping 查询器之前,需准备以下数据: 发送 IGMP 普遍组查询报文的时间间隔 发送 IGMP 特定组查询报文的时间间隔 IGMP 普遍组查询的最大响应时间 IGMP 普遍组查询报文的源 IP 地址 IGMP 特定组查询报文的源 IP 地址

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

1-13

但是,在一个没有三层组播设备的网络中,由于二层设备并不支持 IGMP,因此无法实现 IGMP 查 询器的相关功能。为了解决这个问题,可以在二层设备上使能 IGMP Snooping 查询器,使二层设 备能够在数据链路层建立并维护组播转发表项,从而在数据链路层正常转发组播数据。 表1-15 使能 IGMP Snooping 查询器
操作 进入系统视图 进入 VLAN 视图 使能 IGMP Snooping 查询器 命令 system-view vlan vlan-id igmp-snooping querier 必选 缺省情况下, IGMP Snooping 查询器处于关闭状态 说明

尽管 IGMP Snooping 查询器并不参与 IGMP 查询器的选举,但在运行了 IGMP 的组播网络中,配 置 IGMP Snooping 查询器不但没有实际的意义,反而可能会由于其发送的 IGMP 普遍组查询报文 的源 IP 地址较小而影响 IGMP 查询器的选举。

1.5.3 配置 IGMP 查询和响应
可以根据网络的实际情况来修改发送 IGMP 普遍组查询报文的时间间隔。 在收到 IGMP 查询报文(包括普遍组查询和特定组查询)后,主机会为其所加入的每个组播组都启 动一个定时器,定时器的值在 0 到最大响应时间(该时间值由主机从所收到的 IGMP 查询报文的最 大响应时间字段获得)中随机选定,当定时器的值减为 0 时,主机就会向该定时器对应的组播组发 送 IGMP 成员关系报告报文。 合理配置 IGMP 查询的最大响应时间,既可以使主机对 IGMP 查询报文做出快速响应,又可以减少 由于定时器同时超时,造成大量主机同时发送报告报文而引起的网络拥塞: 对于 IGMP 普遍组查询报文来说,通过配置 IGMP 普遍组查询的最大响应时间来填充其最大 响应时间字段; 对于 IGMP 特定组查询报文来说,所配置的发送 IGMP 特定组查询报文的时间间隔将被填充 到其最大响应时间字段。也就是说,IGMP 特定组查询的最大响应时间从数值上与发送 IGMP 特定组查询报文的时间间隔相同。 1. 全局配置 IGMP 查询和响应 表1-16 全局配置 IGMP 查询和响应
操作 进入系统视图 进入 IGMP-Snooping 视图 配置 IGMP 普遍组查询的 最大响应时间 system-view igmp-snooping 命令 可选 max-response-time interval 缺省情况下,IGMP 普遍组查询的最大 响应时间为 10 秒 说明

1-14

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

命令 可选 last-member-query-interval interval

说明

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

2. 在 VLAN 内配置 IGMP 查询和响应 表1-17 在 VLAN 内配置 IGMP 查询和响应
操作 进入系统视图 进入 VLAN 视图 配置发送 IGMP 普遍组查 询报文的时间间隔 system-view vlan vlan-id 命令 可选 igmp-snooping query-interval interval 缺省情况下, 发送 IGMP 普遍组 查询报文的时间间隔为 60 秒 可选 igmp-snooping max-response-time interval 缺省情况下,IGMP 普遍组查询 的最大响应时间为 10 秒 可选 igmp-snooping last-member-query-interval interval 缺省情况下, 发送 IGMP 特定组 查询报文的时间间隔为 1 秒 说明

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

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

应确保发送 IGMP 普遍组查询报文的时间间隔大于 IGMP 普遍组查询的最大响应时间,否则有可能 造成对组播组成员的误删。

1.5.4 配置 IGMP 查询报文源 IP 地址
对于收到源 IP 地址为 0.0.0.0 的查询报文的端口,交换机不会将其设置为动态路由器端口,从而影 响数据链路层组播转发表项的建立,最终导致组播数据无法正常转发。 当由二层设备充当 IGMP Snooping 查询器时,可以把 IGMP 查询报文的源 IP 地址配置为一个有效 的 IP 地址以避免上述问题的出现。 表1-18 配置 IGMP 查询报文源 IP 地址
操作 进入系统视图 进入 VLAN 视图 配置 IGMP 普遍组 查询报文源 IP 地址 system-view vlan vlan-id igmp-snooping general-query source-ip { ip-address | current-interface } 命令 可选 缺省情况下, IGMP 普遍组查询报文的源 IP 地址为 0.0.0.0 说明

1-15

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

命令 可选 igmp-snooping special-query source-ip { ip-address | current-interface }

说明

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

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

1.6 配置 IGMP Snooping Proxying
1.6.1 配置准备
在配置 IGMP Snooping Proxying 之前,需完成以下任务: 在 VLAN 内使能 IGMP Snooping 在配置 IGMP Snooping Proxying 之前,需准备以下数据: 代理发送 IGMP 报告报文的源 IP 地址 代理发送 IGMP 离开报文的源 IP 地址

1.6.2 使能 IGMP Snooping Proxying
当在有组播需求的 VLAN 内使能了 IGMP Snooping 代理功能后, 该设备就成为该 VLAN 内的 IGMP Snooping 代理设备。 表1-19 使能 IGMP Snooping Proxying
操作 进入系统视图 进入 VLAN 视图 在 VLAN 内使能 IGMP Snooping 代理功能 system-view vlan vlan-id 命令 必选 igmp-snooping proxying enable 缺省情况下,VLAN 内的 IGMP Snooping 代理功能处于关闭状态 说明

1.6.3 配置代理发送 IGMP 报文的源 IP 地址
通过本配置可以改变代理发送的 IGMP 报告报文和离开报文的源 IP 地址。 表1-20 配置代理发送 IGMP 报文的源 IP 地址
操作 进入系统视图 进入 VLAN 视图 system-view vlan vlan-id 命令 说明

1-16

操作 配置代理发送 IGMP 报告报文的 源 IP 地址 配置代理发送 IGMP 离开报文的 源 IP 地址

命令 必选 igmp-snooping report source-ip { ip-address | current-interface } igmp-snooping leave source-ip { ip-address | current-interface }

说明

缺省情况下, 代理发送 IGMP 报告报 文的源 IP 地址为 0.0.0.0 缺省情况下, 代理发送 IGMP 离开报 文的源 IP 地址为 0.0.0.0

1.7 配置 IGMP Snooping 策略
1.7.1 配置准备
在配置 IGMP Snooping 策略之前,需完成以下任务: 在 VLAN 内使能 IGMP Snooping 在配置 IGMP Snooping 策略之前,需准备以下数据: 组播组过滤的 ACL 规则 允许端口通过的组播组最大数量 IGMP 报文的 802.1p 优先级

1.7.2 配置组播组过滤器
在使能了 IGMP Snooping 的交换机上,通过配置组播组过滤器,可以限制用户对组播节目的点播。 在实际应用中,当用户点播某个组播节目时,主机会发起一个 IGMP 成员关系报告报文,该报文到 达交换机后, 进行 ACL 检查: 如果该接收端口可以加入这个组播组, 则将其列入到 IGMP Snooping 转发表中;否则交换机就丢弃该报文。这样,未通过 ACL 检查的组播数据就不会送到该端口,从 而达到控制用户点播组播节目的目的。 1. 全局配置组播组过滤器 表1-21 全局配置组播组过滤器
操作 进入系统视图 进入 IGMP-Snooping 视图 system-view igmp-snooping 命令 必选 配置组播组过滤器 group-policy acl-number [ vlan vlan-list ] 缺省情况下,没有配置全局组播组过 滤器,即各 VLAN 内主机可以加入任 意合法的组播组 说明

2. 在端口上配置组播组过滤器 表1-22 在端口上配置组播组过滤器
操作 进入系统视图 system-view 命令 说明

1-17

操作 进入二层以太网 端口或二层聚合 接口视图 进入端口组视图

命令

说明

进入相 应视图

interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选

配置组播组过滤器

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

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

1.7.3 配置组播数据报文源端口过滤
通过配置组播数据报文源端口过滤功能,可以允许或禁止端口作为组播源端口: 使能了该功能后,端口下不能连接组播源,因为该端口将过滤掉所有的组播数据报文(但允 许组播协议报文通过),只能连接组播数据接收者; 关闭了该功能后,端口下既可以连接组播源,也可以连接组播数据接收者。 1. 全局配置组播数据报文源端口过滤 表1-23 全局配置组播数据报文源端口过滤
操作 进入系统视图 进入 IGMP-Snooping 视图 system-view igmp-snooping 命令 必选 使能组播数据报文源端口过滤功能 source-deny port interface-list 缺省情况下,组播数据报文源端口 过滤功能处于关闭状态 说明

2. 在端口上配置组播数据报文源端口过滤 表1-24 在端口上配置组播数据报文源端口过滤
操作 进入系统视图 进入相 应视图 进入二层以太网端口视 图 进入端口组视图 system-view interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选 使能组播数据报文源端口过滤功能 igmp-snooping source-deny 缺省情况下, 组播数据报文源 端口过滤功能处于关闭状态 命令 说明

1-18

1.7.4 配置丢弃未知组播数据报文
未知组播数据报文是指在 IGMP Snooping 转发表中不存在对应转发表项的那些组播数据报文,当 交换机收到发往未知组播组的报文时,数据报文会在 VLAN 内广播,这样会占用大量的网络带宽, 影响转发效率。 此时用户可以在交换机上启动丢弃未知组播数据报文功能,当交换机收到未知组播数据报文时,只 向其路由器端口转发,不在 VLAN 内广播。如果交换机没有路由器端口,数据报文会被丢弃,不再 转发 表1-25 配置丢弃未知组播数据报文
操作 进入系统视图 进入 IGMP-Snooping 视图 命令 system-view igmp-snooping 必选 使能丢弃未知组播数据报文功能 drop-unknown 缺省情况下,丢弃未知组播数据报文的功能处 于关闭状态,即对未知组播数据报文进行广播 说明

1.7.5 配置 IGMP 成员关系报告报文抑制
当二层设备收到来自某组播组成员的 IGMP 成员关系报告报文时,会将该报文转发给与其直连的三 层设备。这样,当二层设备上存在属于某组播组的多个成员时,与其直连的三层设备会收到这些成 员发送的相同 IGMP 成员关系报告报文。 当使能了 IGMP 成员关系报告报文抑制功能后,在一个查询间隔内二层设备只会把收到的某组播组 内的第一个 IGMP 成员关系报告报文转发给三层设备,而不继续向三层设备转发来自同一组播组的 其它 IGMP 成员关系报告报文,这样可以减少网络中的报文数量。 表1-26 配置 IGMP 成员关系报告报文抑制
操作 进入系统视图 进入 IGMP-Snooping 视图 使能 IGMP 成员关系报告报 文抑制功能 system-view igmp-snooping 命令 可选 report-aggregation 缺省情况下,IGMP 成员关系报告报文抑 制功能处于使能状态 说明

在 IGMP Snooping 代理设备上,不论是否使能了 IGMP 成员关系报告报文抑制功能,只要存在某 组播组对应的转发表项,就会将从下游收到的针对该组的报告报文都抑制掉。

1-19

1.7.6 配置端口加入的组播组最大数量
通过配置允许端口加入的组播组最大数量,可以限制用户点播组播节目的数量,从而控制了端口上 的数据流量。 表1-27 配置端口加入的组播组最大数量
操作 进入系统视图 进入二层以太网 端口或二层聚合 接口视图 进入端口组视图 配置允许端口加入的组播组 最大数量 system-view 命令 说明

进入相 应视图

interface interface-type interface-number 二者必选其一 port-group manual port-group-name 可选 igmp-snooping group-limit limit [ vlan vlan-list ] 缺省情况下,允许端口加入的组播 组最大数量为 512

在对允许端口加入的组播组最大数量进行配置时,如果当前端口上的组播组数量已经超过了配置 值,系统将把该端口相关的所有转发表项从 IGMP Snooping 转发表中删除,该端口上的主机需要 重新加入组播组。但如果为该端口配置了静态成员端口或者模拟主机加入,系统在把该端口相关的 所有转发表项删除后,会把这些配置重新生效一次,直至该端口所加入的组播组数量达到限制值为 止。

1.7.7 配置组播组替换
由于某些特殊的原因,当前交换机或端口上通过的组播组数目有可能会超过交换机或该端口的限 定;另外,在某些特定的应用中,交换机上新加入的组播组需要自动替换已存在的组播组(一个典 型的应用就是“频道切换”,即用户通过加入一个新的组播组就能完成离开原组播组并切换到新组 播组的动作)。 针对以上情况,可以在交换机或者某些端口上使能组播组替换功能。当交换机或端口上加入的组播 组数量已达到限定值时: 若使能了组播组替换功能,则新加入的组播组会自动替代已存在的组播组,替代规则是替代 IP 地址最小的组播组; 若没有使能组播组替换功能,则自动丢弃新的 IGMP 成员关系报告报文。 1. 全局配置组播组替换 表1-28 全局配置组播组替换
操作 进入系统视图 进入 IGMP-Snooping 视图 system-view igmp-snooping 命令 说明

1-20

操作

命令 必选

说明

使能组播组替换功能

overflow-replace [ vlan vlan-list ]

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

2. 在端口上配置组播组替换 表1-29 在端口上配置组播组替换
操作 进入系统视图 进入二层以太网 端口或二层聚合 接口视图 进入端口组视图 system-view 命令 说明

进入相 应视图

interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选 igmp-snooping overflow-replace [ vlan vlan-list ]

使能组播组替换功能

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

在使能组播组替换功能之前,必须首先配置端口通过的组播组的最大数量(具体配置过程请参见 “1.7.6 配置端口加入的组播组最大数量”),否则组播组替换功能将不能生效。

1.7.8 配置 IGMP 报文的 802.1p 优先级
可以通过本配置来改变 IGMP 报文的 802.1p 优先级。当交换机的出端口发生拥塞时,交换机通过 识别报文的 802.1p 优先级,优先发送优先级较高的报文。 1. 全局配置 IGMP 报文的 802.1p 优先级 表1-30 全局配置 IGMP 报文的 802.1p 优先级
操作 进入系统视图 进入 IGMP-Snooping 视图 system-view igmp-snooping 命令 必选 配置 IGMP 报文的 802.1p 优先级 dot1p-priority priority-number 缺省情况下,IGMP 报文的 802.1p 优 先级为 0 说明

1-21

2. 在 VLAN 内配置 IGMP 报文的 802.1p 优先级 表1-31 在 VLAN 内配置 IGMP 报文的 802.1p 优先级
操作 进入系统视图 进入 VLAN 视图 system-view vlan vlan-id igmp-snooping dot1p-priority priority-number 命令 必选 配置 IGMP 报文的 802.1p 优先级 缺省情况下,IGMP 报文的 802.1p 优 先级为 0 说明

1.7.9 配置组播用户控制策略
组播用户控制策略通常配置在接入交换机上,是基于用户权限控制来实现的,即只有通过授权的用 户才能收到相应的组播流,从而达到限制用户对组播节目点播的目的。在实际应用中,用户先要通 过接入交换机向 RADIUS 服务器发起认证(如 802.1X 认证),当认证通过后再根据用户的点播行 为进行策略检查: 当用户点播组播节目时,主机会发送 IGMP 成员关系报告报文,接入交换机收到该报文后对 其携带的组播组和组播源地址进行策略检查,若该报文通过检查则允许该用户加入该组播组; 否则,接入交换机将丢弃该报文。 当用户停止点播组播节目时,主机会发送 IGMP 离开报文,接入交换机收到该报文后对其携 带的组播组和组播源地址进行策略检查,若该报文通过检查则允许该用户离开该组播组;否 则,接入交换机将丢弃该报文。 表1-32 配置组播用户控制策略
操作 进入系统视图 创建 User Profile,并进入 User-Profile 视图 system-view user-profile profile-name 命令 必选 配置组播用户控制策略 igmp-snooping access-policy acl-number quit user-profile profile-name enable 缺省情况下, 没有配置组播用户控制策略,即 用户可以加入/离开任意合法的组播组 必选 缺省情况下,User Profile 处于未激活状态 说明

退回系统视图 激活该 User Profile

1-22

有关 user-profile 和 user-profile enable 命令的详细介绍, 请参见 “安全命令参考” “User 中的 Profile 配置命令”。 组播用户控制策略与组播组过滤器在功能上类似,二者的区别在于:前者是基于用户权限的组 播控制,需要与认证、授权功能结合使用,能够控制组播用户的加入与离开;后者是基于设备 端口的组播控制,无需与认证、授权功能结合使用,只能控制组播用户的加入。

1.8 IGMP Snooping 显示和维护
在完成上述配置后,在任意视图下执行 display 命令可以显示配置后 IGMP Snooping 的运行情况, 通过查看显示信息验证配置的效果。 在用户视图下执行 reset 命令可以清除组播组信息。 表1-33 IGMP Snooping 显示和维护
操作 查看 IGMP Snooping 组播组的信息 查看 IGMP Snooping 监听到的 IGMP 报文的统计信息 查看静态组播 MAC 地址表信息 清除动态加入的 IGMP Snooping 组记 录 清除 IGMP Snooping 监听到的所有 IGMP 报文的统计信息 命令 display igmp-snooping group [ vlan vlan-id ] [ slot slot-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] display igmp-snooping statistics [ | { begin | exclude | include } regular-expression ] display mac-address [ mac-address [ vlan vlan-id ] | [ multicast ] [ vlan vlan-id ] [ count ] ] [ | { begin | exclude | include } regular-expression ] reset igmp-snooping group { group-address | all } [ vlan vlan-id ]

reset igmp-snooping statistics

reset igmp-snooping group 命令只对使能了 IGMP Snooping 的 VLAN 有效,而对 VLAN 接 口上使能了 IGMP 的 VLAN 无效。 reset igmp-snooping group 命令只对动态加入的 IGMP Snooping 组有效,对静态加入的 IGMP Snooping 组无效。

1.9 IGMP Snooping 典型配置举例
1.9.1 组策略及模拟主机加入配置举例
1. 组网需求 如 图 1-4所示,Router A通过Ethernet1/0/2 接口连接组播源(Source),通过Ethernet1/0/1 接口连接Switch A;
1-23

Router A 上运行 IGMPv2, Switch A 上运行版本 2 的 IGMP Snooping, 并由 Router A 充当 IGMP 查询器; 通过配置,使连接在 Switch A 上的接收者(Receiver)Host A 和 Host B 只能接收发往组播 组 224.1.1.1 的组播数据; 通过配置,使 Host A 和 Host B 即使由于某种意外而临时中断接收组播数据时,发往组播组 224.1.1.1 组播数据也能够不间断地通过 Switch A 的接口 Ethernet1/0/3 和 Ethernet1/0/4 转发 出去。 2. 组网图 图1-4 组策略及模拟主机加入配置组网图

Receiver Host A

Source
Eth1/0/2 1.1.1.2/24 Eth1/0/1 10.1.1.1/24 Eth1/0/4 Eth1/0/1 Eth1/0/3

Receiver

1.1.1.1/24

Router A IGMP querier

Switch A

Eth1/0/2

Host B

Host C VLAN 100

3. 配置步骤 (1) (2) 配置 IP 地址 配置 Router A 请按照 图 1-4配置各接口的IP地址和子网掩码,具体配置过程略。 # 使能 IP 组播路由,在各接口上使能 PIM-DM,并在接口 Ethernet1/0/1 上使能 IGMP。
<RouterA> system-view [RouterA] multicast routing-enable [RouterA] interface ethernet 1/0/1 [RouterA-Ethernet1/0/1] igmp enable [RouterA-Ethernet1/0/1] pim dm [RouterA-Ethernet1/0/1] quit [RouterA] interface ethernet 1/0/2 [RouterA-Ethernet1/0/2] pim dm [RouterA-Ethernet1/0/2] quit

(3)

配置 Switch A

# 全局使能 IGMP Snooping,并使能丢弃未知组播数据报文功能。
<SwitchA> system-view [SwitchA] igmp-snooping [SwitchA-igmp-snooping] drop-unknown [SwitchA-igmp-snooping] quit

1-24

# 创建 VLAN 100,把端口 Ethernet1/0/1 到 Ethernet1/0/4 添加到该 VLAN 中;在该 VLAN 内使能 IGMP Snooping。
[SwitchA] vlan 100 [SwitchA-vlan100] port ethernet 1/0/1 to ethernet 1/0/4 [SwitchA-vlan100] igmp-snooping enable [SwitchA-vlan100] quit

# 配置组播组过滤器,以限定 VLAN 100 内的主机只能加入组播组 224.1.1.1。
[SwitchA] acl number 2001 [SwitchA-acl-basic-2001] rule permit source 224.1.1.1 0 [SwitchA-acl-basic-2001] quit [SwitchA] igmp-snooping [SwitchA-igmp-snooping] group-policy 2001 vlan 100 [SwitchA-igmp-snooping] quit

# 在 Ethernet1/0/3 和 Ethernet1/0/4 上分别配置模拟主机加入组播组 224.1.1.1。
[SwitchA] interface ethernet 1/0/3 [SwitchA-Ethernet1/0/3] igmp-snooping host-join 224.1.1.1 vlan 100 [SwitchA-Ethernet1/0/3] quit [SwitchA] interface ethernet 1/0/4 [SwitchA-Ethernet1/0/4] igmp-snooping host-join 224.1.1.1 vlan 100 [SwitchA-Ethernet1/0/4] quit

(4)

检验配置效果

# 查看 Switch A 上 VLAN 100 内 IGMP Snooping 组播组的详细信息。
[SwitchA] display igmp-snooping group vlan 100 verbose Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s).

Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Router port(s):total 1 port(s). Eth1/0/1 (D) ( 00:01:30 ) IP group(s):the following ip group(s) match to one mac group. IP group address:224.1.1.1 (0.0.0.0, 224.1.1.1): Attribute: Host Port

Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/4 MAC group(s): MAC group address:0100-5e01-0101 Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/4 (D) ( 00:03:23 ) (D) ( 00:04:10 )

由此可见,Switch A 上的端口 Ethernet1/0/3 和 Ethernet1/0/4 已经加入了组播组 224.1.1.1。

1-25

1.9.2 静态端口配置举例
1. 组网需求 如 图 1-5所示,Router A通过Ethernet1/0/2 接口连接组播源(Source),通过Ethernet1/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 上的端 口 Ethernet1/0/3 和 Ethernet1/0/5 配置为组播组 224.1.1.1 的静态成员端口,可以增强组播数 据在传输过程中的可靠性; 假设由于受 STP 等链路层协议的影响,为了避免出现环路,Switch A—Switch C 的转发路径 在正常情况下是阻断的,组播数据只能通过 Switch A—Switch B—Switch C 的路径传递给连 接在 Switch C 上的接收者; 要求通过将 Switch A 上连接 Switch C 的端口 Ethernet1/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,生成树协议)的详细介绍,请参见“二层技术-以太网交换配 置指导”中的“MSTP 配置”。

1-26

2. 组网图 图1-5 静态端口配置组网图
Switch B
/1 1/0 Eth

Source
Eth1/0/2 1.1.1.2/24 Eth1/0/1 10.1.1.1/24

Switch A
Eth1/0/1

/2 1/0 Eth Eth 1/0 /3 Eth 1/0 /1

1.1.1.1/24

Eth1/0/2

Router A IGMP querier

Eth1/0/2

Switch C
Eth 1/0 /3

Host C Receiver VLAN 100 Host B

Eth1/0/4

/5 1/0 Eth

Host A Receiver

3. 配置步骤 (1) (2) 配置 IP 地址 配置 Router A 请按照 图 1-5配置各接口的IP地址和子网掩码,具体配置过程略。 # 使能 IP 组播路由,在各接口上使能 PIM-DM,并在接口 Ethernet1/0/1 上使能 IGMP。
<RouterA> system-view [RouterA] multicast routing-enable [RouterA] interface ethernet 1/0/1 [RouterA-Ethernet1/0/1] igmp enable [RouterA-Ethernet1/0/1] pim dm [RouterA-Ethernet1/0/1] quit [RouterA] interface ethernet 1/0/2 [RouterA-Ethernet1/0/2] pim dm [RouterA-Ethernet1/0/2] quit

(3)

配置 Switch A

# 全局使能 IGMP Snooping。
<SwitchA> system-view [SwitchA] igmp-snooping [SwitchA-igmp-snooping] quit

# 创建 VLAN 100,把端口 Ethernet1/0/1 到 Ethernet1/0/3 添加到该 VLAN 中,并在该 VLAN 内使 能 IGMP Snooping。
[SwitchA] vlan 100 [SwitchA-vlan100] port ethernet 1/0/1 to ethernet 1/0/3 [SwitchA-vlan100] igmp-snooping enable [SwitchA-vlan100] quit

# 把 Ethernet1/0/3 配置为静态路由器端口。
1-27

[SwitchA] interface ethernet 1/0/3 [SwitchA-Ethernet1/0/3] igmp-snooping static-router-port vlan 100 [SwitchA-Ethernet1/0/3] quit

(4)

配置 Switch B

# 全局使能 IGMP Snooping。
<SwitchB> system-view [SwitchB] igmp-snooping [SwitchB-igmp-snooping] quit

# 创建 VLAN 100,把端口 Ethernet1/0/1 和 Ethernet1/0/2 添加到该 VLAN 中,并在该 VLAN 内使 能 IGMP Snooping。
[SwitchB] vlan 100 [SwitchB-vlan100] port ethernet 1/0/1 ethernet 1/0/2 [SwitchB-vlan100] igmp-snooping enable [SwitchB-vlan100] quit

(5)

配置 Switch C

# 全局使能 IGMP Snooping。
<SwitchC> system-view [SwitchC] igmp-snooping [SwitchC-igmp-snooping] quit

# 创建 VLAN 100,把端口 Ethernet1/0/1 到 Ethernet1/0/5 添加到该 VLAN 中,并在该 VLAN 内使 能 IGMP Snooping。
[SwitchC] vlan 100 [SwitchC-vlan100] port ethernet 1/0/1 to ethernet 1/0/5 [SwitchC-vlan100] igmp-snooping enable [SwitchC-vlan100] quit

# 分别在端口 Ethernet1/0/3 和 Ethernet1/0/5 上配置静态加入组播组 224.1.1.1。
[SwitchC] interface Ethernet 1/0/3 [SwitchC-Ethernet1/0/3] igmp-snooping static-group 224.1.1.1 vlan 100 [SwitchC-Ethernet1/0/3] quit [SwitchC] interface Ethernet 1/0/5 [SwitchC-Ethernet1/0/5] igmp-snooping static-group 224.1.1.1 vlan 100 [SwitchC-Ethernet1/0/5] quit

(6)

检验配置效果

# 查看 Switch A 上 VLAN 100 内 IGMP Snooping 组播组的详细信息。
[SwitchA] display igmp-snooping group vlan 100 verbose Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Router port(s):total 2 port(s). Eth1/0/1 Eth1/0/3 (D) ( 00:01:30 ) (S)

1-28

IP group(s):the following ip group(s) match to one mac group. IP group address:224.1.1.1 (0.0.0.0, 224.1.1.1): Attribute: Host Port

Host port(s):total 1 port(s). Eth1/0/2 MAC group(s): MAC group address:0100-5e01-0101 Host port(s):total 1 port(s). Eth1/0/2 (D) ( 00:03:23 )

由此可见,Switch A 上的端口 Ethernet1/0/3 已经成为了静态路由器端口。 # 查看 Switch C 上 VLAN 100 内 IGMP Snooping 组播组的详细信息。
[SwitchC] display igmp-snooping group vlan 100 verbose Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s).

Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Router port(s):total 1 port(s). Eth1/0/2 (D) ( 00:01:23 ) IP group(s):the following ip group(s) match to one mac group. IP group address:224.1.1.1 (0.0.0.0, 224.1.1.1): Attribute: Host Port

Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/5 MAC group(s): MAC group address:0100-5e01-0101 Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/5 (S) (S)

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

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

1-29

为了防止交换机在没有二层组播转发表项时将组播数据在 VLAN 内广播,要求在所有交换机 上都使能丢弃未知组播数据报文的功能; 由于交换机不会将收到源 IP 地址为 0.0.0.0 的 IGMP 查询报文的端口设置为动态路由器端口, 从而会影响二层组播转发表项的建立并导致组播数据无法正常转发,因此要求通过配置改变 缺省的 IGMP 查询报文源 IP 地址(即 0.0.0.0)以避免上述问题的出现。 2. 组网图 图1-6 IGMP Snooping 查询器配置组网图
Source 1
192.168.1.10/24

Source 2
192.168.1.20/24

Receiver
Eth1/0/2 Eth1/0/1 Eth1/0/3 Eth1/0/3 Eth1/0/2 Eth1/0/1 Eth1/0/4

Receiver

Host A

Switch A Querier

Switch B

Host B

Receiver
Eth1/0/2 Eth1/0/1 Eth1/0/2 Eth1/0/3 Eth1/0/1

Receiver

Host D

Switch D

Switch C

Host C

3. 配置步骤 (1) 配置 Switch A # 全局使能 IGMP Snooping,并使能丢弃未知组播数据报文功能。
<SwitchA> system-view [SwitchA] igmp-snooping [SwitchA-igmp-snooping] drop-unknown [SwitchA-igmp-snooping] quit

# 创建 VLAN 100,并把端口 Ethernet1/0/1 到 Ethernet1/0/3 添加到该 VLAN 中。
[SwitchA] vlan 100 [SwitchA-vlan100] port ethernet 1/0/1 to ethernet 1/0/3

# 在 VLAN 100 内使能 IGMP Snooping。
[SwitchA-vlan100] igmp-snooping enable

# 在 VLAN 100 内使能 IGMP Snooping 查询器。
[SwitchA-vlan100] igmp-snooping querier

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

1-30

[SwitchB-igmp-snooping] quit

# 创建 VLAN 100,并把端口 Ethernet1/0/1 到 Ethernet1/0/4 添加到该 VLAN 中。
[SwitchB] vlan 100 [SwitchB-vlan100] port ethernet 1/0/1 to ethernet 1/0/4

# 在 VLAN 100 内使能 IGMP Snooping。
[SwitchB-vlan100] igmp-snooping enable [SwitchB-vlan100] quit

Switch C 和 Switch D 的配置与 Switch B 相似,配置过程略。 (3) 检验配置效果 当 IGMP Snooping 查询器开始工作之后,除查询器以外的所有交换机都能收到 IGMP 普遍组查询 报文。通过使用 display igmp-snooping statistics 命令可以查看 IGMP 报文的统计信息,例如: # 查看 Switch B 上收到的 IGMP 报文的统计信息。
[SwitchB] 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 Sent IGMPv3 specific queries:0. IGMPv3 specific sg queries:0.

Received error IGMP messages:0.

1.9.4 IGMP Snooping Proxying 配置举例
1. 组网需求 如 图 1-7所示,Router A通过Ethernet1/0/2 接口连接组播源(Source),通过Ethernet1/0/1 接口连接Switch A; Router A 上运行 IGMPv2, Switch A 上运行版本 2 的 IGMP Snooping, 并由 Router A 充当 IGMP 查询器; 通过配置,使 Switch A 能够代理下游主机向 Router A 发送的 IGMP 报告报文和离开报文,以 及响应 Router A 发来的 IGMP 查询报文并向下游主机转发。

1-31

2. 组网图 图1-7 IGMP Snooping Proxying 配置组网图
Receiver Host A

Source
Eth1/0/2 1.1.1.2/24 Eth1/0/1 10.1.1.1/24 Eth1/0/4 Eth1/0/1 Eth1/0/3

Receiver

1.1.1.1/24

Router A IGMP querier

Switch A Proxy & Querier Eth1/0/2

Host B

Host C

3. 配置步骤 (1) (2) 配置 IP 地址 配置 Router A 请按照 图 1-7配置各接口的IP地址和子网掩码,具体配置过程略。 # 使能 IP 组播路由,在各接口上使能 PIM-DM,并在接口 Ethernet1/0/1 上使能 IGMP。
<RouterA> system-view [RouterA] multicast routing-enable [RouterA] interface ethernet 1/0/1 [RouterA-Ethernet1/0/1] igmp enable [RouterA-Ethernet1/0/1] pim dm [RouterA-Ethernet1/0/1] quit [RouterA] interface ethernet 1/0/2 [RouterA-Ethernet1/0/2] pim dm [RouterA-Ethernet1/0/2] quit

(3)

配置 Switch A

# 全局使能 IGMP Snooping。
<SwitchA> system-view [SwitchA] igmp-snooping [SwitchA-igmp-snooping] quit

# 创建 VLAN 100,把端口 Ethernet1/0/1 到 Ethernet1/0/4 添加到该 VLAN 中;在该 VLAN 内使能 IGMP Snooping,并使能 IGMP Snooping Proxying。
[SwitchA] vlan 100 [SwitchA-vlan100] port ethernet 1/0/1 to ethernet 1/0/4 [SwitchA-vlan100] igmp-snooping enable [SwitchA-vlan100] igmp-snooping proxying enable [SwitchA-vlan100] quit

(4)

检验配置效果

当配置完成后,Host A 和 Host B 分别发送组地址为 224.1.1.1 的 IGMP 加入报文,Switch A 收到 该报文后通过其路由器端口 Ethernet1/0/1 向 Router A 也发送该组的加入报文。通过使用 display
1-32

igmp-snooping group 和 display igmp group 命令可以分别查看 IGMP Snooping 组播组和 IGMP 组播组的信息,例如: # 查看 Switch A 上 IGMP Snooping 组播组的信息。
[SwitchA] display igmp-snooping group Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Router port(s):total 1 port(s). Eth1/0/1 (D) ( 00:01:23 )

IP group(s):the following ip group(s) match to one mac group. IP group address:224.1.1.1 (0.0.0.0, 224.1.1.1): Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/4 MAC group(s): MAC group address:0100-5e01-0101 Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/4 (D) (D)

# 查看 Router A 上 IGMP 组播组的信息。
[RouterA] display igmp group Total 1 IGMP Group(s). Interface group report information Ethernet1/0/1(10.1.1.1): Total 1 IGMP Group reported Group Address 224.1.1.1 Last Reporter 0.0.0.0 Uptime 00:00:06 Expires 00:02:04

当 Host A 离开组播组 224.1.1.1 时,向 Switch A 发送该组的 IGMP 离开报文,但由于 Host B 仍未 离开该组,因此 Switch A 并不会删除该组,也不会向 Router A 发送该组的离开报文,只是在该组 对应转发表项的成员端口列表中将端口 Ethernet1/0/3 删除。通过使用 display igmp-snooping group 命令可以查看 IGMP Snooping 组播组的信息,例如: # 查看 Switch A 上 IGMP Snooping 组播组的信息。
[SwitchA] display igmp-snooping group Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s).

1-33

Router port(s):total 1 port(s). Eth1/0/1 IP group address:224.1.1.1 (0.0.0.0, 224.1.1.1): Host port(s):total 1 port(s). Eth1/0/4 MAC group(s): MAC group address:0100-5e01-0101 Host port(s):total 1 port(s). Eth1/0/4 (D) (D) ( 00:01:23 )

IP group(s):the following ip group(s) match to one mac group.

1.9.5 组播源与组播用户控制策略配置举例
1. 组网需求 如 图 1-8所示, 三层交换机Switch A分别通过接口Vlan-interface101 和Vlan-interface102 连接 组播源Source 1 和Source 2,通过接口Vlan-interface103 连接RADIUS服务器,并通过接口 Vlan-interface104 连接二层交换机Switch B。 Switch A 上运行 IGMPv2,Switch B 上运行版本 2 的 IGMP Snooping,连接在 Switch A 上的 组播源和连接在 Switch B 上的主机都使用 802.1X 进行认证。 通过在 Switch A 上配置组播源控制策略,禁止由 Source 2 发往组播组 224.1.1.1 的组播数据 进入网络。 通过在 Switch B 上配置组播用户控制策略,使接收者(Receiver)Host A 只能加入/离开组播 组 224.1.1.1。 2. 组网图 图1-8 组播源与组播用户控制策略配置组网图

Source 1
1.1.1.1/24

Source 2

Eth1/0/2 Vlan-int102 2.1.1.2/24 Eth1/0/3 Vlan-int103 3.1.1.2/24

Eth1/0/1 Vlan-int101 1.1.1.2/24 Eth1/0/1 Eth1/0/4 Vlan-int104 4.1.1.1/24

Switch B
Eth1/0/3

Receiver

Eth1/0/2

Host A

2.1.1.1/24

Switch A

RADIUS server
3.1.1.1/24

Host B

3. 配置步骤 (1) (2) 配置 IP 地址 配置 Switch A
1-34

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

# 分别创建 VLAN 101~104,并将端口 Ethernet1/0/1~Ethernet1/0/4 依次加入 VLAN 101~104 中。
<SwitchA> system-view [SwitchA] vlan 101 [SwitchA-vlan101] port ethernet 1/0/1 [SwitchA-vlan101] quit [SwitchA] vlan 102 [SwitchA-vlan102] port ethernet 1/0/2 [SwitchA-vlan102] quit [SwitchA] vlan 103 [SwitchA-vlan103] port ethernet 1/0/3 [SwitchA-vlan103] quit [SwitchA] vlan 104 [SwitchA-vlan104] port ethernet 1/0/4 [SwitchA-vlan104] quit

# 使能 IP 组播路由,在接口 Vlan-interface101、Vlan-interface102 和 Vlan-interface104 上使能 PIM-DM,并在接口 Vlan-interface104 上使能 IGMP。
[SwitchA] multicast routing-enable [SwitchA] interface vlan-interface 101 [SwitchA-Vlan-interface101] pim dm [SwitchA-Vlan-interface101] quit [SwitchA] interface vlan-interface 102 [SwitchA-Vlan-interface102] pim dm [SwitchA-Vlan-interface102] quit [SwitchA] interface vlan-interface 104 [SwitchA-Vlan-interface104] pim dm [SwitchA-Vlan-interface104] igmp enable [SwitchA-Vlan-interface104] quit

# 创建名为 policy1 的 QoS 策略,不允许来自组播源 2.1.1.1 的组播数据向组播组 224.1.1.1 发送。
[SwitchA] acl number 3001 [SwitchA-acl-adv-3001] rule permit udp source 2.1.1.1 0 destination 224.1.1.1 0 [SwitchA-acl-adv-3001] quit

配置组播源控制策略时必须使用高级 ACL,且在配置源地址匹配的同时还必须配置目的地址匹配, 否则希望过滤掉的组播报文仍会上送 CPU,从而使设备创建相应的组播表项,导致该策略失效。

[SwitchA] traffic classifier classifier1 [SwitchA-classifier-classifier1] if-match acl 3001 [SwitchA-classifier-classifier1] quit

在类视图下配置了匹配 IPv4 规则后,请勿再配置匹配 IPv6 规则,否则将导致报文匹配错误。

[SwitchA] traffic behavior behavior1 [SwitchA-behavior-behavior1] filter deny

1-35

[SwitchA-behavior-behavior1] quit [SwitchA] qos policy policy1 [SwitchA-qospolicy-policy1] classifier classifier1 behavior behavior1 [SwitchA-qospolicy-policy1] quit

# 创建名为 profile1 的 User Profile, 在该 User Profile 下应用 QoS 策略 policy1, 并将该 User Profile 激活。
[SwitchA] user-profile profile1 [SwitchA-user-profile-profile1] qos apply policy policy1 inbound [SwitchA-user-profile-profile1] quit [SwitchA] user-profile profile1 enable

# 创建名为 scheme1 的 RADIUS 认证方案,配置 RADIUS 服务器的类型为 extended 类型;指定 主 RADIUS 认证/授权服务器和计费服务器的 IP 地址均为 3.1.1.1,共享密钥均为 123321;并配置 发送给 RADIUS 服务器的用户名不需要携带域名。
[SwitchA] radius scheme scheme1 [SwitchA-radius-scheme1] server-type extended [SwitchA-radius-scheme1] primary authentication 3.1.1.1 [SwitchA-radius-scheme1] key authentication 123321 [SwitchA-radius-scheme1] primary accounting 3.1.1.1 [SwitchA-radius-scheme1] key accounting 123321 [SwitchA-radius-scheme1] user-name-format without-domain [SwitchA-radius-scheme1] quit

# 创建名为 domain1 的 ISP 域,指定 lan-access 用户的 RADIUS 认证、授权和计费方案均为 scheme1;并将该域指定为系统缺省的 ISP 域。
[SwitchA] domain domain1 [SwitchA-isp-domian1] authentication lan-access radius-scheme scheme1 [SwitchA-isp-domian1] authorization lan-access radius-scheme scheme1 [SwitchA-isp-domian1] accounting lan-access radius-scheme scheme1 [SwitchA-isp-domian1] quit [SwitchA] domain default enable domain1

# 全局使能 802.1X,并在端口 Ethernet1/0/1 和 Ethernet1/0/2 上分别使能 802.1X。
[SwitchA] dot1x [SwitchA] interface ethernet 1/0/1 [SwitchA-Ethernet1/0/1] dot1x [SwitchA-Ethernet1/0/1] quit [SwitchA] interface ethernet 1/0/2 [SwitchA-Ethernet1/0/2] dot1x [SwitchA-Ethernet1/0/2] quit

(3)

配置 Switch B

# 全局使能 IGMP Snooping。
<SwitchB> system-view [SwitchB] igmp-snooping [SwitchB-igmp-snooping] quit

# 创建 VLAN 100,把端口 Ethernet1/0/1 到 Ethernet1/0/3 添加到该 VLAN 中;在该 VLAN 内使能 IGMP Snooping。
[SwitchB] vlan 100 [SwitchB-vlan100] port ethernet 1/0/1 to ethernet 1/0/3 [SwitchB-vlan100] igmp-snooping enable [SwitchB-vlan100] quit

1-36

# 创建名为 profile2 的 User Profile, 在该 User Profile 下配置只允许用户加入/离开组播组 224.1.1.1, 并将该 User Profile 激活。
[SwitchB] acl number 2001 [SwitchB-acl-basic-2001] rule permit source 224.1.1.1 0 [SwitchB-acl-basic-2001] quit [SwitchB] user-profile profile2 [SwitchB-user-profile-profile2] igmp-snooping access-policy 2001 [SwitchB-user-profile-profile2] quit [SwitchB] user-profile profile2 enable

# 创建名为 scheme2 的 RADIUS 认证方案,配置 RADIUS 服务器的类型为 extended 类型;指定 主 RADIUS 认证/授权服务器和计费服务器的 IP 地址均为 3.1.1.1,共享密钥均为 321123;并配置 发送给 RADIUS 服务器的用户名不需要携带域名。
[SwitchB] radius scheme scheme2 [SwitchB-radius-scheme2] server-type extended [SwitchB-radius-scheme2] primary authentication 3.1.1.1 [SwitchB-radius-scheme2] key authentication 321123 [SwitchB-radius-scheme2] primary accounting 3.1.1.1 [SwitchB-radius-scheme2] key accounting 321123 [SwitchB-radius-scheme2] user-name-format without-domain [SwitchB-radius-scheme2] quit

# 创建名为 domain2 的 ISP 域,指定 lan-access 用户的 RADIUS 认证、授权和计费方案均为 scheme2;并将该域指定为系统缺省的 ISP 域。
[SwitchB] domain domain2 [SwitchB-isp-domian2] authentication lan-access radius-scheme scheme2 [SwitchB-isp-domian2] authorization lan-access radius-scheme scheme2 [SwitchB-isp-domian2] accounting lan-access radius-scheme scheme2 [SwitchB-isp-domian2] quit [SwitchB] domain default enable domain2

# 全局使能 802.1X,并在接口 Ethernet1/0/2 和 Ethernet1/0/3 上分别使能 802.1X。
[SwitchB] dot1x [SwitchB] interface ethernet 1/0/2 [SwitchB-Ethernet1/0/2] dot1x [SwitchB-Ethernet1/0/2] quit [SwitchB] interface ethernet 1/0/3 [SwitchB-Ethernet1/0/3] dot1x [SwitchB-Ethernet1/0/3] quit

(4)

配置 RADIUS 服务器

请在 RADIUS 服务器上进行与 Switch A 和 Switch B 相对应的配置,具体配置过程可参考 RADIUS 服务器的配置手册。 (5) 检验配置效果 配置完成后,所有的组播源和用户主机都向 RADIUS 服务器发起 802.1X 认证。当认证通过后, Source 1 向组播组 224.1.1.1、Source 2 向组播组 224.1.1.2 分别发送不同的组播数据,而 Host A 则分别发起了对组播组 224.1.1.1 和 224.1.1.2 的加入。通过使用 display igmp-snooping group 命令可以查看 IGMP Snooping 组播组的信息: # 查看 Switch B 上 VLAN 100 内 IGMP Snooping 组播组的详细信息。
[SwitchB] display igmp-snooping group vlan 100 verbose Total 1 IP Group(s).

1-37

Total 1 IP Source(s). Total 1 MAC Group(s). Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Router port(s):total 1 port(s). Eth1/0/1 IP group address:224.1.1.1 (0.0.0.0, 224.1.1.1): Attribute: Host Port Host port(s):total 1 port(s). Eth1/0/3 MAC group(s): MAC group address:0100-5e01-0101 Host port(s):total 1 port(s). Eth1/0/3 (D) ( 00:04:10 ) (D) ( 00:01:30 )

IP group(s):the following ip group(s) match to one mac group.

由此可见, Switch B 上的端口 Ethernet1/0/3 只加入了组播组 224.1.1.1, 而未加入组播组 224.1.1.2。 此后由于管理员的操作失误, Source 2 也开始向组播组 224.1.1.1 发送组播数据。 通过使用 display multicast forwarding-table 命令可以查看组播转发表的信息: # 查看 Switch A 上有关组播组 224.1.1.1 的组播转发表信息。
[SwitchA] display multicast forwarding-table 224.1.1.1 Multicast Forwarding Table of

Total 1 entry

Total 1 entry matched 00001. (1.1.1.1, 224.1.1.1) MID: 0, Flags: 0x0:0 Uptime: 00:08:32, Timeout in: 00:03:26 Incoming interface: Vlan-interface101 List of 1 outgoing interfaces: 1: Vlan-interface104 Matched 19648 packets(20512512 bytes), Wrong If 0 packets Forwarded 19648 packets(20512512 bytes)

由此可见,Switch A 上只有组播源组(1.1.1.1,224.1.1.1)的转发表项,而没有组播源组(2.1.1.1, 224.1.1.1)的转发表项,说明 Source 2 发往组播组 224.1.1.1 的组播数据没能进入网络。

1.10 常见配置错误举例
1.10.1 交换机不能实现二层组播
1. 故障现象 交换机不能实现 IGMP Snooping 二层组播功能。

1-38

2. 分析 IGMP Snooping 没有使能。 3. 处理过程 (1) (2) 使用 display current-configuration 命令查看 IGMP Snooping 的运行状态。 如果是没有使能 IGMP Snooping,则需先在系统视图下使用 igmp-snooping 命令全局使能 IGMP Snooping,然后在 VLAN 视图下使用 igmp-snooping enable 命令使能 VLAN 内的 IGMP Snooping。 (3) 如 果 只 是 没 有 在 相 应 VLAN 下 使 能 IGMP Snooping , 则 只 需 在 VLAN 视 图 下 使 用 igmp-snooping enable 命令使能 VLAN 内的 IGMP Snooping。

1.10.2 配置的组播组策略不生效
1. 故障现象 配置了组播组策略,只允许主机加入某些特定的组播组,但主机仍然可以收到发往其它组播组的组 播数据。 2. 分析 ACL 规则配置不正确; 组播组策略应用不正确; 没有使能丢弃未知组播数据报文的功能,使得属于过滤策略之外的组播数据报文(即未知组 播数据报文)被广播。 3. 处理过程 (1) (2) 使用 display acl 命令查看所配置的 ACL 规则,检查其是否与所要实现的组播组过滤策略相 符合。 在 IGMP-Snooping 视图或相应的接口视图下使用 display this 命令查看是否应用了正确的组 播组策略。如果没有,则使用 group-policy 或 igmp-snooping group-policy 命令应用正确 的组播组策略。 (3) 使用 display current-configuration 命令查看是否已使能丢弃未知组播数据报文的功能。如 果没有使能,则使用 drop-unknown 命令使能丢弃未知组播数据报文功能。

1-39

目 录
1 组播VLAN配置................................................................................................................................... 1-1
1.1 组播VLAN简介 .................................................................................................................................. 1-1 1.2 组播VLAN配置任务简介.................................................................................................................... 1-2 1.3 配置组播VLAN .................................................................................................................................. 1-2 1.3.1 配置准备 ................................................................................................................................. 1-3 1.3.2 配置用户端口属性................................................................................................................... 1-3 1.3.3 配置组播VLAN端口................................................................................................................. 1-4 1.4 组播VLAN显示和维护 ....................................................................................................................... 1-5 1.5 组播VLAN典型配置举例.................................................................................................................... 1-5

i

1 组播VLAN配置
1.1 组播VLAN简介
如 图 1-1所示,在传统的组播点播方式下,当属于不同VLAN的主机Host A、Host B和Host C同时 点播同一组播组时,三层设备(Router A)需要把组播数据在每个用户VLAN(即主机所属的VLAN) 内都复制一份发送给二层设备(Switch A)。这样既造成了带宽的浪费,也给三层设备增加了额外 的负担。 图1-1 未运行组播 VLAN 时的组播数据传输

可以使用组播 VLAN 功能解决这个问题。在二层设备上配置了组播 VLAN 后,三层设备只需把组播 数据在组播 VLAN 内复制一份发送给二层设备,而不必在每个用户 VLAN 内都复制一份,从而节省 了网络带宽,也减轻了三层设备的负担。 如 图 1-2所示,接收者主机Host A、Host B和Host C分属不同的用户VLAN,Switch A上的所有用 户端口(即连接主机的端口)均为Hybrid类型。在Switch A上配置VLAN 10 为组播VLAN,将所有 用户端口都添加到该组播VLAN内,并在组播VLAN和所有用户VLAN内都使能IGMP Snooping。

1-1

图1-2 基于端口的组播 VLAN 示意图

配置完成后,当 Switch A 上的用户端口收到来自主机的 IGMP 报文时,会为其打上组播 VLAN 的 Tag 并上送给 IGMP 查询器,于是 IGMP Snooping 就可以在组播 VLAN 中对路由器端口和成员端 口进行统一的维护。这样,Router A 只需把组播数据在组播 VLAN 内复制一份发送给 Switch A 即 可,Switch A 会将其分发给该组播 VLAN 内的所有成员端口。

有关 IGMP Snooping 的相关配置,以及路由器端口和成员端口的详细介绍,请参见“IP 组播 配置指导”中的“IGMP Snooping 配置”。 有关 VLAN Tag 的详细介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN 配置”。

1.2 组播VLAN配置任务简介
表1-1 组播 VLAN 配置任务简介
配置任务 配置用户端口属性 配置组播 VLAN 端口 1.3.2 1.3.3 详细配置

1.3 配置组播VLAN
在配置组播 VLAN 时, 需要先配置各用户端口的属性, 然后再将配置好的用户端口添加到组播 VLAN 内。

1-2

只允许将二层以太网端口或二层聚合接口类型的用户端口配置为组播 VLAN 的端口。 二层以太网端口视图下的配置只对当前端口有效; 二层聚合接口视图下的配置对当前接口有效; 端口组视图下的配置对当前端口组中的所有端口有效。

1.3.1 配置准备
在配置基于端口的组播 VLAN 之前,需完成以下任务: 创建相应的 VLAN 在欲配置为组播 VLAN 的 VLAN 内使能 IGMP Snooping 在所有的用户 VLAN 内都内使能 IGMP Snooping

1.3.2 配置用户端口属性
配置用户端口为 Hybrid 类型,允许用户 VLAN 的报文通过,缺省 VLAN 为其所属的用户 VLAN。 配置用户端口允许组播 VLAN 的报文通过,且不携带 Tag。这样,当二层设备通过组播 VLAN 收到 来自上游、打有组播 VLAN Tag 的组播数据报文时,会将其 Tag 去掉后再向下游转发。 表1-2 配置用户端口属性
操作 进入系统视图 进入相 应视图 进入二层以太网 端口视图 进入端口组视图 配置用户端口的链路类型 为 Hybrid 类型 system-view interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选 port link-type hybrid 缺省情况下,端口的链路类型为 Access 类型 必选 配置用户端口的缺省 VLAN 为其所属的用户 VLAN port hybrid pvid vlan vlan-id 缺省情况下,Hybrid 端口的缺省 VLAN 为 VLAN 1 必选 允许组播 VLAN 通过用户 端口,且不携带 Tag port hybrid vlan vlan-id-list untagged 缺省情况下,Hybrid 端口只允许 VLAN 1 通过 命令 说明

有关 port link-type、port hybrid pvid vlan 和 port hybrid vlan 命令的详细介绍,请参见“二层 技术-以太网交换命令参考”中的“VLAN 配置命令”。

1-3

1.3.3 配置组播VLAN端口
首先需要把某个 VLAN 配置为组播 VLAN,再将用户端口添加到该组播 VLAN 内——既可以在组播 VLAN 内添加端口,也可以在端口上指定其所属的组播 VLAN——这两种配置方式是等效的。 1. 在组播VLAN内配置组播VLAN端口 表1-3 在组播 VLAN 内配置组播 VLAN 端口
操作 进入系统视图 配置指定 VLAN 为组播 VLAN, 并进入组播 VLAN 视图 命令 system-view multicast-vlan vlan-id 缺省情况下,VLAN 不是组播 VLAN 必选 向组播 VLAN 内添加端口 port interface-list 缺省情况下,组播 VLAN 内没有端口 必选 说明

2. 在端口上配置组播VLAN端口 表1-4 在端口上配置组播 VLAN 端口
操作 进入系统视图 配置指定 VLAN 为组播 VLAN,并进入组播 VLAN 视图 退回系统视图 进入二层以太网 端口视图 进入端口组视图 system-view 命令 必选 multicast-vlan vlan-id 缺省情况下,VLAN 不是组播 VLAN quit interface interface-type interface-number port-group manual port-group-name 必选 指定端口所属的组播 VLAN port multicast-vlan vlan-id 缺省情况下,端口不属于任何组播 VLAN 说明

进入相 应视图

二者必选其一

要配置为组播 VLAN 的指定 VLAN 必须存在。 一个端口只能属于一个组播 VLAN。

1-4

1.4 组播VLAN显示和维护
在完成上述配置后,在任意视图下执行 display 命令可以显示配置后组播 VLAN 的运行情况,通过 查看显示信息验证配置的效果。 表1-5 组播 VLAN 显示和维护
操作 查看组播 VLAN 的信息 命令 display multicast-vlan [ vlan-id ] [ | { begin | exclude | include } regular-expression ]

1.5 组播VLAN典型配置举例
1. 组网需求 如 图 1-3所示, Router A通过接口Ethernet1/0/1 连接组播源 (Source) 通过接口Ethernet1/0/2 , 连接Switch A; Router A 上运行 IGMPv2, Switch A 上运行版本 2 的 IGMP Snooping, 并由 Router A 充当 IGMP 查询器; Switch A 的端口 Ethernet1/0/1 属于 VLAN 10,端口 Ethernet1/0/2 到 Ethernet1/0/4 分别属于 VLAN 2 到 VLAN 4,Host A 到 Host C 分别连接到 Switch A 的端口 Ethernet1/0/2 到 Ethernet1/0/4 上; 组播源向组播组 224.1.1.1 发送组播数据,Host A、Host B 和 Host C 都是该组播组的接收者 (Receiver); 通过配置基于端口的组播 VLAN,使 Router A 通过组播 VLAN 向 Switch A 下分属不同用户 VLAN 的主机分发组播数据。

1-5

2. 组网图 图1-3 基于端口的组播 VLAN 配置组网图
Source
Eth1/0/1 1.1.1.2/24

IGMP querier Router A

1.1.1.1/24

Eth1/0/2 10.110.1.1/24

Switch A
Eth1/0/2

Eth1/0/1

Eth1/0/4 Eth1/0/3

Receiver Host A VLAN 2

Receiver Host B VLAN 3

Receiver Host C VLAN 4

3. 配置步骤 (1) 配置 IP 地址

请按照 图 1-3配置各接口的IP地址和子网掩码,具体配置过程略。 (2) 配置 Router A

# 使能 IP 组播路由,在各接口上使能 PIM-DM,并在主机侧接口 Ethernet1/0/2 上使能 IGMP。
<RouterA> system-view [RouterA] multicast routing-enable [RouterA] interface ethernet 1/0/1 [RouterA-Ethernet1/0/1] pim dm [RouterA-Ethernet1/0/1] quit [RouterA] interface ethernet 1/0/2 [RouterA-Ethernet1/0/2] pim dm [RouterA-Ethernet1/0/2] igmp enable

(3)

配置 Switch A

# 全局使能 IGMP Snooping。
<SwitchA> system-view [SwitchA] igmp-snooping [SwitchA-igmp-snooping] quit

# 创建 VLAN 10, 把端口 Ethernet1/0/1 添加到该 VLAN 中, 并在该 VLAN 内使能 IGMP Snooping。
[SwitchA] vlan 10 [SwitchA-vlan10] port ethernet 1/0/1 [SwitchA-vlan10] igmp-snooping enable [SwitchA-vlan10] quit

1-6

# 创建 VLAN 2,并在该 VLAN 内使能 IGMP Snooping。
[SwitchA] vlan 2 [SwitchA-vlan2] igmp-snooping enable [SwitchA-vlan2] quit

VLAN 3 与 VLAN 4 的配置与 VLAN 2 相似,配置过程略。 # 配置端口 Ethernet1/0/2 为 Hybrid 类型,缺省 VLAN 为 VLAN 2;允许 VLAN 2 和 VLAN 10 的报 文通过,且均不携带 Tag。
[SwitchA] interface ethernet 1/0/2 [SwitchA-Ethernet1/0/2] port link-type hybrid [SwitchA-Ethernet1/0/2] port hybrid pvid vlan 2 [SwitchA-Ethernet1/0/2] port hybrid vlan 2 untagged [SwitchA-Ethernet1/0/2] port hybrid vlan 10 untagged [SwitchA-Ethernet1/0/2] quit

Ethernet1/0/3 与 Ethernet1/0/4 的配置与 Ethernet1/0/2 相似,配置过程略。 # 配置 VLAN 10 为组播 VLAN。
[SwitchA] multicast-vlan 10

# 将端口 Ethernet1/0/2 到 Ethernet1/0/3 添加到组播 VLAN 10 内。
[SwitchA-mvlan-10] port ethernet 1/0/2 to ethernet 1/0/3 [SwitchA-mvlan-10] quit

# 配置端口 Ethernet1/0/4 也属于组播 VLAN 10。
[SwitchA] interface ethernet 1/0/4 [SwitchA-Ethernet1/0/4] port multicast-vlan 10 [SwitchA-Ethernet1/0/4] quit

(4)

检验配置效果

# 查看 Switch A 上所有组播 VLAN 的信息。
[SwitchA] display multicast-vlan Total 1 multicast-vlan(s)

Multicast vlan 10 port list: Eth1/0/2 Eth1/0/3 Eth1/0/4

# 查看 Switch A 上 IGMP Snooping 组播组的信息。
[SwitchA] display igmp-snooping group Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s).

Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):10. Total 1 IP Group(s). Total 1 IP Source(s).

1-7

Total 1 MAC Group(s). Router port(s):total 1 port(s). Eth1/0/1 (D)

IP group(s):the following ip group(s) match to one mac group. IP group address:224.1.1.1 (0.0.0.0, 224.1.1.1): Host port(s):total 3 port(s). Eth1/0/2 Eth1/0/3 Eth1/0/4 MAC group(s): MAC group address:0100-5e01-0101 Host port(s):total 3 port(s). Eth1/0/2 Eth1/0/3 Eth1/0/4 (D) (D) (D)

由此可见,IGMP Snooping 统一在组播 VLAN(VLAN 10)中维护路由器端口和成员端口。

1-8

目 录
1 MLD Snooping配置 ........................................................................................................................... 1-1
1.1 MLD Snooping协议简介.................................................................................................................... 1-1 1.1.1 MLD Snooping原理 ................................................................................................................ 1-1 1.1.2 MLD Snooping基本概念 ......................................................................................................... 1-2 1.1.3 MLD Snooping工作机制 ......................................................................................................... 1-3 1.1.4 MLD Snooping Proxying......................................................................................................... 1-4 1.1.5 协议规范 ................................................................................................................................. 1-5 1.2 MLD Snooping配置任务简介............................................................................................................. 1-6 1.3 配置MLD Snooping基本功能............................................................................................................. 1-7 1.3.1 配置准备 ................................................................................................................................. 1-7 1.3.2 使能MLD Snooping ................................................................................................................ 1-7 1.3.3 配置MLD Snooping版本 ......................................................................................................... 1-8 1.3.4 配置IPv6 静态组播MAC地址表项 ........................................................................................... 1-8 1.4 配置MLD Snooping端口功能............................................................................................................. 1-9 1.4.1 配置准备 ................................................................................................................................. 1-9 1.4.2 配置动态端口老化定时器........................................................................................................ 1-9 1.4.3 配置静态端口 ........................................................................................................................ 1-10 1.4.4 配置模拟主机加入................................................................................................................. 1-11 1.4.5 配置端口快速离开................................................................................................................. 1-12 1.4.6 禁止端口成为动态路由器端口............................................................................................... 1-12 1.5 配置MLD Snooping查询器 .............................................................................................................. 1-13 1.5.1 配置准备 ............................................................................................................................... 1-13 1.5.2 使能MLD Snooping查询器.................................................................................................... 1-13 1.5.3 配置MLD查询和响应............................................................................................................. 1-14 1.5.4 配置MLD查询报文源IPv6 地址 ............................................................................................. 1-15 1.6 配置MLD Snooping Proxying .......................................................................................................... 1-16 1.6.1 配置准备 ............................................................................................................................... 1-16 1.6.2 使能MLD Snooping Proxying ............................................................................................... 1-16 1.6.3 配置代理发送MLD报文的源IPv6 地址................................................................................... 1-16 1.7 配置MLD Snooping策略.................................................................................................................. 1-16 1.7.1 配置准备 ............................................................................................................................... 1-16 1.7.2 配置IPv6 组播组过滤器......................................................................................................... 1-17 1.7.3 配置丢弃未知IPv6 组播数据报文 .......................................................................................... 1-17 1.7.4 配置MLD成员关系报告报文抑制........................................................................................... 1-18

i

1.7.5 配置端口加入的IPv6 组播组最大数量 ................................................................................... 1-18 1.7.6 配置IPv6 组播组替换 ............................................................................................................ 1-19 1.7.7 配置MLD报文的 802.1p优先级 ............................................................................................. 1-20 1.7.8 配置IPv6 组播用户控制策略 ................................................................................................. 1-21 1.8 MLD Snooping显示和维护 .............................................................................................................. 1-21 1.9 MLD Snooping典型配置举例........................................................................................................... 1-22 1.9.1 IPv6 组策略及模拟主机加入配置举例 ................................................................................... 1-22 1.9.2 静态端口配置举例................................................................................................................. 1-24 1.9.3 MLD Snooping查询器配置举例 ............................................................................................ 1-28 1.9.4 MLD Snooping Proxying配置举例 ........................................................................................ 1-29 1.9.5 IPv6 组播源与组播用户控制策略配置举例............................................................................ 1-32 1.10 常见配置错误举例 ......................................................................................................................... 1-37 1.10.1 交换机不能实现二层组播.................................................................................................... 1-37 1.10.2 配置的IPv6 组播组策略不生效............................................................................................ 1-37

ii

1 MLD Snooping配置
S3100V2-SI 不支持 MLD Snooping 配置。

1.1 MLD Snooping协议简介
MLD Snooping 是 Multicast Listener Discovery Snooping(组播侦听者发现协议窥探)的简称。它 是运行在二层设备上的 IPv6 组播约束机制,用于管理和控制 IPv6 组播组。

1.1.1 MLD Snooping原理
运行 MLD Snooping 的二层设备通过对收到的 MLD 报文进行分析, 为端口和 MAC 组播地址建立起 映射关系,并根据这样的映射关系转发 IPv6 组播数据。 如 图 1-1所示,当二层设备没有运行MLD Snooping时,IPv6 组播数据报文在二层被广播;当二层 设备运行了MLD Snooping后,已知IPv6 组播组的组播数据报文不会在二层被广播,而在二层被组 播给指定的接收者。 图1-1 二层设备运行 MLD Snooping 前后的对比
IPv6 multicast packet transmission without MLD Snooping IPv6 multicast packet transmission when MLD Snooping runs

Multicast router Source Source

Multicast router

Layer 2 switch

Layer 2 switch

Host A Receiver Host B IPv6 multicast packets

Host C Receiver

Host A Receiver Host B

Host C Receiver

MLD Snooping 通过二层组播将信息只转发给有需要的接收者,可以带来以下好处:  减少了二层网络中的广播报文,节约了网络带宽;  增强了 IPv6 组播信息的安全性;  为实现对每台主机的单独计费带来了方便。
1-1

1.1.2 MLD Snooping基本概念
1. MLD Snooping相关端口 如 图 1-2所示,Router A连接组播源,在Switch A和Switch B上分别运行MLD Snooping,Host A 和Host C为接收者主机(即IPv6 组播组成员)。 图1-2 MLD Snooping 相关端口
Router A
Eth1/0/1

Switch A
Eth1/0/2

Receiver

Eth1/0/3

Host A

Host B
Eth1/0/1

Receiver
Eth1/0/2

Source

Switch B Router port Member port IPv6 multicast packets

Host C

Host D

结合 图 1-2,介绍一下MLD Snooping相关的端口概念: 路由器端口(Router Port):交换机上朝向三层组播设备(DR 或 MLD 查询器)一侧的端口, 如 Switch A 和 Switch B 各自的 Ethernet1/0/1 端口。交换机将本设备上的所有路由器端口都 记录在路由器端口列表中。 成员端口(Member Port):又称 IPv6 组播组成员端口,表示交换机上朝向 IPv6 组播组成员 一侧的端口,如 Switch A 的 Ethernet1/0/2 和 Ethernet1/0/3 端口,以及 Switch B 的 Ethernet1/0/2 端口。交换机将本设备上的所有成员端口都记录在 MLD Snooping 转发表中。

本文中提到的路由器端口都是指交换机上朝向组播路由器的端口,而不是指路由器上的端口。 如不特别指明,本文中提到的路由器/成员端口均包括动态和静态端口。 在运行了 MLD Snooping 的交换机上, 所有收到源地址不为 0::0 的 MLD 普遍组查询报文或 IPv6 PIM Hello 报文的端口都将被视为动态路由器端口。

2. MLD Snooping动态端口老化定时器 表1-1 MLD Snooping 动态端口老化定时器
定时器 动态路由器端 口老化定时器 说明 交换机为其每个动态路由器端口都启 动一个定时器, 其超时时间就是动态路 由器端口老化时间 超时前应收到的报文 源地址不为 0::0 的 MLD 普 遍组查询报文或 IPv6 PIM Hello 报文 超时后交换机的动作 将该端口从路由器端口 列表中删除

1-2

定时器 动态成员端口 老化定时器

说明

超时前应收到的报文

超时后交换机的动作 将该端口从 MLD Snooping 转发表中删 除

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

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 组播组所对应的转发表项,且其出端口列表中已包含该动态成员端口,则 重置其老化定时器。

1-3

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

3. 离开组播组 会通过发送 MLD 离开组报文, 以通知组播路由器自己离开了某个 IPv6 当主机离开 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 Proxying
为了减少上游设备收到的 MLD 报告报文和离开报文的数量,可以通过在边缘设备上配置 MLD Snooping Proxying(MLD Snooping 代理)功能,使其能够代理下游主机来向上游设备发送报告报 文和离开报文。配置了 MLD Snooping Proxying 功能的设备称为 MLD Snooping 代理设备,在其上 游设备看来,它就相当于一台主机。

尽管在其上游设备看来,MLD Snooping 代理设备相当于一台主机,但主机上的 MLD 成员关系报 告抑制机制在 MLD Snooping 代理设备上并不会生效。

1-4

图1-3 MLD Snooping Proxying 组网图

如 图 1-3所示,作为MLD Snooping代理设备的Switch A,对其上游的MLD查询器Router A来说相 当于一台主机,代理下游主机向Router A发送报告报文和离开报文。 MLD Snooping代理设备对MLD报文的处理方式如 表 1-2所示。 表1-2 MLD Snooping 代理设备对 MLD 报文的处理方式
MLD 报文类型 普遍组查询报文 处理方式 收到普遍组查询报文后,向本 VLAN 内除接收端口以外的所有端口转发;同时根据本地维护 的组成员关系生成报告报文,并向所有路由器端口发送 收到针对某 IPv6 组播组的特定组查询报文时,若该组对应的转发表项中还有成员端口,则 向所有路由器端口回复该组的报告报文 从某端口收到某 IPv6 组播组的报告报文时,若已存在该组对应的转发表项,且其出端口列 表中已包含该动态成员端口,则重置其老化定时器;若已存在该组对应的转发表项,但其出 端口列表中不包含该端口,则将该端口作为动态成员端口添加到出端口列表中,并启动其老 化定时器;若尚不存在该组对应的转发表项,则创建转发表项,将该端口作为动态成员端口 添加到出端口列表中,并启动其老化定时器,然后向所有路由器端口发送该组的报告报文 从某端口收到某 IPv6 组播组的离开报文后,向该端口发送针对该组的特定组查询报文。只 有当删除某 IPv6 组播组对应转发表项中的最后一个成员端口时,才会向所有路由器端口发 送该组的离开报文

特定组查询报文

报告报文

离开报文

1.1.5 协议规范
与 MLD Snooping 相关的协议规范有: RFC 4541:Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches

1-5

1.2 MLD Snooping配置任务简介
表1-3 MLD Snooping 配置任务简介
配置任务 使能 MLD Snooping 配置 MLD Snooping 基本功能 配置 MLD Snooping 版本 配置 IPv6 静态组播 MAC 地址表项 配置动态端口老化定时器 配置静态端口 配置 MLD Snooping 端口功能 配置模拟主机加入 配置端口快速离开 禁止端口成为动态路由器端口 使能 MLD Snooping 查询器 配置 MLD Snooping 查询器 配置 MLD 查询和响应 配置 MLD 查询报文源 IPv6 地址 使能 MLD Snooping Proxying 配置 MLD Snooping Proxying 配置代理发送 MLD 报文的源 IPv6 地址 配置 IPv6 组播组过滤器 配置丢弃未知 IPv6 组播数据报文 配置 MLD 成员关系报告报文抑制 配置 MLD Snooping 策略 配置端口加入的 IPv6 组播组最大数量 配置 IPv6 组播组替换 配置 MLD 报文的 802.1p 优先级 配置 IPv6 组播用户控制策略 可选 可选 可选 可选 可选 可选 可选 可选 1.6.3 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 说明 必选 可选 可选 可选 可选 可选 可选 可选 可选 可选 可选 可选 详细配置 1.3.2 1.3.3 1.3.4 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.5.2 1.5.3 1.5.4 1.6.2

对于 MLD Snooping 的相关配置来说:

1-6

MLD-Snooping 视图下的配置对所有 VLAN 都有效, VLAN 视图下的配置只对当前 VLAN 有效。 对于某 VLAN 来说,优先采用该 VLAN 视图下的配置,只有当在该 VLAN 视图下没有进行配置 时,才采用 MLD-Snooping 视图下的相应配置。 MLD-Snooping 视图下的配置对所有端口都有效;二层以太网端口视图下的配置只对当前端口 有效;二层聚合接口视图下的配置只对当前接口有效;端口组视图下的配置对当前端口组中的 所有端口有效。对于某端口来说,优先采用二层以太网端口视图、二层聚合接口视图或端口组 视图下的配置,只有当在上述视图下没有进行配置时,才采用 MLD-Snooping 视图下的相应配 置。 二层聚合接口与其各成员端口上的配置互不影响,且成员端口上的配置只有当该端口退出聚合 组后才会生效,二层聚合接口上的配置也不会参与聚合计算。

1.3 配置MLD Snooping基本功能
1.3.1 配置准备
在配置 MLD Snooping 基本功能之前,需完成以下任务: 配置相应 VLAN 在配置 MLD Snooping 基本功能之前,需准备以下数据: MLD Snooping 的版本

1.3.2 使能MLD Snooping
表1-4 使能 MLD Snooping
操作 进入系统视图 全局使能 MLD Snooping, 并进入 MLD-Snooping 视图 退回系统视图 进入 VLAN 视图 在 VLAN 内使能 MLD Snooping 命令 system-view mld-snooping quit vlan vlan-id mld-snooping enable 必选 缺省情况下,MLD Snooping 处于关闭状态 必选 缺省情况下, VLAN 内的 MLD Snooping 处于关闭状态 说明

在 VLAN 内使能 MLD Snooping 之前,必须先在系统视图下全局使能 MLD Snooping,否则将 无法在 VLAN 内使能 MLD Snooping。 在 VLAN 内使能 MLD Snooping 之后,不允许在该 VLAN 所对应的 VLAN 接口上再使能 MLD 和 IPv6 PIM,反之亦然。 在指定 VLAN 内使能了 MLD Snooping 之后,该功能只在属于该 VLAN 的端口上生效。

1-7

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-5 配置 MLD Snooping 版本
操作 进入系统视图 进入 VLAN 视图 配置 MLD Snooping 的版本 命令 system-view vlan vlan-id 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 配置IPv6 静态组播MAC地址表项
在二层组播中,除了可通过二层 IPv6 组播协议(如 MLD Snooping)动态建立 IPv6 组播 MAC 地 址表项外, 还可以通过手工方式配置 IPv6 组播 MAC 地址表项, 将端口与 IPv6 组播 MAC 地址进行 静态绑定,以便灵活控制 IPv6 组播信息送达的目的端口。 1. 系统视图下配置IPv6 静态组播MAC地址表项 表1-6 系统视图下配置 IPv6 静态组播 MAC 地址表项
操作 进入系统视图 system-view mac-address multicast mac-address interface interface-list vlan vlan-id 命令 必选 配置静态组播 MAC 地址表项 缺省情况下,没有配置静态组播 MAC 地址表项 说明

1-8

2. 接口视图下配置IPv6 静态组播MAC地址表项 表1-7 接口视图下配置 IPv6 静态组播 MAC 地址表项
操作 进入系统视图 进入以太网或二层 聚合接口视图 进入相 应视图 进入端口组视图 port-group manual port-group-name system-view interface interface-type interface-number 命令 二者必选其一 进入二层以太网端口或二层聚合 接口视图后,下面进行的配置只 在当前接口生效;进入端口组视 图后,下面进行的配置将在端口 组的所有接口生效 必选 配置静态组播 MAC 地址表项 mac-address multicast mac-address vlan vlan-id 缺省情况下,没有配置静态组播 MAC 地址表项 说明

有关 mac-address multicast 命令的详细介绍,请参见“IP 组播命令参考”中的“IGMP Snooping 配置命令”。 系统视图下的配置对指定接口有效,而接口视图下的配置只对当前接口(或当前端口组内的所 有接口)有效。 可手工配置的 IPv6 组播 MAC 地址表项为除 3333-xxxx-xxxx 以外的任意的 IPv6 组播 MAC 地 址(组播 MAC 地址就是最高字节的最低比特位为 1 的 MAC 地址),其中 x 代表 0~F 的任意 一个十六进制数。

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 组播组所对应转发表的出端口列表中删除。
1-9

如果 IPv6 组播组成员的变动比较频繁,可以把动态成员端口老化时间设置小一些,反之亦然。 1. 全局配置动态端口老化定时器 表1-8 全局配置动态端口老化定时器
操作 进入系统视图 进入 MLD-Snooping 视图 配置动态路由器端口老化时 间 配置动态成员端口老化时间 命令 system-view mld-snooping router-aging-time interval 可选 缺省情况下, 动态路由器端口的老化时间为 260 秒 可选 host-aging-time interval 缺省情况下,动态成员端口的老化时间为 260 秒 说明

2. 在VLAN内配置动态端口老化定时器 表1-9 在 VLAN 内配置动态端口老化定时器
操作 进入系统视图 进入 VLAN 视图 配置动态路由器端口老化时 间 配置动态成员端口老化时间 命令 system-view vlan vlan-id mld-snooping router-aging-time interval mld-snooping host-aging-time interval 可选 缺省情况下, 动态路由器端口的老化时间为 260 秒 可选 缺省情况下,动态成员端口的老化时间为 260 秒 说明

1.4.3 配置静态端口
如果某端口所连接的主机需要固定接收发往某 IPv6 组播组的 IPv6 组播数据,可以配置该端口静态 加入该 IPv6 组播组,成为静态成员端口。 可以通过将交换机上的端口配置为静态路由器端口,从而使交换机上所有收到的 IPv6 组播数据可 以通过该端口被转发出去。 表1-10 配置静态端口
操作 进入系统视图 进入相 应视图 进入以太网或二 层聚合接口视图 进入端口组视图 配置静态成员端口 system-view interface interface-type interface-number port-group manual port-group-name mld-snooping static-group ipv6-group-address [ source-ip ipv6-source-address ] vlan vlan-id mld-snooping static-router-port vlan vlan-id 必选 缺省情况下,端口不是静态成员端口 必选 缺省情况下, 端口不是静态路由器端口 命令 说明

二者必选其一

配置静态路由器端口

1-10

只有当 MLD Snooping 的版本为 2 时, 配置参数 source-ip ipv6-source-address 才会有实际的 意义。 静态成员端口不会对 MLD 查询器发出的查询报文进行响应;当配置静态成员端口或取消静态 成员端口的配置时,端口也不会主动发送 MLD 成员关系报告报文或 MLD 离开组报文。 静态成员端口和静态路由器端口都不会老化,只能通过相应的 undo 命令删除。

1.4.4 配置模拟主机加入
通常情况下,运行 MLD 的主机会对 MLD 查询器发出的查询报文进行响应。如果主机由于某种原因 无法响应,就可能导致组播路由器认为该网段没有该 IPv6 组播组的成员,从而取消相应的转发路 径。 为避免这种情况的发生,可以将交换机的端口配置成为 IPv6 组播组成员(即配置模拟主机加入)。 当收到 MLD 查询报文时由模拟主机进行响应,从而保证该交换机能够继续收到 IPv6 组播报文。 模拟主机加入功能的实现原理如下: 在某端口上使能模拟主机加入功能时,交换机会通过该端口主动发送一个 MLD 成员关系报告 报文; 在某端口上使能了模拟主机加入功能后,当收到 MLD 普遍组查询报文时,交换机会通过该端 口响应一个 MLD 成员关系报告报文; 在某端口上关闭模拟主机加入功能时,交换机会通过该端口发送一个 MLD 离开组报文。 表1-11 配置模拟主机加入
操作 进入系统视图 进入相 应视图 进入以太网或二 层聚合接口视图 进入端口组视图 配置模拟主机加入 IPv6 组 播组或组播源组 system-view interface interface-type interface-number 二者必选其一 port-group manual port-group-name mld-snooping host-join ipv6-group-address [ source-ip ipv6-source-address ] vlan vlan-id 必选 缺省情况下,没有配置模拟主机加 入 IPv6 组播组或组播源组 命令 说明

每配置一次模拟主机加入,即相当于启动了一台独立的主机。例如,当收到 MLD 查询报文时, 每条配置所对应的模拟主机将分别进行响应。 与静态成员端口不同,配置了模拟主机加入的端口会作为动态成员端口而参与动态成员端口的 老化过程。

1-11

1.4.5 配置端口快速离开
端口快速离开是指当交换机从某端口收到主机发送的离开某 IPv6 组播组的 MLD 离开组报文时,直 接把该端口从对应转发表项的出端口列表中删除。此后,当交换机收到对该 IPv6 组播组的 MLD 特 定组查询报文时,交换机将不再向该端口转发。 在交换机上, 在只连接有一个接收者的端口上, 可以通过使能端口快速离开功能来节约带宽和资源; 而在连接有多个接收者的端口上,如果交换机或该端口所在的 VLAN 已使能了丢弃未知 IPv6 组播 数据报文功能,则不要再使能端口快速离开功能,否则,一个接收者的离开将导致该端口下属于同 一 IPv6 组播组的其它接收者无法收到 IPv6 组播数据。 1. 全局配置端口快速离开 表1-12 全局配置端口快速离开
操作 进入系统视图 进入 MLD-Snooping 视图 使能端口快速离开功能 命令 system-view mld-snooping fast-leave [ vlan vlan-list ] 必选 缺省情况下,端口快速离开功能处于关闭状态 说明

2. 在端口上配置端口快速离开 表1-13 在端口上配置端口快速离开
操作 进入系统视图 进入相 应视图 进入以太网或二 层聚合接口视图 进入端口组视图 system-view interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选 使能端口快速离开功能 mld-snooping fast-leave [ vlan vlan-list ] 缺省情况下,端口快速离开功能处 于关闭状态 命令 说明

1.4.6 禁止端口成为动态路由器端口
目前,在 IPv6 组播用户接入网络中存在以下问题: 如果交换机收到了某用户主机发来的 MLD 普遍组查询报文或 IPv6 PIM Hello 报文,那么该主 机所在的端口就将成为动态路由器端口,从而使 VLAN 内的所有 IPv6 组播报文都会向该端口 转发,导致该用户主机收到的 IPv6 组播报文失控。 同时,用户主机发送 MLD 普遍组查询报文或 IPv6 PIM Hello 报文,也会影响该接入网络中三 层设备上的 IPv6 组播路由协议状态(如影响 MLD 查询器或 DR 的选举),严重时可能导致 网络中断。 当禁止某端口成为动态路由器端口后,即使该端口收到了 MLD 普遍组查询报文或 IPv6 PIM Hello 报文, 该端口也不会成为动态路由器端口, 从而能够有效解决上述问题, 提高网络的安全性和对 IPv6 组播用户的控制能力。

1-12

表1-14 禁止端口成为动态路由器端口
操作 进入系统视图 进入相 应视图 进入以太网或二 层聚合接口视图 进入端口组视图 禁止端口成为动态路由器端 口 system-view interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选 mld-snooping router-port-deny [ vlan vlan-list ] 缺省情况下, 不禁止端口成为 动态路由器端口 命令 说明

本配置与静态路由器端口的配置互不影响。

1.5 配置MLD Snooping查询器
1.5.1 配置准备
在配置 MLD Snooping 查询器之前,需完成以下任务: 在 VLAN 内使能 MLD Snooping 在配置 MLD Snooping 查询器之前,需准备以下数据: 发送 MLD 普遍组查询报文的时间间隔 发送 MLD 特定组查询报文的时间间隔 MLD 普遍组查询的最大响应时间 MLD 普遍组查询报文的源 IPv6 地址 MLD 特定组查询报文的源 IPv6 地址

1.5.2 使能MLD Snooping查询器
在运行了 MLD 的 IPv6 组播网络中,会有一台三层组播设备充当 MLD 查询器,负责发送 MLD 查询 报文,使三层组播设备能够在网络层建立并维护 IPv6 组播转发表项,从而在网络层正常转发 IPv6 组播数据。 但是,在一个没有三层组播设备的网络中,由于二层设备并不支持 MLD,因此无法实现 MLD 查询 器的相关功能。为了解决这个问题,可以在二层设备上使能 MLD Snooping 查询器,使二层设备能 够在数据链路层建立并维护 IPv6 组播转发表项,从而在数据链路层正常转发 IPv6 组播数据。 表1-15 使能 MLD Snooping 查询器
操作 进入系统视图 进入 VLAN 视图 命令 system-view vlan vlan-id 说明

1-13

操作 使能 MLD Snooping 查询器

命令 必选 mld-snooping querier

说明

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

尽管 MLD Snooping 查询器并不参与 MLD 查询器的选举,但在运行了 MLD 的 IPv6 组播网络中, 配置 MLD Snooping 查询器不但没有实际的意义,反而可能会由于其发送的 MLD 普遍组查询报文 的源 IPv6 地址较小而影响 MLD 查询器的选举。

1.5.3 配置MLD查询和响应
可以根据网络的实际情况来修改发送 MLD 普遍组查询报文的时间间隔。 在收到 MLD 查询报文(包括普遍组查询和特定组查询)后,主机会为其所加入的每个 IPv6 组播组 都启动一个定时器,定时器的值在 0 到最大响应时间(该时间值由主机从所收到的 MLD 查询报文 的最大响应时间字段获得)中随机选定,当定时器的值减为 0 时,主机就会向该定时器对应的 IPv6 组播组发送 MLD 成员关系报告报文。 合理配置 MLD 查询的最大响应时间,既可以使主机对 MLD 查询报文做出快速响应,又可以减少由 于定时器同时超时,造成大量主机同时发送报告报文而引起的网络拥塞: 对于 MLD 普遍组查询报文来说,通过配置 MLD 普遍组查询的最大响应时间来填充其最大响 应时间字段; 对于 MLD 特定组查询报文来说,所配置的发送 MLD 特定组查询报文的时间间隔将被填充到 其最大响应时间字段。 也就是说, MLD 特定组查询的最大响应时间从数值上与发送 MLD 特定 组查询报文的时间间隔相同。 1. 全局配置MLD查询和响应 表1-16 全局配置 MLD 查询和响应
操作 进入系统视图 进入 MLD-Snooping 视图 配置 MLD 普遍组查询的最 大响应时间 system-view mld-snooping 命令 可选 max-response-time interval 缺省情况下, MLD 普遍组查询的最大响应 时间为 10 秒 可选 last-listener-query-interval interval 缺省情况下,发送 MLD 特定组查询报文 的时间间隔为 1 秒 说明

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

1-14

2. 在VLAN内配置MLD查询和响应 表1-17 在 VLAN 内配置 MLD 查询和响应
操作 进入系统视图 进入 VLAN 视图 配置发送 MLD 普遍组 查询报文的时间间隔 system-view vlan vlan-id 命令 可选 mld-snooping query-interval interval 缺省情况下, 发送 MLD 普遍组查询报 文的时间间隔为 125 秒 可选 mld-snooping max-response-time interval 缺省情况下, MLD 普遍组查询的最大 响应时间为 10 秒 可选 mld-snooping last-listener-query-interval interval 缺省情况下, 发送 MLD 特定组查询报 文的时间间隔为 1 秒 说明

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

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

应确保发送 MLD 普遍组查询报文的时间间隔大于 MLD 普遍组查询的最大响应时间, 否则有可能造 成对 IPv6 组播组成员的误删。

1.5.4 配置MLD查询报文源IPv6 地址
可以通过此项配置改变 MLD 查询报文的源 IPv6 地址。 表1-18 配置 MLD 查询报文源 IPv6 地址
操作 进入系统视图 进入 VLAN 视图 配置 MLD 普遍组查 询报文源 IPv6 地址 system-view vlan vlan-id mld-snooping general-query source-ip { ipv6-address | current-interface } 命令 可选 缺省情况下, MLD 普遍组查询报文的源 IPv6 地址为 FE80::02FF:FFFF:FE00:0001 可选 mld-snooping special-query source-ip { ipv6-address | current-interface } 缺省情况下, MLD 特定组查询报文的源 IPv6 地址为 FE80::02FF:FFFF:FE00:0001 说明

配置 MLD 特定组查 询报文源 IPv6 地址

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

1-15

1.6 配置MLD Snooping Proxying
1.6.1 配置准备
在配置 MLD Snooping Proxying 之前,需完成以下任务: 在 VLAN 内使能 MLD Snooping 在配置 MLD Snooping Proxying 之前,需准备以下数据: 代理发送 MLD 报告报文的源 IPv6 地址 代理发送 MLD 离开报文的源 IPv6 地址

1.6.2 使能MLD Snooping Proxying
当在有组播需求的 VLAN 内使能了 MLD Snooping 代理功能后,该设备就成为该 VLAN 内的 MLD Snooping 代理设备。 表1-19 使能 MLD Snooping Proxying
操作 进入系统视图 进入 VLAN 视图 在 VLAN 内使能 MLD Snooping 代理功能 system-view vlan vlan-id 命令 必选 mld-snooping proxying enable 缺省情况下,VLAN 内的 MLD Snooping 代理功能处于关闭状态 说明

1.6.3 配置代理发送MLD报文的源IPv6 地址
通过本配置可以改变代理发送的 MLD 报告报文和离开报文的源 IPv6 地址。 表1-20 配置代理发送 MLD 报文的源 IPv6 地址
操作 进入系统视图 进入 VLAN 视图 配置代理发送 MLD 报告 报文的源 IPv6 地址 配置代理发送 MLD 离开 报文的源 IPv6 地址 system-view vlan vlan-id mld-snooping report source-ip { ipv6-address | current-interface } mld-snooping done source-ip { ipv6-address | current-interface } 命令 必选 缺省情况下,代理发送 MLD 报告报文的源 IPv6 地址为 FE80::02FF:FFFF:FE00:0001 缺省情况下,代理发送 MLD 离开报文的源 IPv6 地址为 FE80::02FF:FFFF:FE00:0001 说明

1.7 配置MLD Snooping策略
1.7.1 配置准备
在配置 MLD Snooping 策略之前,需完成以下任务: 在 VLAN 内使能 MLD Snooping
1-16

在配置 MLD Snooping 策略之前,需准备以下数据: IPv6 组播组过滤的 IPv6 ACL 规则 允许端口通过的 IPv6 组播组最大数量 MLD 报文的 802.1p 优先级

1.7.2 配置IPv6 组播组过滤器
在使能了 MLD Snooping 的交换机上,通过配置 IPv6 组播组过滤器,可以限制用户对组播节目的 点播。 在实际应用中,当用户点播某个组播节目时,主机会发起一个 MLD 成员关系报告报文,该报文到 达交换机后,进行 ACL 检查:如果该接收端口可以加入这个 IPv6 组播组,则将其列入到 MLD Snooping 转发表中;否则交换机就丢弃该报文。这样,未通过 ACL 检查的 IPv6 组播数据就不会送 到该端口,从而达到控制用户点播组播节目的目的。 1. 全局配置IPv6 组播组过滤器 表1-21 全局配置 IPv6 组播组过滤器
操作 进入系统视图 进入 MLD-Snooping 视图 system-view mld-snooping 命令 必选 配置 IPv6 组播组过滤器 group-policy acl6-number [ vlan vlan-list ] 缺省情况下,没有配置全局 IPv6 组播组过滤 器,即各 VLAN 内主机可以加入任意合法的 IPv6 组播组 说明

2. 在端口上配置IPv6 组播组过滤器 表1-22 在端口上配置 IPv6 组播组过滤器
操作 进入系统视图 进入相 应视图 进入以太网或二 层聚合接口视图 进入端口组视图 system-view interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选 配置 IPv6 组播组过滤器 mld-snooping group-policy acl6-number [ vlan vlan-list ] 缺省情况下, 端口上没有配置 IPv6 组播组过滤器,即该端口下的主机 可以加入任意合法的 IPv6 组播组 命令 说明

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

1-17

此时用户可以在交换机上启动丢弃未知 IPv6 组播数据报文功能,当交换机收到未知 IPv6 组播数据 报文时,只向其路由器端口转发,不在 VLAN 内广播。如果交换机没有路由器端口,IPv6 数据报文 会被丢弃,不再转发。 表1-23 全局配置丢弃未知 IPv6 组播数据报文
操作 进入系统视图 进入 MLD-Snooping 视图 使能丢弃未知 IPv6 组播数据 报文功能 命令 system-view mld-snooping 必选 drop-unknown 缺省情况下,丢弃未知 IPv6 组播数据报文的功能处于 关闭状态,即对未知 IPv6 组播数据报文进行广播 说明

1.7.4 配置MLD成员关系报告报文抑制
当二层设备收到来自某 IPv6 组播组成员的 MLD 成员关系报告报文时,会将该报文转发给与其直连 的三层设备。这样,当二层设备上存在属于某 IPv6 组播组的多个成员时,与其直连的三层设备会 收到这些成员发送的相同 MLD 成员关系报告报文。 当使能了 MLD 成员关系报告报文抑制功能后,在一个查询间隔内二层设备只会把收到的某 IPv6 组 播组内的第一个 MLD 成员关系报告报文转发给三层设备,而不继续向三层设备转发来自同一组播 组的其它 MLD 成员关系报告报文,这样可以减少网络中的报文数量。 表1-24 配置 MLD 成员关系报告报文抑制
操作 进入系统视图 进入 MLD-Snooping 视图 使能 MLD 成员关系报告 报文抑制功能 命令 system-view mld-snooping report-aggregation 可选 缺省情况下, MLD 成员关系报告报文抑制功能处于使能状态 说明

在 MLD Snooping 代理设备上, 不论是否使能了 MLD 成员关系报告报文抑制功能, 只要存在某 IPv6 组播组对应的转发表项,就会将从下游收到的针对该组的报告报文都抑制掉。

1.7.5 配置端口加入的IPv6 组播组最大数量
通过配置允许端口加入的 IPv6 组播组的最大数量,可以限制用户点播组播节目的数量,从而控制 了端口上的数据流量。 表1-25 配置端口加入的 IPv6 组播组最大数量
操作 进入系统视图 system-view 命令 说明

1-18

操作 进入相 应视图 进入以太网或二 层聚合接口视图 进入端口组视图 配置允许端口加入的 IPv6 组播组最大数量

命令 interface interface-type interface-number 二者必选其一 port-group manual port-group-name 可选 mld-snooping group-limit limit [ vlan vlan-list ]

说明

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

在对允许端口加入的 IPv6 组播组最大数量进行配置时,如果当前端口上的 IPv6 组播组数量已经超 过了配置值,系统将把该端口相关的所有转发表项从 MLD Snooping 转发表中删除,该端口上的主 机需要重新加入 IPv6 组播组。但如果为该端口配置了静态成员端口或者模拟主机加入,系统在把 该端口相关的所有转发表项删除后,会把这些配置重新生效一次,直至该端口所加入的组播组数量 达到限制值为止。

1.7.6 配置IPv6 组播组替换
由于某些特殊的原因,当前交换机或端口上通过的 IPv6 组播组数目有可能会超过交换机或该端口 的限定;另外,在某些特定的应用中,交换机上新加入的 IPv6 组播组需要自动替换已存在的 IPv6 组播组(一个典型的应用就是“频道切换”,即用户通过加入一个新的 IPv6 组播组就能完成离开 原 IPv6 组播组并切换到新 IPv6 组播组的动作)。 针对以上情况,可以在交换机或者某些端口上使能 IPv6 组播组替换功能。当交换机或端口上加入 的 IPv6 组播组数量已达到限定值时: 若使能了 IPv6 组播组替换功能,则新加入的 IPv6 组播组会自动替代已存在的 IPv6 组播组, 替代规则是替代 IPv6 地址最小的 IPv6 组播组; 若没有使能 IPv6 组播组替换功能,则自动丢弃新的 MLD 成员关系报告报文。 1. 全局配置IPv6 组播组替换 表1-26 全局配置 IPv6 组播组替换
操作 进入系统视图 进入 MLD-Snooping 视图 system-view mld-snooping 命令 必选 使能 IPv6 组播组替换功能 overflow-replace [ vlan vlan-list ] 缺省情况下, IPv6 组播组替换功能处于关闭 状态 说明

1-19

2. 在端口上配置IPv6 组播组替换 表1-27 在端口上配置 IPv6 组播组替换
操作 进入系统视图 进入相 应视图 进入以太网或二 层聚合接口视图 进入端口组视图 system-view interface interface-type interface-number 二者必选其一 port-group manual port-group-name 必选 使能 IPv6 组播组替换功能 mld-snooping overflow-replace [ vlan vlan-list ] 缺省情况下,IPv6 组播组替换功能 处于关闭状态 命令 说明

在使能IPv6 组播组替换功能之前,必须首先配置端口通过的IPv6 组播组的最大数量(具体配置过 程请参见“1.7.5 配置端口加入的IPv6 组播组最大数量”),否则IPv6 组播组替换功能将不能生效。

1.7.7 配置MLD报文的 802.1p优先级
可以通过本配置来改变 MLD 报文的 802.1p 优先级。当交换机的出端口发生拥塞时,交换机通过识 别报文的 802.1p 优先级,优先发送优先级较高的报文。 1. 全局配置MLD报文的 802.1p优先级 表1-28 全局配置 MLD 报文的 802.1p 优先级
操作 进入系统视图 进入 MLD-Snooping 视图 system-view mld-snooping 命令 必选 配置 MLD 报文的 802.1p 优先级 dot1p-priority priority-number 缺省情况下,MLD 报文的 802.1p 优 先级为 0 说明

2. 在VLAN内配置MLD报文的 802.1p优先级 表1-29 在 VLAN 内配置 MLD 报文的 802.1p 优先级
操作 进入系统视图 进入 VLAN 视图 system-view vlan vlan-id mld-snooping dot1p-priority priority-number 命令 必选 配置 MLD 报文的 802.1p 优先级 缺省情况下,MLD 报文的 802.1p 优 先级为 0 说明

1-20

1.7.8 配置IPv6 组播用户控制策略
IPv6 组播用户控制策略通常配置在接入交换机上,是基于用户权限控制来实现的,即只有通过授权 的用户才能收到相应的 IPv6 组播流,从而达到限制用户对 IPv6 组播节目点播的目的。在实际应用 中,用户先要通过接入交换机向 RADIUS 服务器发起认证(如 802.1X 认证),当认证通过后再根 据用户的点播行为进行策略检查: 当用户点播 IPv6 组播节目时,主机会发送 MLD 成员关系报告报文,接入交换机收到该报文 后对其携带的 IPv6 组播组和 IPv6 组播源地址进行策略检查, 若该报文通过检查则允许该用户 加入该 IPv6 组播组;否则,接入交换机将丢弃该报文。 当用户停止点播 IPv6 组播节目时,主机会发送 MLD 离开报文,接入交换机收到该报文后对 其携带的 IPv6 组播组和 IPv6 组播源地址进行策略检查, 若该报文通过检查则允许该用户离开 该 IPv6 组播组;否则,接入交换机将丢弃该报文。 表1-30 配置 IPv6 组播用户控制策略
操作 进入系统视图 创建 User Profile,并进 入 User-Profile 视图 配置 IPv6 组播用户控制 策略 退回系统视图 激活该 User Profile 命令 system-view user-profile profile-name 必选 mld-snooping access-policy acl6-number quit user-profile profile-name enable 缺省情况下, 没有配置 IPv6 组播用户控制策略, 即用 户可以加入/离开任意合法的 IPv6 组播组 必选 缺省情况下,User Profile 处于未激活状态 说明

有关 user-profile 和 user-profile enable 命令的详细介绍, 请参见 “安全命令参考” “User 中的 Profile 配置命令”。 IPv6 组播用户控制策略与 IPv6 组播组过滤器在功能上类似,二者的区别在于:前者是基于用 户权限的组播控制,需要与认证、授权功能结合使用,能够控制组播用户的加入与离开;后者 是基于设备端口的组播控制,无需与认证、授权功能结合使用,只能控制组播用户的加入。

1.8 MLD Snooping显示和维护
在完成上述配置后,在任意视图下执行 display 命令可以显示配置后 MLD Snooping 的运行情况, 通过查看显示信息验证配置的效果。 在用户视图下执行 reset 命令可以清除 IPv6 组播组信息。

1-21

表1-31 MLD Snooping 显示和维护
配置 查看 MLD Snooping 组播组的信息 查看 MLD Snooping 监听到的 MLD 报文的统计信息 查看 IPv6 静态组播 MAC 地址表信 息 清除动态加入的 MLD Snooping 组 记录 清除 MLD Snooping 监听到的所有 MLD 报文的统计信息 命令 display mld-snooping group [ vlan vlan-id ] [ slot slot-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] display mld-snooping statistics [ | { begin | exclude | include } regular-expression ] display mac-address [ mac-address [ vlan vlan-id ] | [ multicast ] [ vlan vlan-id ] [ count ] ] [ | { begin | exclude | include } regular-expression ] reset mld-snooping group { ipv6-group-address | all } [ vlan vlan-id ]

reset mld-snooping statistics

reset mld-snooping group 命令只对使能了 MLD Snooping 的 VLAN 有效,而对 VLAN 接口 上使能了 MLD 的 VLAN 无效。 reset mld-snooping group 只对动态加入的 MLD Snooping 组有效,对静态加入的 MLD Snooping 组无效。 有关 display mac-address multicast 命令的详细介绍, 请参见 “IP 组播命令参考” “IGMP 中的 Snooping 配置命令”。

1.9 MLD Snooping典型配置举例
1.9.1 IPv6 组策略及模拟主机加入配置举例
1. 组网需求 如 图 1-4所示, Router A通过Ethernet1/0/2 接口连接IPv6 组播源 (Source)通过Ethernet1/0/1 , 接口连接Switch A; Router A 上运行 MLDv1, Switch A 上运行版本 1 的 MLD Snooping, 并由 Router A 充当 MLD 查询器; 通过配置,使连接在 Switch A 上的接收者(Receiver)Host A 和 Host B 只能接收发往 IPv6 组播组 FF1E::101 的 IPv6 组播数据; 通过配置, Host A 和 Host B 即使由于某种意外而临时中断接收 IPv6 组播数据时, 使 发往 IPv6 组播组 FF1E::101 的 IPv6 组播数据也能够不间断地通过 Switch A 的接口 Ethernet1/0/3 和 Ethernet1/0/4 转发出去。

1-22

2. 组网图 图1-4 IPv6 组策略及模拟主机加入配置组网图

Receiver Host A

Source
Eth1/0/2 1::2/64 Eth1/0/1 2001::1/64 Eth1/0/4 Eth1/0/1 Eth1/0/3

Receiver

1::1/64

Router A MLD querier

Switch A

Eth1/0/2

Host B

Host C VLAN 100

3. 配置步骤 (1) (2) 使能 IPv6 转发功能,并配置 IPv6 地址 配置 Router A 使能各设备的IPv6 转发功能,并按照 图 1-4配置各接口的IPv6 地址和前缀长度,具体配置过程略。 # 使能 IPv6 组播路由,在各接口上使能 IPv6 PIM-DM,并在接口 Ethernet1/0/1 上使能 MLD。
<RouterA> system-view [RouterA] multicast ipv6 routing-enable [RouterA] interface ethernet 1/0/1 [RouterA-Ethernet1/0/1] mld enable [RouterA-Ethernet1/0/1] pim ipv6 dm [RouterA-Ethernet1/0/1] quit [RouterA] interface ethernet 1/0/2 [RouterA-Ethernet1/0/2] pim ipv6 dm [RouterA-Ethernet1/0/2] quit

(3)

配置 Switch A

# 全局使能 MLD Snooping,并使能丢弃未知 IPv6 组播数据报文功能。
<SwitchA> system-view [SwitchA] mld-snooping [SwitchA-mld-snooping] drop-unknown [SwitchA-mld-snooping] quit

# 创建 VLAN 100,把端口 Ethernet1/0/1 到 Ethernet1/0/4 添加到该 VLAN 中;在该 VLAN 内使能 MLD Snooping。
[SwitchA] vlan 100 [SwitchA-vlan100] port ethernet 1/0/1 to ethernet 1/0/4 [SwitchA-vlan100] mld-snooping enable [SwitchA-vlan100] quit

# 配置 IPv6 组播组过滤器,以限定 VLAN 100 内的主机只能加入 IPv6 组播组 FF1E::101。
[SwitchA] acl ipv6 number 2001

1-23

[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

# 在 Ethernet1/0/3 和 Ethernet1/0/4 上分别配置模拟主机加入 IPv6 组播组 FF1E::101。
[SwitchA] interface ethernet 1/0/3 [SwitchA-Ethernet1/0/3] mld-snooping host-join ff1e::101 vlan 100 [SwitchA-Ethernet1/0/3] quit [SwitchA] interface ethernet 1/0/4 [SwitchA-Ethernet1/0/4] mld-snooping host-join ff1e::101 vlan 100 [SwitchA-Ethernet1/0/4] quit

(4)

检验配置效果

# 查看 Switch A 上 VLAN 100 内 MLD Snooping 组播组的详细信息。
[SwitchA] display mld-snooping group vlan 100 verbose Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Router port(s):total 1 port(s). Eth1/0/1 IP group address:FF1E::101 (::, FF1E::101): Attribute: Host Port Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/4 MAC group(s): MAC group address:3333-0000-0101 Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/4 (D) ( 00:03:23 ) (D) ( 00:04:10 ) (D) ( 00:01:30 )

IP group(s):the following ip group(s) match to one mac group.

由此可见,Switch A 上的端口 Ethernet1/0/3 和 Ethernet1/0/4 已经加入了 IPv6 组播组 FF1E::101。

1.9.2 静态端口配置举例
1. 组网需求 如 图 1-5所示, Router A通过Ethernet1/0/2 接口连接IPv6 组播源 (Source)通过Ethernet1/0/1 , 接口连接Switch A; Router A 上运行 MLDv1,Switch A、Switch B 和 Switch C 上运行版本 1 的 MLD Snooping, 并由 Router A 充当 MLD 查询器;

1-24

Host A 和 Host C 均为 IPv6 组播组 FF1E::101 的固定接收者(Receiver),通过将 Switch C 上的端口 Ethernet1/0/3 和 Ethernet1/0/5 配置为 IPv6 组播组 FF1E::101 的静态成员端口,可 以增强 IPv6 组播数据在传输过程中的可靠性; 假设由于受 STP 等链路层协议的影响,为了避免出现环路,Switch A—Switch C 的转发路径 在正常情况下是阻断的,IPv6 组播数据只能通过 Switch A—Switch B—Switch C 的路径传递 给连接在 Switch C 上的接收者; 要求通过将 Switch A 上连接 Switch C 的端口 Ethernet1/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,生成树协议)的详细介绍,请参见“二层技术-以太网交换配 置指导”中的“MSTP 配置”。

2. 组网图 图1-5 静态端口配置组网图
Switch B
/1 1/0 Eth

Source
Eth1/0/2 1::2/64 Eth1/0/1 2001::1/64

Switch A
Eth1/0/1

/2 1/0 Eth Eth 1/0 /3 Eth 1/0 /1

1::1/64

Eth1/0/2

Router A MLD querier

Eth1/0/2

Switch C
Eth 1/0 /3

Host C Receiver VLAN 100 Host B

Eth1/0/4

/5 1/0 Eth

Host A Receiver

3. 配置步骤 (1) (2) 使能 IPv6 转发功能,并配置 IPv6 地址 配置 Router A 使能各设备的IPv6 转发功能,并按照 图 1-5配置各接口的IPv6 地址和前缀长度,具体配置过程略。 # 使能 IPv6 组播路由,在各接口上使能 IPv6 PIM-DM,并在接口 Ethernet1/0/1 上使能 MLD。
<RouterA> system-view

1-25

[RouterA] multicast ipv6 routing-enable [RouterA] interface ethernet 1/0/1 [RouterA-Ethernet1/0/1] mld enable [RouterA-Ethernet1/0/1] pim ipv6 dm [RouterA-Ethernet1/0/1] quit [RouterA] interface ethernet 1/0/2 [RouterA-Ethernet1/0/2] pim ipv6 dm [RouterA-Ethernet1/0/2] quit

(3)

配置 Switch A

# 全局使能 MLD Snooping。
<SwitchA> system-view [SwitchA] mld-snooping [SwitchA-mld-snooping] quit

# 创建 VLAN 100,把端口 Ethernet1/0/1 到 Ethernet1/0/3 添加到该 VLAN 中,并在该 VLAN 内使 能 MLD Snooping。
[SwitchA] vlan 100 [SwitchA-vlan100] port ethernet 1/0/1 to ethernet 1/0/3 [SwitchA-vlan100] mld-snooping enable [SwitchA-vlan100] quit

# 把 Ethernet1/0/3 配置为静态路由器端口。
[SwitchA] interface ethernet 1/0/3 [SwitchA-Ethernet1/0/3] mld-snooping static-router-port vlan 100 [SwitchA-Ethernet1/0/3] quit

(4)

配置 Switch B

# 全局使能 MLD Snooping。
<SwitchB> system-view [SwitchB] mld-snooping [SwitchB-mld-snooping] quit

# 创建 VLAN 100,把端口 Ethernet1/0/1 和 Ethernet1/0/2 添加到该 VLAN 中,并在该 VLAN 内使 能 MLD Snooping。
[SwitchB] vlan 100 [SwitchB-vlan100] port ethernet 1/0/1 ethernet 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,把端口 Ethernet1/0/1 到 Ethernet1/0/5 添加到该 VLAN 中,并在该 VLAN 内使 能 MLD Snooping。
[SwitchC] vlan 100 [SwitchC-vlan100] port ethernet 1/0/1 to ethernet 1/0/5 [SwitchC-vlan100] mld-snooping enable [SwitchC-vlan100] quit

# 分别在端口 Ethernet1/0/3 和 Ethernet1/0/5 上配置静态加入 IPv6 组播组 FF1E::101。
[SwitchC] interface Ethernet 1/0/3

1-26

[SwitchC-Ethernet1/0/3] mld-snooping static-group ff1e::101 vlan 100 [SwitchC-Ethernet1/0/3] quit [SwitchC] interface Ethernet 1/0/5 [SwitchC-Ethernet1/0/5] mld-snooping static-group ff1e::101 vlan 100 [SwitchC-Ethernet1/0/5] quit

(6)

检验配置效果

# 查看 Switch A 上 VLAN 100 内 MLD Snooping 组播组的详细信息。
[SwitchA] display mld-snooping group vlan 100 verbose Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s).

Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Router port(s):total 2 port(s). Eth1/0/1 Eth1/0/3 IP group address:FF1E::101 (::, FF1E::101): Attribute: Host Port Host port(s):total 1 port(s). Eth1/0/2 MAC group(s): MAC group address:3333-0000-0101 Host port(s):total 1 port(s). Eth1/0/2 (D) ( 00:03:23 ) (D) ( 00:01:30 ) (S)

IP group(s):the following ip group(s) match to one mac group.

由此可见,Switch A 上的端口 Ethernet1/0/3 已经成为了静态路由器端口。 # 查看 Switch C 上 VLAN 100 内 MLD Snooping 组播组的详细信息。
[SwitchC] display mld-snooping group vlan 100 verbose Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s).

Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Router port(s):total 1 port(s). Eth1/0/2 (D) ( 00:01:23 ) IP group(s):the following ip group(s) match to one mac group. IP group address:FF1E::101 (::, FF1E::101): Attribute: Host Port

1-27

Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/5 MAC group(s): MAC group address:3333-0000-0101 Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/5 (S) (S)

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

1.9.3 MLD Snooping查询器配置举例
1. 组网需求 如 图 1-6所示,在一个没有三层设备的纯二层网络环境中,IPv6 组播源Source 1 和Source 2 分别向IPv6 组播组FF1E::101 和FF1E::102 发送IPv6 组播数据,Host A和Host C是IPv6 组播 组FF1E::101 的接收者(Receiver),Host B和Host D则是IPv6 组播组FF1E::102 的接收者; 所有接收者均使用 MLDv1,所有交换机上都运行版本 1 的 MLD Snooping,并选择距 IPv6 组 播源较近的 Switch A 来充当 MLD Snooping 查询器; 为了防止交换机在没有二层 IPv6 组播转发表项时将 IPv6 组播数据在 VLAN 内广播,要求在 所有交换机上都使能丢弃未知 IPv6 组播数据报文的功能。 2. 组网图 图1-6 MLD Snooping 查询器配置组网图
VLAN 100 Source 1
1::10/64

Source 2
1::20/64

Receiver
Eth1/0/2 Eth1/0/1 Eth1/0/3 Eth1/0/3 Eth1/0/2 Eth1/0/1 Eth1/0/4

Receiver

Host A

Switch A Querier

Switch B

Host B

Receiver
Eth1/0/2 Eth1/0/1 Eth1/0/2 Eth1/0/3 Eth1/0/1

Receiver

Host D

Switch D

Switch C

Host C

3. 配置步骤 (1) 配置 Switch A # 使能 IPv6 转发功能,全局使能 MLD Snooping,并使能丢弃未知 IPv6 组播数据报文功能。
<SwitchA> system-view [SwitchA] ipv6 [SwitchA] mld-snooping [SwitchA-mld-snooping] drop-unknown

1-28

[SwitchA-mld-snooping] quit

# 创建 VLAN 100,并把端口 Ethernet1/0/1 到 Ethernet1/0/3 添加到该 VLAN 中。
[SwitchA] vlan 100 [SwitchA-vlan100] port ethernet 1/0/1 to ethernet 1/0/3

# 在 VLAN 100 内使能 MLD Snooping。
[SwitchA-vlan100] mld-snooping enable

# 在 VLAN 100 内使能 MLD Snooping 查询器。
[SwitchA-vlan100] mld-snooping querier [SwitchA-vlan100] quit

(2)

配置 Switch B

# 使能 IPv6 转发功能,全局使能 MLD Snooping,并使能丢弃未知 IPv6 组播数据报文功能。
<SwitchB> system-view [SwitchB] ipv6 [SwitchB] mld-snooping [SwitchB-mld-snooping] drop-unknown [SwitchB-mld-snooping] quit

# 创建 VLAN 100,并把端口 Ethernet1/0/1 到 Ethernet1/0/4 添加到该 VLAN 中。
[SwitchB] vlan 100 [SwitchB-vlan100] port ethernet 1/0/1 to ethernet 1/0/4

# 在 VLAN 100 内使能 MLD Snooping。
[SwitchB-vlan100] mld-snooping enable [SwitchB-vlan100] quit

Switch C 和 Switch D 的配置与 Switch B 相似,配置过程略。 (3) 检验配置效果 当 MLD Snooping 查询器开始工作之后,除查询器以外的所有交换机都能收到 MLD 普遍组查询报 文。通过使用 display mld-snooping statistics 命令可以查看 MLD 报文的统计信息,例如: # 查看 Switch B 上收到的 MLD 报文的统计信息。
[SwitchB] display mld-snooping statistics Received MLD general queries:3. Received MLDv1 specific queries:0. Received MLDv1 reports:12. Received MLD dones:0. Sent MLDv1 specific queries:0.

Received MLDv2 reports:0. Received MLDv2 reports with right and wrong records:0. Received MLDv2 specific queries:0. Received MLDv2 specific sg queries:0. Sent Sent MLDv2 specific queries:0. MLDv2 specific sg queries:0.

Received error MLD messages:0.

1.9.4 MLD Snooping Proxying配置举例
1. 组网需求 如 图 1-7所示, Router A通过Ethernet1/0/2 接口连接IPv6 组播源 (Source)通过Ethernet1/0/1 , 接口连接Switch A;

1-29

Router A 上运行 MLDv1, Switch A 上运行版本 1 的 MLD Snooping, 并由 Router A 充当 MLD 查询器; 通过配置,使 Switch A 能够代理下游主机向 Router A 发送的 MLD 报告报文和离开报文,以 及响应 Router A 发来的 MLD 查询报文并向下游主机转发。 2. 组网图 图1-7 MLD Snooping Proxying 配置组网图

Receiver Host A

Source
Eth1/0/2 1::2/64 Eth1/0/1 2001::1/64 Eth1/0/4 Eth1/0/1 Eth1/0/3

Receiver

1::1/64

Router A MLD querier

Switch A Eth1/0/2 Proxy & Querier

Host B

Host C VLAN 100

3. 配置步骤 (1) (2) 配置 IPv6 地址 配置 Router A 使能各设备的IPv6 转发功能,并按照 图 1-7配置各接口的IPv6 地址和前缀长度,具体配置过程略。 # 使能 IPv6 组播路由,在各接口上使能 IPv6 PIM-DM,并在接口 Ethernet1/0/1 上使能 MLD。
<RouterA> system-view [RouterA] multicast ipv6 routing-enable [RouterA] interface ethernet 1/0/1 [RouterA-Ethernet1/0/1] mld enable [RouterA-Ethernet1/0/1] pim ipv6 dm [RouterA-Ethernet1/0/1] quit [RouterA] interface ethernet 1/0/2 [RouterA-Ethernet1/0/2] pim ipv6 dm [RouterA-Ethernet1/0/2] quit

(3)

配置 Switch A

# 全局使能 MLD Snooping。
<SwitchA> system-view [SwitchA] mld-snooping [SwitchA-mld-snooping] quit

# 创建 VLAN 100,把端口 Ethernet1/0/1 到 Ethernet1/0/4 添加到该 VLAN 中;在该 VLAN 内使能 MLD Snooping,并使能 MLD Snooping Proxying。
[SwitchA] vlan 100 [SwitchA-vlan100] port ethernet 1/0/1 to ethernet 1/0/4

1-30

[SwitchA-vlan100] mld-snooping enable [SwitchA-vlan100] mld-snooping proxying enable [SwitchA-vlan100] quit

(4)

检验配置效果

当配置完成后,Host A 和 Host B 分别发送组地址为 FF1E::101 的 MLD 加入报文,Switch A 收到 该报文后通过其路由器端口 Ethernet1/0/1 向 Router A 也发送该组的加入报文。通过使用 display mld-snooping group 和 display mld group 命令可以分别查看 MLD Snooping 组播组和 MLD 组 播组的信息,例如: # 查看 Switch A 上 MLD Snooping 组播组的信息。
[SwitchA] display mld-snooping group Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Router port(s):total 1 port(s). Eth1/0/1 IP group address:FF1E::101 (::, FF1E::101): Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/4 MAC group(s): MAC group address:3333-0000-0101 Host port(s):total 2 port(s). Eth1/0/3 Eth1/0/4 (D) (D) (D) ( 00:01:23 )

IP group(s):the following ip group(s) match to one mac group.

# 查看 Router A 上 MLD 组播组的信息。
[RouterA] display mld group Total 1 MLD Group(s). Interface group report information Ethernet1/0/1(2001::1): Total 1 MLD Group reported Group Address: FF1E::1 Last Reporter: FE80::2FF:FFFF:FE00:1 Uptime: 00:00:03 Expires: 00:04:17

当 Host A 离开 IPv6 组播组 FF1E::101 时,向 Switch A 发送该组的 MLD 离开报文,但由于 Host B 仍未离开该组,因此 Switch A 并不会删除该组,也不会向 Router A 发送该组的离开报文,只是在 该组对应转发表项的成员端口列表中将端口 Ethernet1/0/3 删除。通过使用 display mld-snooping group 命令可以查看 MLD Snooping 组播组的信息,例如: # 查看 Switch A 上 MLD Snooping 组播组的信息。
[SwitchA] display mld-snooping group

1-31

Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Port flags: D-Dynamic port, S-Static port, C-Copy port Subvlan flags: R-Real VLAN, C-Copy VLAN Vlan(id):100. Total 1 IP Group(s). Total 1 IP Source(s). Total 1 MAC Group(s). Router port(s):total 1 port(s). Eth1/0/1 IP group address:FF1E::101 (::, FF1E::101): Host port(s):total 1 port(s). Eth1/0/4 MAC group(s): MAC group address:3333-0000-0101 Host port(s):total 1 port(s). Eth1/0/4 (D) (D) ( 00:01:23 )

IP group(s):the following ip group(s) match to one mac group.

1.9.5 IPv6 组播源与组播用户控制策略配置举例
1. 组网需求 如 图 1-8所示, 三层交换机Switch A分别通过接口Vlan-interface101 和Vlan-interface102 连接 IPv6 组播源Source 1 和Source 2,通过接口Vlan-interface103 连接RADIUS服务器,并通过 接口Vlan-interface104 连接二层交换机Switch B。 Switch A 上运行 MLDv1, Switch B 上运行版本 2 的 MLD Snooping, 连接在 Switch A 上的 IPV6 组播源和连接在 Switch B 上的主机都使用 802.1X 进行认证。 通过在 Switch A 上配置 IPv6 组播源控制策略,禁止由 Source 2 发往 IPv6 组播组 FF1E::101 的 IPv6 组播数据进入网络。 通过在 Switch B 上配置 IPv6 组播用户控制策略,使接收者(Receiver)Host A 只能加入/离 开 IPv6 组播组 FF1E::101。

1-32

2. 组网图 图1-8 IPv6 组播源与组播用户控制策略配置组网图

Source 1
1::1/64

Source 2

Eth1/0/2 Vlan-int102 2::2/64 Eth1/0/3 Vlan-int103 3::2/64

Eth1/0/1 Vlan-int101 1::2/24 Eth1/0/1 Eth1/0/4 Vlan-int104 2001::1/64

Switch B
Eth1/0/3

Receiver

Eth1/0/2

Host A

2::1/64

Switch A

RADIUS server
3::1/64

Host B

VLAN 104

3. 配置步骤 (1) (2) 配置 IP 地址 配置 Switch A 使能各设备的IPv6 转发功能,并按照 图 1-8配置各接口的IPv6 地址和前缀长度,具体配置过程略。 # 分别创建 VLAN 101~104,并将端口 Ehternet1/1~Ehternet1/4 依次加入 VLAN 101~104 中。
<SwitchA> system-view [SwitchA] vlan 101 [SwitchA-vlan101] port ethernet 1/0/1 [SwitchA-vlan101] quit [SwitchA] vlan 102 [SwitchA-vlan102] port ethernet 1/0/2 [SwitchA-vlan102] quit [SwitchA] vlan 103 [SwitchA-vlan103] port ethernet 1/0/3 [SwitchA-vlan103] quit [SwitchA] vlan 104 [SwitchA-vlan104] port ethernet 1/0/4 [SwitchA-vlan104] quit

# 使能 IPv6 组播路由,在接口 Vlan-interface101、Vlan-interface102 和 Vlan-interface104 上使能 IPv6 PIM-DM,并在接口 Vlan-interface104 上使能 MLD。
[SwitchA] multicast ipv6 routing-enable [SwitchA] interface vlan-interface 101 [SwitchA-Vlan-interface101] pim ipv6 dm [SwitchA-Vlan-interface101] quit [SwitchA] interface vlan-interface 102 [SwitchA-Vlan-interface102] pim ipv6 dm [SwitchA-Vlan-interface102] quit [SwitchA] interface vlan-interface 104 [SwitchA-Vlan-interface104] pim ipv6 dm

1-33

[SwitchA-Vlan-interface104] mld enable [SwitchA-Vlan-interface104] quit

# 创建名为 policy1 的 QoS 策略,不允许来自 IPv6 组播源 2::1 的 IPv6 组播数据向 IPv6 组播组 FF1E::101 发送。
[SwitchA] acl ipv6 number 3001 [SwitchA-acl6-adv-3001] rule permit udp source 2::1 128 destination ff1e::101 128 [SwitchA-acl6-adv-3001] quit

配置 IPv6 组播源控制策略时必须使用高级 IPv6 ACL,且在配置源地址匹配的同时还必须配置目的 地址匹配, 否则希望过滤掉的 IPv6 组播报文仍会上送 CPU, 从而使设备创建相应的 IPv6 组播表项, 导致该策略失效。

[SwitchA] traffic classifier classifier1 [SwitchA-classifier-classifier1] if-match acl ipv6 3001 [SwitchA-classifier-classifier1] quit

在类视图下配置了匹配 IPv6 规则后,请勿再配置匹配 IPv4 规则,否则将导致报文匹配错误。

[SwitchA] traffic behavior behavior1 [SwitchA-behavior-behavior1] filter deny [SwitchA-behavior-behavior1] quit [SwitchA] qos policy policy1 [SwitchA-qospolicy-policy1] classifier classifier1 behavior behavior1 [SwitchA-qospolicy-policy1] quit

# 创建名为 profile1 的 User Profile, 在该 User Profile 下应用 QoS 策略 policy1, 并将该 User Profile 激活。
[SwitchA] user-profile profile1 [SwitchA-user-profile-profile1] qos apply policy policy1 inbound [SwitchA-user-profile-profile1] quit [SwitchA] user-profile profile1 enable

# 创建名为 scheme1 的 RADIUS 认证方案,配置 RADIUS 服务器的类型为 extended 类型;指定 主 RADIUS 认证/授权服务器和计费服务器的 IP 地址均为 3::1,共享密钥均为 123321;并配置发 送给 RADIUS 服务器的用户名不需要携带域名。
[SwitchA] radius scheme scheme1 [SwitchA-radius-scheme1] server-type extended [SwitchA-radius-scheme1] primary authentication 3::1 [SwitchA-radius-scheme1] key authentication 123321 [SwitchA-radius-scheme1] primary accounting 3::1 [SwitchA-radius-scheme1] key accounting 123321 [SwitchA-radius-scheme1] user-name-format without-domain [SwitchA-radius-scheme1] quit

# 创建名为 domain1 的 ISP 域,指定 lan-access 用户的 RADIUS 认证、授权和计费方案均为 scheme1;并将该域指定为系统缺省的 ISP 域。
1-34

[SwitchA] domain domain1 [SwitchA-isp-domian1] authentication lan-access radius-scheme scheme1 [SwitchA-isp-domian1] authorization lan-access radius-scheme scheme1 [SwitchA-isp-domian1] accounting lan-access radius-scheme scheme1 [SwitchA-isp-domian1] quit [SwitchA] domain default enable domain1

# 全局使能 802.1X,并在端口 Ethernet1/0/1 和 Ethernet1/0/2 上分别使能 802.1X。
[SwitchA] dot1x [SwitchA] interface ethernet 1/0/1 [SwitchA-Ethernet1/0/1] dot1x [SwitchA-Ethernet1/0/1] quit [SwitchA] interface ethernet 1/0/2 [SwitchA-Ethernet1/0/2] dot1x [SwitchA-Ethernet1/0/2] quit

(3)

配置 Switch B

# 全局使能 MLD Snooping。
<SwitchB> system-view [SwitchB] mld-snooping [SwitchB-mld-snooping] quit

# 创建 VLAN 100,把端口 Ethernet1/0/1 到 Ethernet1/0/3 添加到该 VLAN 中;在该 VLAN 内使能 MLD Snooping。
[SwitchB] vlan 100 [SwitchB-vlan100] port ethernet 1/0/1 to ethernet 1/0/3 [SwitchB-vlan100] mld-snooping enable [SwitchB-vlan100] quit

# 创建名为 profile2 的 User Profile,在该 User Profile 下配置只允许用户加入/离开 IPV6 组播组 FF1E::101,并将该 User Profile 激活。
[SwitchB] acl ipv6 number 2001 [SwitchB-acl6-basic-2001] rule permit source ff1e::101 128 [SwitchB-acl6-basic-2001] quit [SwitchB] user-profile profile2 [SwitchB-user-profile-profile2] mld-snooping access-policy 2001 [SwitchB-user-profile-profile2] quit [SwitchB] user-profile profile2 enable

# 创建名为 scheme2 的 RADIUS 认证方案,配置 RADIUS 服务器的类型为 extended 类型;指定 主 RADIUS 认证/授权服务器和计费服务器的 IP 地址均为 3::1,共享密钥均为 321123;并配置发 送给 RADIUS 服务器的用户名不需要携带域名。
[SwitchB] radius scheme scheme2 [SwitchB-radius-scheme2] server-type extended [SwitchB-radius-scheme2] primBry authentication 3::1 [SwitchB-radius-scheme2] key authentication 321123 [SwitchB-radius-scheme2] primary accounting 3::1 [SwitchB-radius-scheme2] key accounting 321123 [SwitchB-radius-scheme2] user-name-format without-domain [SwitchB-radius-scheme2] quit

# 创建名为 domain2 的 ISP 域,指定 lan-access

赞助商链接
推荐相关:
网站首页 | 网站地图
All rights reserved Powered by 酷我资料网 koorio.com
copyright ©right 2014-2019。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com