17-IGMP Snooping典型配置举例
本章节下载: 17-IGMP Snooping典型配置举例 (260.40 KB)
本章介绍了使用IGMP Snooping相关功能实现在二层管理和控制组播组转发的典型配置举例。
如图1所示,用户网络VLAN 100通过Switch A与PIM-DM域内的IGMP查询器Router A相连,以接收组播源Source发送的组播数据报文。
现要求通过在Switch A上配置IGMP Snooping组播组过滤器,实现用户网络VLAN 100内的用户主机只能接收组播组224.1.1.1的组播数据。
图1 IGMP Snooping组播组过滤器配置组网图
· 为了避免接收者主机收到其它组播组的组播数据报文,还需要在接收者所属的VLAN内开启丢弃未知组播数据报文功能。
· 为实现IGMP Snooping组播组过滤器控制主机加入组播组的范围,需要为其创建相应的基本ACL,并在该ACL规则中指定允许主机加入的组播组范围。
IGMP Snooping组播组过滤器使用的ACL不存在或者其规则为空时,过滤器将过滤掉所有的组播组。
# 全局使能IGMP Snooping,并开启丢弃未知组播数据报文功能。
<SwitchA> system-view
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] drop-unknown
[SwitchA-igmp-snooping] quit
# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/4添加到该VLAN中,并在该VLAN内使能IGMP Snooping。
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 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
配置完成后,Host A发送组播组地址为224.1.1.1的IGMP成员关系报告报文,Host B发送组播组地址为224.1.1.2的IGMP成员关系报告报文。通过查看Switch A上IGMP Snooping组播组的详细信息,验证配置效果。
# 查看Switch A上的IGMP Snooping组播组的详细信息。
[SwitchA] display igmp-snooping group 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, P-PIM 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).
GE1/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):
Attribute: Host Board
Host port(s):total 1 port(s).
GE1/0/4 (D)
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 1 port(s).
GE1/0/4
由显示信息可知,在Switch A上只有组播组(0.0.0.0,224.1.1.1)表项信息,由此可见在Switch A上配置的组播组过滤器已生效。
Switch A上的完整配置信息如下:
#
acl number 2001
rule 0 permit source 224.1.1.1 0
#
igmp-snooping
group-policy 2001 vlan 100
#
vlan 100
igmp-snooping enable
igmp-snooping drop-unknown
#
interface GigabitEthernet1/0/1
port access vlan 100
#
interface GigabitEthernet1/0/2
port access vlan 100
#
interface GigabitEthernet1/0/3
port access vlan 100
#
interface GigabitEthernet1/0/4
port access vlan 100
#
如图2所示,用户网络VLAN 100通过Switch A与PIM-DM域内的IGMP查询器Router A相连,以接收组播源Source发送的组播数据报文;用户网络内使用了环形组网,并在环形网络内的各设备上开启了STP协议来避免环路;用户网络内的各交换机上均开启了丢弃未知组播数据报文功能,来防止未知组播数据报文在用户网络内进行广播。
现要求通过配置IGMP Snooping静态成员端口和IGMP Snooping静态路由器端口实现:
· Host A和Host B固定接收组播组224.1.1.1的组播数据。
· 当Switch A到Switch B之间的两条链路发生切换,且新链路的STP状态稳定后,组播数据可以立即通过新路径传递给接收者。
图2 IGMP Snooping静态端口配置组网图
· 为实现接收者固定接收某组播组的数据,可将设备上连接接收者的端口配置为IGMP Snooping静态成员端口。
· 当链路发生STP切换且稳定后,至少需要等待一个IGMP查询和响应周期完成后,组播数据才能通过新路径传递给接收者,组播数据的传输在这个过程中将中断。为实现组播数据可以立即通过新路径传递给接收者,需要在组成环形网络的交换机上,将处于环形链路中所有可能成为组播转发出端口的端口都配置为IGMP Snooping静路由器端口。
(1) 配置Switch A
# 全局使能IGMP Snooping。
<SwitchA> system-view
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] quit
# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/4添加到该VLAN中,并在该VLAN内使能IGMP Snooping。
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] quit
# 把GigabitEthernet1/0/2和GigabitEthernet1/0/3配置为IGMP Snooping静态路由器端口。
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] igmp-snooping static-router-port vlan 100
[SwitchA-GigabitEthernet1/0/2] quit
[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] igmp-snooping static-router-port vlan 100
[SwitchA-GigabitEthernet1/0/3] quit
(2) 配置Switch B
# 全局使能IGMP Snooping。
<SwitchB> system-view
[SwitchB] igmp-snooping
[SwitchB-igmp-snooping] quit
# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/4添加到该VLAN中,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 100
[SwitchB-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
[SwitchB-vlan100] igmp-snooping enable
[SwitchB-vlan100] quit
# 将端口GigabitEthernet1/0/2和GigabitEthernet1/0/3配置为组播组224.1.1.1的IGMP Snooping静态成员端口。
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] igmp-snooping static-group 224.1.1.1 vlan 100
[SwitchB-GigabitEthernet1/0/2] quit
[SwitchB] interface gigabitethernet 1/0/3
[SwitchB-GigabitEthernet1/0/3] igmp-snooping static-group 224.1.1.1 vlan 100
[SwitchB-GigabitEthernet1/0/3] quit
(3) 配置Switch C
# 全局使能IGMP Snooping。
<SwitchC> system-view
[SwitchC] igmp-snooping
[SwitchC-igmp-snooping] quit
# 创建VLAN 100,把端口GigabitEthernet1/0/1和GigabitEthernet1/0/4添加到该VLAN中,并在该VLAN内使能IGMP Snooping。
[SwitchC] vlan 100
[SwitchC-vlan100] port gigabitethernet 1/0/1 gigabitethernet 1/0/4
[SwitchC-vlan100] igmp-snooping enable
[SwitchC-vlan100] quit
# 把GigabitEthernet1/0/2配置为IGMP Snooping静态路由器端口。
[SwitchC] interface gigabitethernet 1/0/2
[SwitchC-GigabitEthernet1/0/2] igmp-snooping static-router-port vlan 100
[SwitchC-GigabitEthernet1/0/2] quit
配置完成后,Host A和Host B发送组播组地址为224.1.1.1的IGMP成员关系报告报文。通过查看Switch A和Switch B上IGMP Snooping组播组的详细信息,验证配置效果。
# 查看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, P-PIM 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 unit board: Mask(0x000000000000000001)
Router port(s):total 3 port.
GE1/0/1 (D)
GE1/0/2 (S)
GE1/0/3 (S)
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 Board
Host port unit board: Mask(0x000000000000000001)
Host port(s):total 1 port.
GE1/0/2 (D)
MAC group(s):
MAC group address:0100-5e01-0101
Host port unit board: Mask(0x000000000000000001)
Host port(s):total 1 port.
GE1/0/2
由此可见,Switch A上的端口GigabitEthernet1/0/2和GigabitEthernet1/0/3已经成为了IGMP Snooping静态路由器端口。
# 查看Switch B上VLAN 100内IGMP Snooping组播组的详细信息。
[SwitchB] 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, P-PIM 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 unit board: Mask(0x000000000000000001)
Router port(s):total 1 port.
GE1/0/2 (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):
Attribute: Host Board
Host port unit board: Mask(0x000000000000000001)
Host port(s):total 2 port.
GE1/0/2 (S)
GE1/0/3 (S)
MAC group(s):
MAC group address:0100-5e01-0101
Host port unit board: Mask(0x000000000000000001)
Host port(s):total 2 port.
GE1/0/2
GE1/0/3
由此可见,Switch B上的端口GigabitEthernet1/0/2和GigabitEthernet1/0/3成为了组播组224.1.1.1的IGMP Snooping静态成员端口。
(1) Switch A配置信息
#
igmp-snooping
#
vlan 100
igmp-snooping enable
#
interface GigabitEthernet1/0/1
port access vlan 100
#
interface GigabitEthernet1/0/2
port access vlan 100
igmp-snooping static-router-port vlan 100
#
interface GigabitEthernet1/0/3
port access vlan 100
igmp-snooping static-router-port vlan 100
#
interface GigabitEthernet1/0/4
port access vlan 100
#
(2) Switch B配置信息
#
igmp-snooping
#
vlan 100
igmp-snooping enable
#
interface GigabitEthernet1/0/1
port access vlan 100
#
interface GigabitEthernet1/0/2
port access vlan 100
igmp-snooping static-group 224.1.1.1 vlan 100
#
interface GigabitEthernet1/0/3
port access vlan 100
igmp-snooping static-group 224.1.1.1 vlan 100
#
interface GigabitEthernet1/0/4
port access vlan 100
#
(3) Switch C配置信息
#
igmp-snooping
#
vlan 100
igmp-snooping enable
#
interface GigabitEthernet1/0/1
port access vlan 100
#
interface GigabitEthernet1/0/2
port access vlan 100
igmp-snooping static-router-port vlan 100
#
interface GigabitEthernet1/0/3
port access vlan 100
#
interface GigabitEthernet1/0/4
port access vlan 100
#
如图3所示,该网络为纯二层网络,组播源Source 1和Source 2分别向组播组224.1.1.1和225.1.1.1发送组播数据,Host A和Host C是组播组224.1.1.1的接收者,Host B和Host D则是组播组225.1.1.1的接收者。
现要求通过配置IGMP Snooping查询器功能,实现每个组播接收者都能够接收到各自所期望接收到的组播数据。
图3 IGMP Snooping查询器配置组网图
· 为实现上述组网需求,可选择距组播源较近的交换机来充当IGMP Snooping查询器,如本例中的Switch A,以保证在组播源与接收者之间的设备上均有相应的二层组播转发表项。
· IGMP Snooping查询器在缺省情况下发送的普遍组查询报文和特定组查询报文中的源IP地址为0.0.0.0。而对于收到源IP地址为0.0.0.0的查询报文的端口,交换机不会将其设置为动态路由器端口,从而会影响二层组播转发表项的建立并导致组播数据无法正常转发。因此需要改变IGMP Snooping查询器发送IGMP查询报文的源IP地址,将其配置为一个有效的IP地址,以避免上述问题的出现。
(1) 配置Switch A
# 全局使能IGMP Snooping。
<SwitchA> system-view
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] quit
# 创建VLAN 100,并把端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到该VLAN中。
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
# 在VLAN 100内使能IGMP Snooping及IGMP Snooping查询器功能。
[SwitchA-vlan100] igmp-snooping enable
[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
[SwitchB-igmp-snooping] quit
# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/4添加到该VLAN中,并在VLAN 100内使能IGMP Snooping功能。
[SwitchB] vlan 100
[SwitchB-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
[SwitchB-vlan100] igmp-snooping enable
[SwitchB-vlan100] quit
Switch C和Switch D的配置与Switch B相似,配置过程略。
配置完成后,通过在二层网络内的任意一台交换机上使用display igmp-snooping statistics命令查看IGMP报文的统计信息,来验证配置效果,例如:
# 查看Switch B上收到的IGMP报文的统计信息。
[SwitchB-vlan100] display igmp-snooping statistics
Received IGMP general queries:96.
Received IGMPv1 reports:0.
Received IGMPv2 reports:105.
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 IGMPv3 specific queries:0.
Sent IGMPv3 specific sg queries:0.
Received error IGMP messages:0.
由此可见,二层网络内配置了IGMP Snooping查询器后,可以向本网络内发送IGMP查询报文。
· SwitchA配置信息
#
igmp-snooping
#
vlan 100
igmp-snooping enable
igmp-snooping querier
igmp-snooping general-query source-ip 192.168.1.1
igmp-snooping special-query source-ip 192.168.1.1
#
interface GigabitEthernet1/0/1
port access vlan 100
#
interface GigabitEthernet1/0/2
port access vlan 100
#
interface GigabitEthernet1/0/3
port access vlan 100
#
· SwitchB配置信息
#
igmp-snooping
#
vlan 100
igmp-snooping enable
#
interface GigabitEthernet1/0/1
port access vlan 100
#
interface GigabitEthernet1/0/2
port access vlan 100
#
interface GigabitEthernet1/0/3
port access vlan 100
#
interface GigabitEthernet1/0/4
port access vlan 100
#
SwitchC和SwitchD的配置信息和SwitchB的类似。
如图4所示,用户网络VLAN 100通过Switch A与PIM-DM域内的IGMP查询器Router A相连,且用户网络内的各交换机上均开启了IGMP Snooping功能。用户网络内存在众多组播视频信息接收者,且接收者都在频繁切换点播的组播视频信息,从而使IGMP查询器频繁的收到大量的IGMP报告报文和离开报文。
现要求通过配置IGMP Snooping代理,以缓解IGMP查询器的压力。
图4 IGMP Snooping Proxying配置组网图
为了尽量减少上游设备收到的IGMP报告报文和离开报文的数量,可选择在靠近IGMP查询器的交换机上配置IGMP Snooping Proxying功能,例如本例中Switch A。
在配置IGMP Snooping Proxying之前,需在全局和对应VLAN内先后使能IGMP Snooping功能。
(1) 配置Switch A
# 全局使能IGMP Snooping。
<SwitchA> system-view
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] quit
# 创建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到该VLAN中;在该VLAN内使能IGMP Snooping,并使能IGMP Snooping Proxying。
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] igmp-snooping proxying enable
# 配置代理发送IGMP报告报文和离开报文的源IP地址。
[SwitchA-vlan100] igmp-snooping report source-ip 10.1.1.100
[SwitchA-vlan100] igmp-snooping leave source-ip 10.1.1.100
[SwitchA-vlan100] quit
(2) 配置Switch B和Switch C
创建VLAN 100,将连接有接收者的端口加入到该VLAN中,并在该VLAN内使能IGMP Snooping,配置过程略。
当配置完成后,用户网络内的主机分别发送组地址为224.1.1.1的IGMP成员关系报告报文,通过使用display igmp group命令可以查看Router A上IGMP组的信息。
# 查看Router A上IGMP组播组的信息。
[RouterA] display igmp group
Total 1 IGMP Group(s).
Interface group report information of VPN-Instance: public net
GigabitEthernet1/0/1(10.1.1.1):
Total 1 IGMP Group reported
Group Address Last Reporter Uptime Expires
224.1.1.1 10.1.1.100 00:00:06 00:02:04
显示信息中,报告组成员关系的最后一个主机的地址为Switch A上配置的代理发送IGMP报告报文的源IP地址,由此可见,Switch A已代理成员主机向IGMP查询器发送IGMP成员关系报告报文。
此处仅列出Switch A上的完整配置。
#
igmp-snooping
#
vlan 100
igmp-snooping enable
igmp-snooping proxying enable
igmp-snooping report source-ip 10.1.1.100
igmp-snooping leave source-ip 10.1.1.100
#
interface GigabitEthernet1/0/1
port access vlan 100
#
interface GigabitEthernet1/0/2
port access vlan 100
#
interface GigabitEthernet1/0/3
port access vlan 100
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!