01-IGMP Snooping典型配置举例
本章节下载: 01-IGMP Snooping典型配置举例 (267.02 KB)
目 录
本文档介绍了IGMP Snooping组策略和静态端口的典型配置举例。
IGMP Snooping(Internet Group Management Protocol Snooping,互联网组管理协议窥探)运行在二层设备上,通过侦听三层设备与主机之间的IGMP报文来生成二层组播转发表,从而实现组播数据报文在二层的按需分发。
本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。
如_组策略配置组网图所示,用户网络VLAN 100通过Switch A接入到PIM-DM域,Router A上运行IGMP,Switch A上运行IGMP Snooping,并由Router A充当IGMP查询器。要求通过在Switch A上开启IGMP Snooping功能并配置组播组过滤器,实现如下需求:
· 用户网络VLAN 100内的组播接收者Host A只能接收发往组播组224.1.1.1的组播数据,其余所有组播接收者(例如Host B和Host C)只能接收发往组播组225.1.1.1的组播数据;
· Switch A将收到的未知组播数据直接丢弃,避免在其所属的VLAN 100内广播。
· 缺省情况下,Switch A上IGMP Snooping版本为2,只能对IGMPv1和IGMPv2报文进行处理,对IGMPv3报文则不进行处理,而是在VLAN内将其广播。为避免这种情况,需要配置VLAN 100内的IGMP Snooping版本为3。
· 缺省情况下,在配置的IGMP Snooping策略允许的组播数据之外的其余组播数据报文会在用户网络VLAN 100内被广播,导致VLAN 100内的组播接收者可以收到这类组播报文。为避免这种情况,需要在VLAN 100内开启丢弃未知组播数据报文功能。
· 为实现IGMP Snooping组播组过滤器控制主机加入组播组的范围,需要为其创建相应的基本ACL,并在该ACL规则中指定允许主机加入的组播组范围。
本举例是在R2825版本上进行配置和验证的。
· 启动指定VLAN的IGMP Snooping前,应首先在系统视图下启动全局IGMP Snooping功能。
· 用户既可在IGMP-Snooping视图下对所有端口进行全局配置组播组过滤器,也可在接口视图下只对当前端口进行配置组播组过滤器,后者的配置优先级较高。
(1) 配置准备
# 配置PIM-DM域内路由器上各接口的IP地址和子网掩码,具体配置过程略。
# 配置PIM-DM域内各路由器之间采用静态或动态路由协议进行互连,确保PIM-DM域内部在网络层互通,具体配置过程略。
# 在各路由器上配置PIM-DM协议,以建立组播路由转发表项,实现组播数据可以从组播源到达组播接收者,具体配置过程略。
(2) 配置Router A
# 使能IP组播路由。
<RouterA> system-view
[RouterA] multicast routing
[RouterA-mrib] quit
# 在接口HundredGigE1/0/1上使能IGMP功能并指定版本为3。
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] igmp enable
[RouterA-HundredGigE1/0/1] igmp version 3
[RouterA-HundredGigE1/0/1] quit
(3) 配置Switch A
# 全局使能IGMP Snooping。
<SwitchA> system-view
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] quit
# 创建VLAN 100,把端口HundredGigE1/0/1到HundredGigE1/0/4加入该VLAN;在该VLAN内使能IGMP Snooping并指定版本为3,同时开启丢弃未知组播数据报文功能。
[SwitchA] vlan 100
[SwitchA-vlan100] port hundredgige 1/0/1 to hundredgige 1/0/4
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] igmp-snooping version 3
[SwitchA-vlan100] igmp-snooping drop-unknown
[SwitchA-vlan100] quit
# 配置组播组过滤器2000,以限定VLAN 100内的主机Host A只能加入组播组224.1.1.1。
[SwitchA] acl basic 2000
[SwitchA-acl-ipv4-basic-2000] rule permit source 224.1.1.1 0
[SwitchA-acl-ipv4-basic-2000] quit
[SwitchA] interface hundredgige 1/0/2
[SwitchA-HundredGigE1/0/2] igmp-snooping group-policy 2000 vlan 100
[SwitchA-HundredGigE1/0/2] quit
# 配置组播组过滤器2001,以限定VLAN 100内的其余所有主机只能加入组播组225.1.1.1。
[SwitchA] acl basic 2001
[SwitchA-acl-ipv4-basic-2001] rule permit source 225.1.1.1 0
[SwitchA-acl-ipv4-basic-2001] quit
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] group-policy 2001 vlan 100
[SwitchA-igmp-snooping] quit
组播源分别向组播组224.1.1.1、224.2.2.2和225.1.1.1发送组播数据,Host A、Host B和Host C也都加入了这三个组播组。
# 查看Switch A上VLAN 100内动态IGMP Snooping组播组的信息。
[SwitchA] display igmp-snooping group vlan 100
Total 2 entries.
VLAN 100: Total 2 entries.
(0.0.0.0, 224.1.1.1)
Host ports (1 in total):
HGE1/0/2 (00:03:09)
(0.0.0.0, 225.1.1.1)
Host ports (2 in total):
HGE1/0/3 (00:04:04)
HGE1/0/4 (00:02:38)
由此可见,Host A所在的端口HundredGigE1/0/2已加入组播组224.1.1.1,但未加入组播组224.2.2.2和225.1.1.1;Host B和Host C所在的端口HundredGigE1/0/3和HundredGigE1/0/4均已加入组播组225.1.1.1,但都未加入组播组224.1.1.1和224.2.2.2,这表明组播组过滤器已生效。
· Router A:
#
interface HundredGigE1/0/1
port link-mode route
ip address 10.1.1.1 255.255.255.0
igmp enable
igmp version 3
#
multicast routing
#
· Switch A:
#
igmp-snooping
group-policy 2001 vlan 100
#
vlan 100
igmp-snooping enable
igmp-snooping drop-unknown
igmp-snooping version 3
#
interface HundredGigE1/0/1
port link-mode bridge
port access vlan 100
#
interface HundredGigE1/0/2
port link-mode bridge
port access vlan 100
igmp-snooping group-policy 2000 vlan 100
#
interface HundredGigE1/0/3
port link-mode bridge
port access vlan 100
#
interface HundredGigE1/0/4
port link-mode bridge
port access vlan 100
#
acl basic 2000
rule 0 permit source 224.1.1.1 0
#
acl basic 2001
rule 0 permit source 225.1.1.1 0
#
如_静态端口配置组网图所示,用户网络VLAN 100通过Switch A接入到PIM-DM域,用户网络内的各设备上开启了IGMP Snooping功能,路由器Router A上运行IGMPv2,成为本网段的IGMP查询器。
为提高用户网络数据传输的可靠性,用户网络使用了环形组网;同时为了避免环路,用户网络中开启了STP协议,Switch A到Switch B的两条链路之一(例如Switch A—Switch B或Switch A—Switch C—Switch B)会被STP协议阻断。
要求通过配置静态路由器端口和静态成员端口实现如下需求:
· 当Switch A到Switch B的两条链路发生切换,且新链路的STP状态稳定后,组播数据可以立即通过新路径传递给接收者。
· 组播接收者Host A、Host B和Host C可固定的接收发往组播组224.1.1.1的组播数据。
· 缺省情况下,Switch A到Switch B的两条链路发生切换且稳定后至少需要等待一个IGMP查询和响应周期,组播数据才能通过新路径传递给接收者,组播数据的传输在这个过程中将中断。为避免这种情况的发生,需要将Switch A的HundredGigE1/0/2、HundredGigE1/0/3端口,Switch B的HundredGigE1/0/4端口和Switch C的HundredGigE1/0/2端口配置为静态路由器端口,从而将组播流引到静态路由器端口上,使组播流能够快速切换到新路径上进行传输。
· 为使Host A、Host B和Host C成为组播组224.1.1.1的固定接收者,需要将Switch B上的端口HundredGigE1/0/2和HundredGigE1/0/3及Switch C上的端口HundredGigE1/0/3均配置为组播组224.1.1.1的静态成员端口。
本举例是在R2825版本上进行配置和验证的。
启动指定VLAN的IGMP Snooping前,应首先在系统视图下启动全局IGMP Snooping功能,否则将无法配置成功。
(1) 配置准备
# 配置PIM-DM域内路由器上各接口的IP地址和子网掩码,具体配置过程略。
# 配置PIM-DM域内的各路由器之间采用OSPF协议进行互连,确保PIM-DM域内部在网络层互通,具体配置过程略。
# 在各路由器上配置PIM-DM协议,以建立组播路由转发表项,实现组播数据可以从组播源到达接收者,具体配置过程略。
(2) 配置Router A
# 使能IP组播路由。
<RouterA> system-view
[RouterA] multicast routing
[RouterA-mrib] quit
# 在接口HundredGigE1/0/1上使能IGMP功能。
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] igmp enable
[RouterA-HundredGigE1/0/1] quit
(3) 配置Switch A
# 全局使能IGMP Snooping。
<SwitchA> system-view
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] quit
# 创建VLAN 100,把端口HundredGigE1/0/1到HundredGigE1/0/3加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchA] vlan 100
[SwitchA-vlan100] port hundredgige 1/0/1 to hundredgige 1/0/3
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] quit
# 把端口HundredGigE1/0/2和HundredGigE1/0/3配置为静态路由器端口。
[SwitchA] interface hundredgige 1/0/2
[SwitchA-HundredGigE1/0/2] igmp-snooping static-router-port vlan 100
[SwitchA-HundredGigE1/0/2] quit
[SwitchA] interface HundredGigE 1/0/3
[SwitchA-HundredGigE1/0/3] igmp-snooping static-router-port vlan 100
[SwitchA-HundredGigE1/0/3] quit
(4) 配置Switch B
# 全局使能IGMP Snooping。
<SwitchB> system-view
[SwitchB] igmp-snooping
[SwitchB-igmp-snooping] quit
# 创建VLAN 100,把端口HundredGigE1/0/1和HundredGigE1/0/4加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 100
[SwitchB-vlan100] port hundredgige 1/0/1 hundredgige 1/0/4
[SwitchB-vlan100] igmp-snooping enable
[SwitchB-vlan100] quit
# 把端口HundredGigE1/0/4配置为静态路由器端口。
[SwitchB] interface hundredgige 1/0/4
[SwitchB-HundredGigE1/0/4] igmp-snooping static-router-port vlan 100
[SwitchB-HundredGigE1/0/4] quit
# 在端口HundredGigE1/0/2和HundredGigE1/0/3上配置静态加入组播组224.1.1.1。
[SwitchB] interface hundredgige 1/0/2
[SwitchB-HundredGigE1/0/2] igmp-snooping static-group 224.1.1.1 vlan 100
[SwitchB-HundredGigE1/0/2] quit
[SwitchB] interface hundredgige 1/0/3
[SwitchB-HundredGigE1/0/3] igmp-snooping static-group 224.1.1.1 vlan 100
[SwitchB-HundredGigE1/0/3] quit
(5) 配置Switch C
# 全局使能IGMP Snooping。
<SwitchC> system-view
[SwitchC] igmp-snooping
[SwitchC-igmp-snooping] quit
# 创建VLAN 100,把端口HundredGigE1/0/1到HundredGigE1/0/4加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchC] vlan 100
[SwitchC-vlan100] port hundredgige 1/0/1 to hundredgige 1/0/4
[SwitchC-vlan100] igmp-snooping enable
[SwitchC-vlan100] quit
# 把端口HundredGigE1/0/2配置为静态路由器端口。
[SwitchC] interface hundredgige 1/0/2
[SwitchC-HundredGigE1/0/2] igmp-snooping static-router-port vlan 100
[SwitchC-HundredGigE1/0/2] quit
# 在端口HundredGigE1/0/3上配置静态加入组播组224.1.1.1。
[SwitchC] interface hundredgige 1/0/3
[SwitchC-HundredGigE1/0/3] igmp-snooping static-group 224.1.1.1 vlan 100
[SwitchC-HundredGigE1/0/3] quit
配置完成后,用户网络内的主机暂时不加入任何组播组。查看Switch A和Switch C上IGMP Snooping静态路由器端口,以及Switch B上静态IGMP Snooping组播组的信息,来验证配置效果。
# 查看Switch A上VLAN 100内静态路由器端口的信息。
[SwitchA] display igmp-snooping static-router-port vlan 100
VLAN 100:
Router ports (2 in total):
HGE1/0/2
HGE1/0/3
由此可见,Switch A上的端口HundredGigE1/0/2和HundredGigE1/0/3已经成为了静态路由器端口。
# 查看Switch B上VLAN 100内静态路由器端口的信息。
[SwitchB] display igmp-snooping static-router-port vlan 100
VLAN 100:
Router ports (1 in total):
HGE1/0/4
由此可见,Switch B上的端口HundredGigE1/0/4已经成为了静态路由器端口。
# 查看Switch B上VLAN 100内静态IGMP Snooping组播组的信息。
[SwitchB] display igmp-snooping static-group vlan 100
Total 1 entries.
VLAN 100: Total 1 entries.
(0.0.0.0, 224.1.1.1)
Host ports (2 in total):
HGE1/0/2
HGE1/0/3
由此可见,Switch B上的端口HundredGigE1/0/2和HundredGigE1/0/3已经成为了组播组224.1.1.1的静态成员端口。
# 查看Switch C上VLAN 100内静态路由器端口的信息。
[SwitchC] display igmp-snooping static-router-port vlan 100
VLAN 100:
Router ports (1 in total):
HGE1/0/2
由此可见,Switch C上的端口HundredGigE1/0/2已经成为了静态路由器端口。
# 查看Switch C上VLAN 100内静态IGMP Snooping组播组的信息。
[SwitchC] display igmp-snooping static-group vlan 100
Total 1 entries.
VLAN 100: Total 1 entries.
(0.0.0.0, 224.1.1.1)
Host ports (1 in total):
HGE1/0/3
由此可见,Switch C上的端口HundredGigE1/0/3已经成为了组播组224.1.1.1的静态成员端口。
· RouterA:
#
interface HundredGigE1/0/1
port link-mode route
ip address 10.1.1.1 255.255.255.0
igmp enable
#
multicast routing
#
· Switch A:
#
igmp-snooping
#
vlan 100
igmp-snooping enable
#
interface HundredGigE1/0/1
port link-mode bridge
port access vlan 100
#
interface HundredGigE1/0/2
port link-mode bridge
port access vlan 100
igmp-snooping static-router-port vlan 100
#
interface HundredGigE1/0/3
port link-mode bridge
port access vlan 100
igmp-snooping static-router-port vlan 100
#
· Switch B:
#
igmp-snooping
#
vlan 100
igmp-snooping enable
#
interface HundredGigE1/0/1
port link-mode bridge
port access vlan 100
#
interface HundredGigE1/0/2
port link-mode bridge
port access vlan 100
igmp-snooping static-group 224.1.1.1 vlan 100
#
interface HundredGigE1/0/3
port link-mode bridge
port access vlan 100
igmp-snooping static-group 224.1.1.1 vlan 100
#
interface HundredGigE1/0/4
port link-mode bridge
port access vlan 100
igmp-snooping static-router-port vlan 100
#
· Switch C:
#
igmp-snooping
#
vlan 100
igmp-snooping enable
#
interface HundredGigE1/0/1
port link-mode bridge
port access vlan 100
#
interface HundredGigE1/0/2
port link-mode bridge
port access vlan 100
igmp-snooping static-router-port vlan 100
#
interface HundredGigE1/0/3
port link-mode bridge
port access vlan 100
igmp-snooping static-group 224.1.1.1 vlan 100
#
interface HundredGigE1/0/4
port link-mode bridge
port access vlan 100
#
· H3C S12500X-AF系列以太网交换机IP组播配置指导-R28xx系列
· H3C S12500X-AF系列以太网交换机IP组播命令参考-R28xx系列
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!