06-组播协议典型配置案例
本章节下载 (363.12 KB)
组播协议典型配置举例
关键词:IGMP、PIM-DM、PIM-SM、MSDP、IGMP Snooping
摘 要:本文主要介绍以太网交换机的组播功能在具体组网中的应用配置,根据组网需求的不同,分别介绍了三个典型的组网应用。
第一,介绍了PIM-DM+IGMP分别在存在和不存在IGMP Snooping两种情况下的组播应用情况,其中体现了IGMP和IGMP Snooping组播组过滤功能的应用;
第二,介绍了PIM-SM+IGMP分别在存在和不存在IGMP Snooping两种情况下的组播应用情况,其中体现了模拟组播客户端加入组播组的应用;
第三,介绍了在只运行IGMP Snooping的情况下的应用。
缩略语:IGMP(Internet Group Management Protocol,互联网组管理协议);IGMP Snooping (Internet Group Management Protocol Snooping,互联网组管理协议窥探);PIM-DM(Protocol Independent Multicast Dense Mode,密集模式协议无关组播);PIM-SM(Protocol Independent Multicast Sparse Mode,稀疏模式协议无关组播);
作为一种与单播和广播并列的通信方式,组播技术能够有效地解决单点发送、多点接收的问题,从而实现了网络中点到多点的高效数据传送,能够节约大量网络带宽、降低网络负载。
利用组播技术可以方便地提供一些新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等对带宽和数据交互的实时性要求较高的信息服务。
IGMP是TCP/IP协议族中负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
PIM是Protocol Independent Multicast(协议无关组播)的简称,表示可以利用静态路由或者任何单播路由协议(包括RIP、OSPF、IS-IS、BGP等)生成的单播路由表为IP组播提供路由。PIM通过使用单播路由表进行RPF(Reverse Path Forwarding,逆向路径转发)检查,以实现对组播数据的传送。
根据转发机制的不同,PIM分为两种模式:
l PIM-DM
l PIM-SM
PIM-DM属于密集模式的组播路由协议,使用“推(Push)模式”传送组播数据,通常适用于组播组成员相对比较密集的小型网络。.
PIM-SM属于稀疏模式的组播路由协议,使用“拉(Pull)模式”传送组播数据,通常适用于组播组成员分布相对分散、范围较广的大中型网络。
IGMP Snooping是运行在二层设备上的组播约束机制,用于管理和控制组播组。运行IGMP Snooping的二层设备通过对收到的IGMP报文进行分析,为端口和MAC组播地址建立起映射关系,并根据这样的映射关系转发组播数据。
在一个大规模的网络中应用组播路由协议时(例如PIM-DM),会存在很多末梢网络(末梢区域),对这些末梢网络进行配置和管理是一件很繁重的工作。
为了减少这些配置和管理工作,同时又不影响末梢网络的组播连接,可以在末梢网络的三层交换机上配置IGMP Proxy,三层交换机将自己所连接的主机发出的IGMP主机报告报文或IGMP离开报文进行转发。配置了IGMP Proxy后,对于外部网络来说,末梢三层交换机不再是一个PIM邻居,而是一台主机,只有当该三层交换机有直连成员时,才会接收相应组的组播数据。
表1-1 IGMP Snooping配置过程
配置任务 |
说明 |
详细配置 |
启动IGMP Snooping |
必选 |
|
配置IGMP Snooping定时器 |
可选 |
|
配置端口从组播组中快速删除功能 |
可选 |
|
配置组播组过滤功能 |
可选 |
|
配置端口可以加入的组播组最大数量 |
可选 |
|
配置IGMP Snooping 查询器 |
可选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动IGMP Snooping |
igmp-snooping enable |
必选 缺省情况下IGMP Snooping功能处于关闭状态 |
进入VLAN视图 |
vlan vlan-id |
- |
启动IGMP Snooping |
igmp-snooping enable |
必选 缺省情况下,IGMP Snooping功能处于关闭状态 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置路由器端口老化定时器 |
igmp-snooping router-aging-time seconds |
可选 缺省情况下,路由器端口老化时间为105秒 |
配置响应查询定时器 |
igmp-snooping max-response-time seconds |
可选 缺省情况下,最大响应时间为10秒 |
配置组播组成员端口老化定时器 |
igmp-snooping host-aging-time seconds |
可选 缺省情况下,组播组成员端口老化时间为260秒 |
(1) 在系统视图下配置端口从组播组中快速删除功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置端口从组播组中快速删除功能 |
igmp-snooping fast-leave [ vlan vlan-list ] |
必选 缺省情况下,端口从组播组中快速删除功能处于关闭状态 |
(2) 在以太网端口视图下配置端口从组播组中快速删除功能
表1-5 在以太网端口视图下配置端口从组播组中快速删除功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口 |
interface interface-type interface-number |
- |
配置端口从组播组中快速删除功能 |
igmp-snooping fast-leave [ vlan vlan-list ] |
必选 缺省情况下,端口从组播组中快速删除功能处于关闭状态 |
(1) 在系统视图下配置组播组过滤功能
表1-6 在系统视图下配置组播组过滤功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置组播组过滤功能 |
igmp-snooping group-policy acl-number [ vlan vlan-list ] |
必选 缺省情况下,组播组过滤功能关闭 |
(2) 在以太网端口视图下配置组播组过滤功能
表1-7 在以太网端口视图下配置组播组过滤功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置组播组过滤功能 |
igmp-snooping group-policy acl-number [ vlan vlan-list ] |
必选 缺省情况下,组播组过滤功能关闭 |
表1-8 配置端口可以加入的组播组最大数量
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口上允许通过的组播组数量 |
igmp-snooping group-limit limit [ vlan vlan-list [ overflow-replace ] ] |
必选 缺省情况下,端口上允许通过的组播组最大数量为256个 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动IGMP Snooping |
igmp-snooping enable |
必选 缺省情况下,IGMP Snooping功能处于打开状态 |
进入VLAN视图 |
vlan vlan-id |
- |
启动IGMP Snooping |
igmp-snooping enable |
必选 缺省情况下,IGMP Snooping功能处于关闭状态 |
启动IGMP Snooping查询器 |
igmp-snooping querier |
必选 缺省情况下,IGMP Snooping查询器功能处于关闭状态 |
配置发送通用查询报文的时间间隔 |
igmp-snooping query-interval seconds |
可选 缺省情况下,发送通用查询报文的时间间隔为60秒 |
配置发送通用查询报文的源IP地址 |
igmp-snooping general-query source-ip { current-interface | ip-address } |
可选 缺省情况下,发送通用查询报文的源IP地址为0.0.0.0 |
配置任务 |
说明 |
详细配置 |
启动IGMP |
必选 |
|
配置IGMP版本 |
可选 |
|
配置IGMP查询报文的相关参数 |
可选 |
|
配置接口可以通过的组播组最大数量 |
可选 |
|
配置组播组过滤功能 |
可选 |
|
配置IGMP模拟主机加入功能 |
可选 |
|
配置IGMP Proxy |
可选 |
|
删除接口上已经加入的IGMP组播组 |
可选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动组播路由 |
multicast routing-enable |
- |
进入VLAN接口视图 |
interface Vlan-interface interface-number |
- |
启动IGMP |
igmp enable |
必选 缺省情况下, IGMP处于打开状态 |
注意:
本章中以下的配置都是在启动组播路由并在接口上启动IGMP的情况下实现的,请用户在配置过程中注意。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN接口视图 |
interface Vlan-interface interface-number |
- |
配置IGMP版本 |
igmp version { 1 | 2 } |
必选 缺省情况下,IGMP的版本为IGMPv2 |
注意:
IGMP各版本之间不能自动转换。因此,应该配置连接到同一网段上的所有交换机的接口使用同一IGMP版本。
表1-13 配置IGMP查询报文的相关参数
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入VLAN接口视图 |
interface Vlan-interface interface-number |
- |
配置查询间隔 |
igmp timer query seconds |
可选 缺省情况下,查询时间间隔为60秒 |
配置发送IGMP特定组查询报文的时间间隔 |
igmp lastmember-queryinterval seconds |
可选 缺省情况下,IGMP特定组查询报文的时间间隔为1秒 |
配置发送IGMP特定组查询报文的次数 |
igmp robust-count robust-value |
可选 缺省情况下,发送IGMP特定组查询报文的次数为2次 |
配置IGMP查询器存在时间 |
igmp timer other-querier-present seconds |
可选 缺省情况下,IGMP查询器存在的时间值为120秒,是igmp timer query命令指定的间隔的2倍 |
配置IGMP最大响应时间 |
igmp max-response-time seconds |
可选 缺省情况下,IGMP最大响应时间为10秒 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN接口视图 |
interface Vlan-interface interface-number |
- |
配置接口可以加入IGMP组的最大数量 |
igmp group-limit limit |
必选 缺省情况下,接口上可以通过的组播组最大数量为256 |
注意:
l 如果用户在接口上配置的IGMP组的数量为1时,采用新加入组优先的原则。即如用户将新的组播组加入接口时,系统将自动取代原有的组播组,原组播组将会自动脱离接口。
l 在接口配置可以通过的组播组最大数量时,如果接口已有的IGMP组播组比要配置的值多,系统自动删除某些已有的组播组,直到接口组播组数量符合配置的数量限制。
(1) 在VLAN接口视图下配置组播组过滤功能
表1-15 配置组播组过滤功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN接口视图 |
interface Vlan-interface interface-number |
- |
配置组播组过滤功能 |
igmp group-policy acl-number [ 1 | 2 | port interface-type interface-number [ to interface-type interface-number ] ] |
可选 缺省情况下,接口允许任意组播组通过 |
(2) 在以太网端口视图下配置组播组过滤功能
表1-16 配置组播组过滤功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置组播组过滤功能 |
igmp group-policy acl-number vlan vlan-id |
可选 缺省情况下,接口允许任意组播组通过,该端口必须属于命令所指定的VLAN |
(1) 在VLAN接口视图下配置IGMP模拟主机加入功能
表1-17 在VLAN接口视图下配置IGMP模拟主机加入功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN接口视图 |
interface Vlan-interface interface-number |
- |
配置IGMP模拟主机加入功能 |
igmp host-join group-address port interface-list |
可选 缺省情况下,模拟主机加入功能处于关闭状态 |
(2) 在以太网端口视图下配置IGMP模拟主机加入功能
表1-18 在以太网端口视图下配置IGMP模拟主机加入功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置IGMP模拟主机加入功能 |
igmp host-join group-address vlan vlan-id |
可选 缺省情况下,模拟主机加入功能处于关闭状态 |
注意:
l 配置IGMP模拟主机加入功能前,应该先在VLAN接口视图下启动IGMP功能;
l 在以太网端口视图下,配置IGMP模拟主机加入功能的端口必须属于指定VLAN,否则配置不会生效;
注意:
l 配置igmp proxy前需要先在接口上启动PIM协议,否则IGMP Proxy功能不能生效。
l 同一个接口不能作为两个及两个以上其它接口的IGMP代理接口。
l 在配置将要成为IGMP代理接口的IP地址时,要保证该接口的IP地址在该网段不是最小的,从而避免该接口被选举成IGMP查询器,而造成无法正常转发组播数据。
表1-20 删除接口上已加入的IGMP组播组
操作 |
命令 |
说明 |
删除接口上已加入的IGMP组播组 |
reset igmp group { all | interface interface-type interface-number { all | group-address [ group-mask ] } } |
reset命令可以在用户视图下执行 |
注意:
删除接口上已加入的IGMP组后,不影响该组的再次加入。
表1-21 配置PIM-DM
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动组播路由 |
multicast routing-enable |
必选 缺省情况下,没有启动组播路由协议 |
进入PIM视图 |
pim |
- |
对接收的组播数据报文进行源(组)过滤 |
source-policy acl-number |
可选 用户可在ACL中配置过滤相关的组播组IP地址 |
进入VLAN接口视图 |
interface Vlan-interface interface-number |
- |
启动PIM-DM |
pim dm |
必选 |
设置接口的Hello报文发送间隔 |
pim timer hello seconds |
可选 缺省的Hello报文发送间隔是30秒 |
配置接口的PIM邻居数量限制 |
pim neighbor-limit limit |
可选 缺省情况下,接口的PIM邻居数量上限为128 |
配置PIM邻居过滤规则 |
pim neighbor-policy acl-number |
可选 用户可在ACL中配置过滤相关的组播组IP地址 缺省情况下,接口不启动邻居过滤规则 |
表1-22 配置PIM-SM
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动组播路由 |
multicast routing-enable |
必选 缺省情况下,没有启动组播路由协议 |
进入PIM视图 |
pim |
- |
对接收的组播数据报文进行源(组)过滤 |
source-policy acl-number |
可选 用户可在ACL中配置过滤相关的组播组IP地址 |
配置候选BSR |
c-bsr interface-type interface-number hash-mask-len [ priority ] |
可选 缺省情况下,交换机没有设置候选BSR,优先级的缺省值为0 |
配置候选RP |
c-rp interface-type interface-number [ group-policy acl-number | priority priority ]* |
可选 缺省情况下,交换机没有设置候选RP,优先级的缺省值为0 |
配置静态RP |
static-rp rp-address [ acl-number ] [ preferred ] |
可选 缺省情况下,交换机没有设置静态RP; 在动态RP和静态RP同时存在的情况下,如果配置了关键字preferred,将优先选择静态RP作为RP,否则将优先选择动态RP作为RP |
限定合法BSR的范围 |
bsr-policy acl-number |
可选 缺省情况下,交换机没有设置合法BSR的范围 |
限定合法C-RP的范围 |
crp-policy acl-number |
可选 用户可在ACL中配置过滤相关的组播组IP地址 缺省情况下,交换机没有设置合法的C-RP范围 |
配置RP对DR发来的注册报文进行过滤 |
register-policy acl-number |
可选 用户可在ACL中配置过滤相关的组播组IP地址 缺省情况下,交换机对DR发来的注册报文不进行过滤 |
设置从共享树永不切换到最短路径树 |
spt-switch-threshold { traffic-rate | infinity } [ group-policy acl-number [ order order-value ] ] |
可选 缺省情况下,设备从RPT收到第一个组播数据包后便立即向SPT切换 |
进入VLAN接口视图 |
interface Vlan-interface interface-number |
- |
启动PIM-SM |
pim sm |
必选 |
配置PIM-SM域边界 |
pim bsr-boundary |
可选 缺省情况下,交换机不设置域边界 |
设置接口的Hello报文发送间隔 |
pim timer hello seconds |
可选 缺省的Hello报文发送间隔是30秒 |
配置接口的PIM邻居数量限制 |
pim neighbor-limit limit |
可选 缺省情况下,接口的PIM邻居数量上限为128 |
配置PIM邻居过滤规则 |
pim neighbor-policy acl-number |
可选 用户可在ACL中配置过滤相关的组播组IP地址 缺省情况下,接口不启动邻居过滤规则 |
& 说明:
目前设备只支持阀值为0和infinity的情况:
l 阀值为0,表示最后一跳路由器收到第一个组播数据包就会转向最短路径树。
l Infinity表示永远都不切换到到最短路径树。
用户通过组播方式接收视频点播信息,根据用户需求的不同,视频信息的接收方式也不尽相同:
(1) 为了避免视频信息在二层的广播,HostA和HostB通过连接到运行IGMP Snooping的SwitchE接收组播数据;
(2) 为了可靠和稳定的接收组播数据,HostC和HostD直接连接到与SwitchB和SwitchC相连的末梢网络N1接收组播数据,从而可以实现上行链路的备份;
(3) 各个交换机之间运行的单播路由协议是RIP,运行的组播路由协议是PIM-DM。
(1) SwitchD通过Vlan-interface300接口与组播源Source所在的网络连接;
(2) SwitchA通过Vlan-interface100接口连接SwitchE,通过Vlan-interface103接口连接SwitchD;
(3) SwitchB和SwitchC通过各自的Vlan-interface200接口连接末梢网络N1,分别通过Vlan-interface101和Vlan-interface102接口连接SwitchD;
(4) 在SwitchA 的Vlan-interface100接口上运行IGMPV2,在SwitchE上全局启动IGMP Snooping和在VLAN100内启动IGMP Snooping;SwitchB和SwitchC与末梢网络N1之间也运行IGMPv2,通常SwitchB充当查询器。
接口 |
IP地址 |
包含端口 |
|
Switch A |
Vlan-int100 |
10.110.1.1/24 |
Ethernet1/0/1 |
|
Vlan-int103 |
192.168.1.1/24 |
Ethernet1/0/2 |
Switch B |
Vlan-int200 |
10.110.2.1/24 |
Ethernet1/0/1 |
|
Vlan-int101 |
192.168.2.1/24 |
Ethernet1/0/2 |
Switch C |
Vlan-int200 |
10.110.2.2/24 |
Ethernet1/0/1 |
|
Vlan-int102 |
192.168.3.1/24 |
Ethernet1/0/2 |
Switch D |
Vlan-int300 |
10.110.5.1/24 |
Ethernet1/0/1 |
|
Vlan-int103 |
192.168.1.2/24 |
Ethernet1/0/2 |
|
Vlan-int101 |
192.168.2.2/24 |
Ethernet1/0/3 |
|
Vlan-int102 |
192.168.3.2/24 |
Ethernet1/0/4 |
Switch E |
Vlan100 |
- |
Ethernet1/0/1、Ethernet1/0/2、Ethernet1/0/3 |
图2-1 PIM-DM+IGMP+IGMP Snooping典型配置组网图
# 配置SwitchA的VLAN、VLAN接口及其IP地址。
<SwitchA> system-view
System View: return to User View with Ctrl+Z.
[SwitchA] vlan 100
[SwitchA-vlan100] port Ethernet 1/0/1
[SwitchA-vlan100] quit
[SwitchA] vlan 103
[SwitchA-vlan103] port Ethernet 1/0/2
[SwitchA-vlan103] quit
[SwitchA] interface Vlan-interface 100
[SwitchA-Vlan-interface100] ip address 10.110.1.1 24
[SwitchA-Vlan-interface100] quit
[SwitchA] interface Vlan-interface 103
[SwitchA-Vlan-interface103] ip address 192.168.1.1 24
[SwitchA-Vlan-interface103] quit
请参照图2-1配置其他各交换机的Vlan、Vlan接口及其IP地址,具体的配置过程略。
# 在SwitchA上启动RIP协议,并且在192.168.1.0和10.110.1.0两个网段启动RIP。
<SwitchA> system-view
[SwitchA] rip
[SwitchA- rip] network 192.168.1.0
[SwitchA- rip] network 10.110.1.0
[SwitchA- rip] quit
SwitchB、SwitchC和SwitchD的配置与SwitchA相似,配置过程略。
# 在SwitchA上启动IP组播路由,在各接口上启动PIM-DM,并在Vlan-interface100接口上启动IGMPv2。
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] igmp enable
[SwitchA-Vlan-interface100] pim dm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 103
[SwitchA-Vlan-interface103] pim dm
[SwitchA-Vlan-interface103] quit
SwitchB和SwitchC的配置与SwitchA相似,配置过程略。
# 在SwitchD上启动组播路由,并在其各接口上启动PIM-DM。
<SwitchD> system-view
[SwitchD] multicast routing-enable
[SwitchD] interface vlan-interface 300
[SwitchD-Vlan-interface300] pim dm
[SwitchD-Vlan-interface300] quit
[SwitchD] interface vlan-interface 103
[SwitchD-Vlan-interface103] pim dm
[SwitchD-Vlan-interface103] quit
[SwitchD] interface vlan-interface 101
[SwitchD-Vlan-interface101] pim dm
[SwitchD-Vlan-interface101] quit
[SwitchD] interface vlan-interface 102
[SwitchD-Vlan-interface102] pim dm
[SwitchD-Vlan-interface102] quit
# 在SwitchE上全局启动IGMP Snooping,并在Vlan100内启动IGMP Snooping。
<SwitchE> system-view
[SwitchE] igmp-snooping enable
Enable IGMP-Snooping ok.
[SwitchE] vlan 100
[SwitchE-vlan100] igmp-snooping enable
[SwitchE-vlan100] quit
现在从组播源Source向组播组224.1.1.1发送组播数据,HostA点播组播组224.1.1.1的组播数据,检验各个交换机的配置效果。
(1) 通过查看命令判断HostA是否接收到组播数据。
# 查看Switch D上PIM的邻居关系信息。
<SwitchD> display pim neighbor
Neighbor's Address Interface Name Uptime Expires
192.168.2.1 Vlan-interface101 02:45:04 00:04:46
192.168.3.1 Vlan-interface102 02:42:24 00:04:45
192.168.1.1 Vlan-interface103 02:43:44 00:05:44
# 查看SwitchD的组播转发表。
<SwitchD> display multicast forwarding-table
Multicast Forwarding Cache Table
Total 1 entry: 0 entry created by IP, 1 entry created by protocol
00001. (10.110.5.110, 224.1.1.1), iif Vlan-interface1, 1 oifs,
Protocol Create
List of outgoing interface:
01: Vlan-interface101
Matched 181 pkts(271500 bytes), Wrong If 0 pkts
Forwarded 130 pkts(195000 bytes)
Total 1 entry Listed
# 查看SwitchA的组播转发表。
<SwitchA> display multicast forwarding-table
Multicast Forwarding Cache Table
Total 1 entry: 0 entry created by IP, 1 entry created by protocol
00001. (10.110.5.110, 224.1.1.1), iif Vlan-interface101, 1 oifs,
Protocol Create
List of outgoing interface:
01: Vlan-interface100
Matched 451 pkts(676500 bytes), Wrong If 0 pkts
Forwarded 451 pkts(676500 bytes)
Total 1 entry Listed
Matched 1 entry
# 查看SwitchA含端口信息的组播组信息。
<SwitchA> display mpm group
Total 1 IP Group(s).
Total 1 MAC Group(s).
Vlan(id):101.
Total 0 IP Group(s).
Total 0 MAC Group(s).
Static router port(s):
Dynamic router port(s):
Ethernet1/0/2
Vlan(id):200.
Total 1 IP Group(s).
Total 1 MAC Group(s).
Static router port(s):
Dynamic router port(s):
IP group(s):the following ip group(s) match to one mac group.
IP group address:224.1.1.1
Host port(s):Ethernet1/0/15
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):Ethernet1/0/15
# 查看SwitchE上IGMP Snooping侦测到的组播组信息。
<SwitchE> display igmp-snooping group
Total 1 IP Group(s).
Total 1 MAC Group(s).
Vlan(id):100.
Total 1 IP Group(s).
Total 1 MAC Group(s).
Static router port(s):
Dynamic router port(s):
Ethernet1/0/2
IP group(s):the following ip group(s) match to one mac group.
IP group address:224.1.1.1
Host port(s):Ethernet1/0/19
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):Ethernet1/0/19
通过以上显示信息可以看出SwitchD和SwitchA都已正确建立组播转发表项,并且HostA已成功接收到组播数据。
(2) 在SwitchE上配置IGMP Snooping组播组过滤功能。
# 在SwitchE上配置对组播组224.1.1.1的过滤功能。
<SwitchE> system-view
[SwitchE-acl-basic-2000] rule deny source 224.1.1.1 0
[SwitchE-acl-basic-2000] rule permit source any
[SwitchE-acl-basic-2000] quit
[SwitchE]igmp-snooping group-policy 2000 vlan 100
# 查看SwitchA的组播转发表项。
<SwitchA> display multicast forwarding-table
Multicast Forwarding Cache Table
Total 1 entry: 0 entry created by IP, 1 entry created by protocol
00001. (10.110.5.100, 224.1.1.1), iif Vlan-interface101, 0 oifs,
Protocol Create
Matched 5 pkts(7500 bytes), Wrong If 0 pkts
Forwarded 0 pkts(0 bytes)
Total 1 entry Listed
以上显示信息表明SwitchA已停止转发组播数据。
# 查看SwitchE的组播组信息。
<SwitchE> display igmp-snooping group
Total 0 IP Group(s).
Total 0 MAC Group(s).
Vlan(id):200.
Total 0 IP Group(s).
Total 0 MAC Group(s).
Static router port(s):
Dynamic router port(s):
Ethernet1/0/19
在配置了组播组过滤功能后,相应端口不能收到IGMP报告报文,IP组播组和MAC组在定时器超时后被删除。
(3) 在SwitchA上配置IGMP组播组过滤功能。
# 关闭SwitchE上组播组过滤功能。
<SwitchE> system-view
[SwitchE] undo igmp-snooping group-policy
& 说明:
为了避免不能区分IGMP Snooping的组播组过滤规则与IGMP的组播组过滤规则是哪一个在起作用,这里先关闭IGMP Snooping的组播组过滤功能。
在SwitchA的Vlan-interface100上启动对组播组224.1.1.1的过滤功能,查看SwitchA的组播转发表项。
# 在SwitchA的Vlan-interface100上启动对组播组224.1.1.1的过滤功能。
<SwitchA> system-view
[SwitchA] acl number 2000
[SwitchA-acl-basic-2000] rule deny source 224.1.1.1 0
[SwitchA-acl-basic-2000] rule permit source any
[SwitchA-acl-basic-2000] quit
[SwitchA] interface Vlan-interface 100
[SwitchA-Vlan-interface100] igmp group-policy 2000
[SwitchA-Vlan-interface100] return
# 查看SwitchA的组播转发表。
<SwitchA> display multicast forwarding-table
Multicast Forwarding Cache Table
Total 1 entry: 0 entry created by IP, 1 entry created by protocol
00001. (10.110.5.100, 224.1.1.1), iif Vlan-interface101, 0 oifs,
Protocol Create
Matched 5 pkts(7500 bytes), Wrong If 0 pkts
Forwarded 0 pkts(0 bytes)
Total 1 entry Listed
# 查看SwitchA组播组信息。
<SwitchA> display igmp group
Total 0 IGMP groups reported on this router
在配置了组播组过滤功能后,相应端口不能收到IGMP报告报文,相应的组播组在定时器超时后被删除。
& 说明:
可以看出IGMP Snooping的组播组过滤规则与IGMP的组播组过滤规则作用相同的,用户可以在不同的组网情况下进行相应的配置。
用户通过组播方式接收视频点播信息,根据用户需求的不同,视频信息的接收方式也不尽相同:
(1) 为了避免视频信息在二层广播,HostA和HostB通过连接到运行IGMP Snooping的SwitchE接收组播数据;
(2) 为了可靠和稳定的的接收组播数据,HostC和HostD直接连接到与SwitchB和SwitchC相连的末梢网络N1接收组播数据,从而可以实现上行链路的备份;
(3) 整个PIM域采用SM单BSR管理域方式,各个交换机之间运行OSPF协议。
(1) SwitchD通过Vlan-interface300接口与组播源Source所在网络连接;
(2) SwitchA通过Vlan-interface100接口连接SwitchF,通过Vlan-interface101接口连接SwitchD,通过Vlan-interface102接口连接SwitchE
(3) SwitchB和SwitchC通过各自的Vlan-interface200接口连接末梢网络N1,分别通过Vlan-interface103和Vlan-interface104接口连接SwitchE;
(4) 将SwitchD的Vlan-interface105接口和SwitchE的Vlan-interface102接口作为C-BSR和C-RP。
(5) 在SwitchA 的Vlan-interface100接口上运行IGMPV2,在SwitchF上全局启动IGMP Snooping和在VLAN100内启动IGMP Snooping;SwitchB和SwitchC与末梢网络N1之间也运行IGMPv2,通常SwitchB充当查询器。
设备 |
接口 |
IP地址 |
包含端口 |
Switch A |
Vlan-int100 |
10.110.1.1/24 |
Ethernet1/0/1 |
|
Vlan-int101 |
192.168.1.1/24 |
Ethernet1/0/2 |
|
Vlan-int102 |
192.168.9.1/24 |
Ethernet1/0/3 |
Switch B |
Vlan-int200 |
10.110.2.1/24 |
Ethernet1/0/1 |
|
Vlan-int103 |
192.168.2.1/24 |
Ethernet1/0/2 |
Switch C |
Vlan-int200 |
10.110.2.2/24 |
Ethernet1/0/1 |
|
Vlan-int104 |
192.168.3.1/24 |
Ethernet1/0/2 |
Switch D |
Vlanint300 |
10.110.5.1/24 |
Ethernet1/0/1 |
|
Vlanint101 |
192.168.1.2/24 |
Ethernet1/0/2 |
|
Vlanint105 |
192.168.4.2/24 |
Ethernet1/0/3 |
Switch E |
Vlanint104 |
192.168.3.2/24 |
Ethernet1/0/3 |
|
Vlanint103 |
192.168.2.2/24 |
Ethernet1/0/2 |
|
Vlanint102 |
192.168.9.2/24 |
Ethernet1/0/1 |
|
Vlanint105 |
192.168.4.1/24 |
Ethernet1/0/4 |
Switch F |
Vlan100 |
- |
Ethernet1/0/1、Ethernet1/0/2、Ethernet1/0/3 |
图2-2 PIM-SM+IGMP+IGMP Snooping典型配置组网图
# 配置SwitchA的VLAN、VLAN接口及其IP地址。
<SwitchA> system-view
System View: return to User View with Ctrl+Z.
[SwitchA] vlan 100
[SwitchA-vlan100] port Ethernet 1/0/1
[SwitchA-vlan100] quit
[SwitchA] vlan 101
[SwitchA-vlan101] port Ethernet 1/0/2
[SwitchA-vlan101] quit
[SwitchA] vlan 102
[SwitchA-vlan102] port Ethernet 1/0/3
[SwitchA-vlan102] quit
[SwitchA] interface Vlan-interface 100
[SwitchA-Vlan-interface100] ip address 10.110.1.1 24
[SwitchA-Vlan-interface100] quit
[SwitchA] interface Vlan-interface 101
[SwitchA-Vlan-interface101] ip address 192.168.1.1 24
[SwitchA-Vlan-interface101] quit
[SwitchA] interface Vlan-interface 102
[SwitchA-Vlan-interface102] ip address 192.168.9.1 24
[SwitchA-Vlan-interface102] quit
请参照图2-2配置其他各交换机的VLAN、VLAN接口及其IP地址,具体的配置过程略。
# 在SwitchA上配置Router ID并配置OSPF协议。
<SwitchA> system-view.
[SwitchA]router id 1.1.1.1
[SwitchA]ospf
[SwitchA-ospf-1]area 0
[SwitchA-ospf-1-area-0.0.0.0]network 10.110.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0]network 192.168.9.0 0.0.0.255
SwitchB、SwitchC、SwitchD和SwitchE的配置与SwitchA相似,配置过程略。
# 在SwitchA上启动组播路由,在各接口上启动PIM-SM,并在Vlan-interface100接口上启动IGMPv2。
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] interface Vlan-interface 100
[SwitchA-Vlan-interface100] igmp enable
[SwitchA-Vlan-interface100] pim sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim sm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim sm
& 说明:
只有存在组播接收者的接口上才有必要启动IGMP,并且由于缺省情况下,启动了IGMP的接口上运行的就是IGMPv2,所以不需要再重复配置IGMP的版本。
Switch B和Switch C的配置与Switch A相似,Switch D和Switch E除了不需要在相应接口上启动IGMP外,其它的配置也与Switch A相似,配置过程略。
# 在Switch D上配置RP通告的服务范围,以及C-BSR和C-RP的位置。
<SwitchD> system-view
[SwitchD] acl number 2005
[SwitchD-acl-basic-2005] rule permit source 225.1.1.0 0.0.0.255
[SwitchD-acl-basic-2005] quit
[SwitchD] pim
[SwitchD-pim] c-bsr vlan-interface 105 24 2
[SwitchD-pim] c-rp vlan-interface 105 group-policy 2005 priority 2
[SwitchD-pim] quit
# 在Switch E上配置RP通告的服务范围,以及C-BSR和C-RP的位置。
<SwitchE> system-view
[SwitchE] acl number 2005
[SwitchE-acl-basic-2005] rule permit source 225.1.1.0 0.0.0.255
[SwitchE-acl-basic-2005] quit
[SwitchE] pim
[SwitchE-pim] c-bsr vlan-interface 102 24 1
[SwitchE-pim] c-rp vlan-interface 102 group-policy 2005 priority 1
[SwitchE-pim] quit
# 在SwitchF上全局启动IGMP Snooping,并在Vlan100内启动IGMP Snooping。
<SwitchF> system-view
[SwitchF] igmp-snooping enable
Enable IGMP-Snooping ok.
[SwitchF] vlan 100
[SwitchF-vlan100] igmp-snooping enable
[SwitchF-vlan100] quit
现在从组播源Source向组播组225.1.1.1发送组播数据,HostA和HostC点播组播组225.1.1.1的组播数据,检验各个交换机的配置效果。
(1) 通过查看命令判断HostA和HostC是否接收到组播数据。
# 查看Switch E上PIM的邻居关系信息。
<SwitchE> display pim neighbor
Neighbor's Address Interface Name Uptime Expires
192.168.9.1 Vlan-interface102 02:47:04 00:01:42
192.168.2.1 Vlan-interface103 02:45:04 00:04:46
192.168.3.1 Vlan-interface104 02:42:24 00:04:45
192.168.4.2 Vlan-interface105 02:43:44 00:05:44
# 查看Switch E上的BSR信息。
<SwitchE> display pim bsr-info
Current BSR Address: 192.168.4.2
Priority: 2
Mask Length: 24
Expires: 00:01:39
Local Host is C-BSR: 192.168.9.2
Priority: 1
Mask Length: 24
# 查看Switch E上的RP信息。
<SwitchE> display pim rp-info
PIM-SM RP-SET information:
BSR is: 192.168.4.2
Group/MaskLen: 225.1.1.0/24
RP 192.168.9.2
Version: 2
Priority: 1
Uptime: 00:03:15
Expires: 00:01:14
RP 192.168.4.2
Version: 2
Priority: 2
Uptime: 00:04:25
Expires: 00:01:09
# 查看Switch A上PIM路由表信息。
<SwitchA> display pim routing-table
PIM-SM Routing Table
Total 1 (S,G) entry, 1 (*,G) entry, 0 (*,*,RP) entry
(*, 225.1.1.1), RP 192.168.9.2
Protocol 0x20: PIMSM, Flag 0x2003: RPT WC NULL_IIF
Uptime: 00:01:33, Timeout in 200 sec
Upstream interface: Null, RPF neighbor: 0.0.0.0
Downstream interface list:
1 oifs
Vlan-interface100, Protocol 0x100: RPT RPT, timeout in 200 sec
(10.110.5.100, 225.1.1.1)
Protocol 0x20: PIMSM, Flag 0x80004: SPT
Uptime: 00:03:43, Timeout in 199 sec
Upstream interface: Vlan-interface102, RPF neighbor: 192.168.9.2
Downstream interface list:
1 oifs
Vlan-interface100, Protocol 0x300: RPT SPT, timeout in 200 sec
Matched 1 (S,G) entry, 1 (*,G) entry, 0 (*,*,RP) entry
Switch B和Switch C上的显示信息与Switch A类似。
# 查看SwitchD上PIM路由表信息。
<SwitchD> display pim routing-table
PIM-SM Routing Table
Total 1 (S,G) entry, 0 (*,G) entry, 0 (*,*,RP) entry
(10.110.5.100, 225.1.1.1)
Protocol 0x20: PIMSM, Flag 0x4: SPT
Uptime: 00:03:03, Timeout in 27 sec
Upstream interface: Vlan-interface300, RPF neighbor: NULL
Downstream interface list:
2 oifs
Vlan-interface101, Protocol 0x300: RPT SPT, timeout in 147 sec
Vlan-interface105, Protocol 0x300: RPT SPT, timeout in 145 sec
Matched 1 (S,G) entry, 0 (*,G) entry, 0 (*,*,RP) entry
# 查看Switch E上的PIM路由表信息。
<SwitchE> display pim routing-table
PIM-SM Routing Table
Total 1 (S,G) entry, 1 (*,G) entry, 0 (*,*,RP) entry
(*,225.1.1.1), RP 192.168.9.2
Protocol 0x20: PIMSM, Flag 0x2003: RPT WC NULL_IIF
Uptime: 00:02:34, Timeout in 176 sec
Upstream interface: Null, RPF neighbor: 0.0.0.0
Downstream interface list:
2 oifs
Vlan-interface102, Protocol 0x100: RPT, timeout in 176 sec
Vlan-interface103, Protocol 0x100: RPT, timeout in 135 sec
(10.110.5.100, 225.1.1.1)
Protocol 0x20: PIMSM, Flag 0x4: SPT
Uptime: 00:03:03, Timeout in 27 sec
Upstream interface: Vlan-interface105, RPF neighbor: 192.168.4.2
Downstream interface list:
2 oifs
Vlan-interface102, Protocol 0x300: RPT SPT, timeout in 147 sec
Vlan-interface103, Protocol 0x300: RPT SPT, timeout in 145 sec
Matched 1 (S,G) entry, 1 (*,G) entry, 0 (*,*,RP) entry
# 查看SwitchF上IGMP Snooping侦测到的组播组信息。
<SwitchF> display igmp-snooping group
Total 1 IP Group(s).
Total 1 MAC Group(s).
Vlan(id):100.
Total 1 IP Group(s).
Total 1 MAC Group(s).
Static router port(s):
Dynamic router port(s):
Ethernet1/0/2
IP group(s):the following ip group(s) match to one mac group.
IP group address:225.1.1.1
Host port(s):Ethernet1/0/19
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):Ethernet1/0/19
# 查看SwitchB含端口信息的组播组信息。
<SwitchB> display mpm group
Total 1 IP Group(s).
Total 1 MAC Group(s).
Vlan(id):200.
Total 1 IP Group(s).
Total 1 MAC Group(s).
Static router port(s):
Dynamic router port(s):
IP group(s):the following ip group(s) match to one mac group.
IP group address:225.1.1.1
Host port(s):Ethernet1/0/24
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):Ethernet1/0/24
Vlan(id):103.
Total 0 IP Group(s).
Total 0 MAC Group(s).
Static router port(s):
Dynamic router port(s):
Ethernet1/0/10
通过以上显示信息可以说明HostA和HostC可以接收到组播数据。
(2) 配置模拟主机加入功能。
现在在SwitchB上配置以太网端口加入指定组播组,以避免由于某些原因而导致的组播交换机认为该网段没有组播组的成员,从而取消相应的路径。
# 配置以太网端口Ethernet1/0/21加入组播组225.1.1.1。
<SwitchB> system-view
[SwitchB] interface Vlan-interface 200
[SwitchB-Vlan-interface200] igmp host-join 225.1.1.1 port Ethernet 1/0/21
# 查看SwitchB含端口信息的组播组信息。
<SwitchB> display mpm group
Total 1 IP Group(s).
Total 1 MAC Group(s).
Vlan(id):200.
Total 1 IP Group(s).
Total 1 MAC Group(s).
Static router port(s):
Dynamic router port(s):
IP group(s):the following ip group(s) match to one mac group.
IP group address:225.1.1.1
Host port(s):Ethernet1/0/21 Ethernet1/0/24
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):Ethernet1/0/21 Ethernet1/0/24
Vlan(id):103.
Total 0 IP Group(s).
Total 0 MAC Group(s).
Static router port(s):
Dynamic router port(s):
Ethernet1/0/10
通过以上显示信息可以看出Ethernet 1/0/21已成为组播组225.1.1.1的主机成员端口。
在某些情况下,没有必要或是没有条件组建三层组播网络时,可以组建一个在所有设备上都启动IGMP Snooping的网络,这样也可以实现某些组播功能。
(1) 如图2-3所示,在一个没有三层设备的纯二层网络环境中,Switch C通过Ethernet1/0/3端口连接组播源(Source),Switch B和Switch C上分别连接至少一个接收者(Receiver);
(2) Switch A、Switch B和Switch C上都运行IGMP Snooping,并由Switch A充当IGMP Snooping查询器;
# 全局启动IGMP Snooping。
<SwitchA> system-view
[SwitchA] igmp-snooping enable
Enable IGMP-Snooping ok.
# 创建VLAN 100,把端口Ethernet1/0/1和Ethernet1/0/2添加到该VLAN中,并在该VLAN内启动IGMP Snooping。
[SwitchA] vlan 100
[SwitchA-vlan100] port Ethernet 1/0/1 Ethernet 1/0/2
[SwitchA-vlan100] igmp-snooping enable
# 在VLAN 100内启动IGMP Snooping查询器。
[SwitchA-vlan100] igmp-snooping querier
[SwitchA-vlan100] quit
# 全局启动IGMP Snooping。
<SwitchB> system-view
[SwitchB] igmp-snooping enable
Enable IGMP-Snooping ok.
# 创建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
# 全局启动IGMP Snooping。
<SwitchC system-view
[SwitchC] igmp-snooping enable
Enable IGMP-Snooping ok.
# 创建VLAN 100,把端口Ethernet1/0/1到Ethernet1/0/3添加到该VLAN中,并在该VLAN内启动IGMP Snooping。
[SwitchC] vlan 100
[SwitchC-vlan100] port Ethernet 1/0/1 to Ethernet 1/0/3
[SwitchC-vlan100] igmp-snooping enable
注意:
由于当交换机上没有组播转发表项的时候,组播报文会在指定VLAN内广播,所以为了防止在组播报文对网络和SwitchC的冲击,组网规划时应尽量将查询器配置在靠近组播源的设备上。
(1) 查看SwitchB的相关显示信息
# 查看Switch B上收到的IGMP报文的统计信息。
<SwitchB> display igmp-snooping statistics
Received IGMP general query packet(s) number:16.
Received IGMP specific query packet(s) number:3.
Received IGMP V1 report packet(s) number:0.
Received IGMP V2 report packet(s) number:53.
Received IGMP leave packet(s) number:1.
Received error IGMP packet(s) number:0.
Sent IGMP specific query packet(s) number:1.
Switch B收到了查询器的IGMP普遍组查询报文和接收者的IGMP报告报文。
# 查看Switch B上的组播组信息。
<Switch B> display igmp-snooping group
Total 1 IP Group(s).
Total 1 MAC Group(s).
Vlan(id):100.
Total 1 IP Group(s).
Total 1 MAC Group(s).
Static router port(s):
Dynamic router port(s):
Ethernet1/0/1
IP group(s):the following ip group(s) match to one mac group.
IP group address:224.1.1.1
Host port(s):Ethernet1/0/2
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):Ethernet1/0/2
以上显示信息表明,Switch B上已经建立起以路由器端口为Ethernet1/0/1和主机成员端口为Ethernet1/0/2的组播组224.1.1.1。
(2) 查看SwitchA的相关显示信息
# 查看Switch A上收到的IGMP报文的统计信息。
<SwitchA> display igmp-snooping statistics
Received IGMP general query packet(s) number:0.
Received IGMP specific query packet(s) number:0.
Received IGMP V1 report packet(s) number:0.
Received IGMP V2 report packet(s) number:53.
Received IGMP leave packet(s) number:1.
Received error IGMP packet(s) number:0.
Sent IGMP specific query packet(s) number:1.
Switch A收到了接收者的IGMP报告报文。
# 查看Switch A上的组播组信息。
<Switch A> display igmp-snooping group
Total 1 IP Group(s).
Total 1 MAC Group(s).
Vlan(id):100.
Total 1 IP Group(s).
Total 1 MAC Group(s).
Static router port(s):
Dynamic router port(s):
IP group(s):the following ip group(s) match to one mac group.
IP group address:224.1.1.1
Host port(s):Ethernet1/0/1
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):Ethernet1/0/1
以上显示信息表明,Switch A上已经建立起以主机成员端口为Ethernet1/0/1的组播组224.1.1.1,由于在SwitchA已经启动了IGMP Snooping查询器,所以没有路由器端口。
(3) 查看SwitchC的相关显示信息
# 查看Switch C上收到的IGMP报文的统计信息。
<SwitchC> display igmp-snooping statistics
Received IGMP general query packet(s) number:10.
Received IGMP specific query packet(s) number:0.
Received IGMP V1 report packet(s) number:0.
Received IGMP V2 report packet(s) number:0.
Received IGMP leave packet(s) number:.0
Received error IGMP packet(s) number:0.
Sent IGMP specific query packet(s) number:0.
Switch C只收到了查询器的IGMP普遍组查询报文。
# 查看Switch C上的组播组信息。
<Switch C> display igmp-snooping group
Total 0 IP Group(s).
Total 0 MAC Group(s).
Vlan(id):100.
Total 0 IP Group(s).
Total 0 MAC Group(s).
Static router port(s):
Dynamic router port(s):
Ethernet1/0/1
以上显示信息可以看出,Switch C上并没有建立起相关组播表项,组播源将组播数据将在Vlan100内广播。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!