04-组播VLAN配置
本章节下载: 04-组播VLAN配置 (230.48 KB)
如图1-1所示,在传统的组播点播方式下,当属于不同VLAN的主机Host A、Host B和Host C同时点播同一组播组时,三层设备(Switch A)需要将组播数据为每个用户VLAN(即主机所属的VLAN)都复制一份后发送给二层设备(Switch B)。这样既造成了带宽的浪费,也给三层设备增加了额外的负担。
图1-1 未运行组播VLAN时的组播数据传输
可以使用组播VLAN功能解决这个问题。在二层设备上配置了组播VLAN后,三层设备只需将组播数据通过组播VLAN向二层设备发送一份即可,而不必向每个用户VLAN都复制一份,从而节省了网络带宽,也减轻了三层设备的负担。
组播VLAN有基于子VLAN和基于端口两种实现和配置方式。
如图1-2所示,接收者主机Host A、Host B和Host C分属不同的用户VLAN。在Switch B上配置VLAN 10为组播VLAN,将所有的用户VLAN都配置为该组播VLAN的子VLAN,并在组播VLAN及其子VLAN内都使能IGMP Snooping。
图1-2 基于子VLAN的组播VLAN示意图
配置完成后,IGMP Snooping将在组播VLAN中对路由器端口进行维护,而在各子VLAN中对成员端口进行维护。这样,Switch A只需将组播数据通过组播VLAN向Switch B发送一份即可,Switch B会将其复制分发给该组播VLAN内那些有接收者的子VLAN。
如图1-3所示,接收者主机Host A、Host B和Host C分属不同的用户VLAN,Switch B上的所有用户端口(即连接主机的端口)均为Hybrid类型。在Switch B上配置VLAN 10为组播VLAN,将所有用户端口都添加到该组播VLAN内,并在组播VLAN和所有用户VLAN内都使能IGMP Snooping。
配置完成后,当Switch B上的用户端口收到来自主机的IGMP报文时,会为其打上组播VLAN的Tag并上送给IGMP查询器,于是IGMP Snooping就可以在组播VLAN中对路由器端口和成员端口进行统一的维护。这样,Switch A只需将组播数据通过组播VLAN向Switch B发送一份即可,Switch B会将其复制分发给该组播VLAN内的所有成员端口。
要配置为组播VLAN的指定VLAN必须存在。
若在设备上同时配置了基于子VLAN和基于端口的组播VLAN,则基于端口的组播VLAN将优先生效。
在已使能IP组播路由的设备上不允许再配置组播VLAN,否则系统将提示出错;而在已配置组播VLAN的设备上则不建议再使能IP组播路由,否则将导致组播转发异常。
对于已配置PIM或IGMP的VLAN接口,不允许将其对应的VLAN再配置为组播VLAN或其子VLAN,否则系统将提示出错;而在组播VLAN及其子VLAN对应的VLAN接口上则不建议再配置PIM或IGMP,否则将导致组播转发异常。
组播VLAN功能在Secondary VLAN中不会生效,因此不建议在Secondary VLAN中配置此功能。有关Secondary VLAN的详细介绍,请参见“二层技术-以太网交换配置指导”中的“Private VLAN”。
要添加到组播VLAN内的子VLAN必须存在,且不能是组播VLAN或其它组播VLAN的子VLAN。
在配置基于子VLAN的组播VLAN之前,需完成以下任务:
· 创建相应的VLAN
· 在欲配置为组播VLAN及其子VLAN的所有VLAN内都使能IGMP Snooping
(1) 进入系统视图。
system-view
(2) 配置指定VLAN为组播VLAN,并进入组播VLAN视图。
multicast-vlan vlan-id
缺省情况下,VLAN不是组播VLAN。
(3) 向组播VLAN内添加子VLAN。
subvlan vlan-list
既可以在组播VLAN内添加端口,也可以在端口上指定其所属的组播VLAN,这两种配置方式是等效的。
一个端口只能属于一个组播VLAN。
在配置基于端口的组播VLAN之前,需完成以下任务:
· 创建相应的VLAN
· 在欲配置为组播VLAN的VLAN内使能IGMP Snooping
· 在所有的用户VLAN内都使能IGMP Snooping
· 配置用户端口属性,保证当二层设备通过组播VLAN收到来自上游、打有组播VLAN Tag的组播数据报文时,会将其Tag去掉后再向下游转发。有关配置用户端口属性的详细介绍,请参见“二层技术—以太网交换命令参考”中的“VLAN”。
(1) 进入系统视图。
system-view
(2) 配置指定VLAN为组播VLAN,并进入组播VLAN视图。
multicast-vlan vlan-id
缺省情况下,VLAN不是组播VLAN。
(3) 向组播VLAN内添加端口。
port interface-list
(1) 进入系统视图。
system-view
(2) 配置指定VLAN为组播VLAN,并进入组播VLAN视图。
multicast-vlan vlan-id
缺省情况下,VLAN不是组播VLAN。
(3) 退回系统视图。
quit
(4) 进入二层接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(5) 指定端口所属的组播VLAN。
port multicast-vlan vlan-id
缺省情况下,端口不属于任何组播VLAN。
用户可以调整组播VLAN转发表项的最大数量,当所有组播VLAN内维护的表项总数达到最大数量后,将不再创建新的表项,直至有表项被老化或被手工删除。
(1) 进入系统视图。
system-view
(2) 配置组播VLAN转发表项的最大数量。
multicast-vlan entry-limit limit
缺省情况下,组播VLAN转发表项的最大数量为8000。
在完成上述配置后,在任意视图下执行display命令可以显示配置后组播VLAN的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除组播VLAN的统计信息。
表1-1 组播VLAN显示和维护
命令 |
|
显示组播VLAN的信息 |
display multicast-vlan [ vlan-id ] |
显示组播VLAN转发表的信息 |
(独立运行模式) display multicast-vlan forwarding-table [ group-address [ mask { mask-length | mask } ] | source-address [ mask { mask-length | mask } ] | slot slot-number | subvlan vlan-id | vlan vlan-id ] * (IRF模式) display multicast-vlan forwarding-table [ group-address [ mask { mask-length | mask } ] | source-address [ mask { mask-length | mask } ] | chassis chassis-number slot slot-number | subvlan vlan-id | vlan vlan-id ] * |
显示组播VLAN的组播组表项信息 |
(独立运行模式) display multicast-vlan group [ source-address | group-address | slot slot-number | verbose | vlan vlan-id ] * (IRF模式) display multicast-vlan group [ source-address | group-address | chassis chassis-number slot slot-number | verbose | vlan vlan-id ] * |
清除组播VLAN的组播组表项 |
reset multicast-vlan group [ source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | vlan vlan-id ] * |
· 如图1-4所示,三层交换机Switch A通过接口VLAN-interface20连接组播源(Source),通过接口VLAN-interface10连接二层交换机Switch B;Switch A上运行IGMPv2,Switch B上运行版本2的IGMP Snooping,并由Switch A充当IGMP查询器。
· 组播源向组播组224.1.1.1发送组播数据,Host A~Host C都是该组播组的接收者(Receiver),且分别属于VLAN 2~VLAN 4。
· 通过在Switch B上配置基于子VLAN的组播VLAN,使Switch A通过组播VLAN向Switch B下分属不同用户VLAN的主机分发组播数据。
图1-4 基于子VLAN的组播VLAN配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
(1) 配置Switch A
# 使能IP组播路由。
<SwitchA> system-view
[SwitchA] multicast routing
[SwitchA-mrib] quit
# 创建VLAN 20,并将端口HundredGigE1/0/2加入该VLAN。
[SwitchA] vlan 20
[SwitchA-vlan20] port hundredgige 1/0/2
[SwitchA-vlan20] quit
# 在接口VLAN-interface20上配置IP地址,并使能PIM-DM。
[SwitchA] interface vlan-interface 20
[SwitchA-Vlan-interface20] ip address 1.1.1.2 24
[SwitchA-Vlan-interface20] pim dm
[SwitchA-Vlan-interface20] quit
# 创建VLAN 10,配置端口HundredGigE1/0/1为Hybrid端口,并允许VLAN 10的报文带Tag通过。
[SwitchA] vlan 10
[SwitchA-vlan10] quit
[SwitchA] interface hundredgige 1/0/1
[SwitchA-HundredGigE1/0/1] port link-type hybrid
[SwitchA-HundredGigE1/0/1] port hybrid vlan 10 tagged
[SwitchA-HundredGigE1/0/1] quit
# 在接口VLAN-interface10上配置IP地址,并使能IGMP。
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] ip address 10.110.1.1 24
[SwitchA-Vlan-interface10] igmp enable
[SwitchA-Vlan-interface10] quit
(2) 配置Switch B
# 开启设备的IGMP Snooping。
<SwitchB> system-view
[SwitchB] igmp-snooping
[SwitchB-igmp-snooping] quit
# 创建VLAN 2,将端口HundredGigE1/0/2加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 2
[SwitchB-vlan2] port hundredgige 1/0/2
[SwitchB-vlan2] igmp-snooping enable
[SwitchB-vlan2] quit
# 创建VLAN 3,将端口HundredGigE1/0/3加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 3
[SwitchB-vlan3] port hundredgige 1/0/3
[SwitchB-vlan3] igmp-snooping enable
[SwitchB-vlan3] quit
# 创建VLAN 4,将端口HundredGigE1/0/4加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 4
[SwitchB-vlan4] port hundredgige 1/0/4
[SwitchB-vlan4] igmp-snooping enable
[SwitchB-vlan4] quit
# 创建VLAN 10,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 10
[SwitchB-vlan10] igmp-snooping enable
[SwitchB-vlan10] quit
# 配置端口HundredGigE1/0/1为Hybrid端口,并允许VLAN 10的报文带Tag通过。
[SwitchB] interface hundredgige 1/0/1
[SwitchB-HundredGigE1/0/1] port link-type hybrid
[SwitchB-HundredGigE1/0/1] port hybrid vlan 10 tagged
[SwitchB-HundredGigE1/0/1] quit
# 配置VLAN 10为组播VLAN,并把VLAN 2~VLAN 4都配置为该组播VLAN的子VLAN。
[SwitchB] multicast-vlan 10
[SwitchB-mvlan-10] subvlan 2 to 4
[SwitchB-mvlan-10] quit
# 显示Switch B上所有组播VLAN的信息。
[SwitchB] display multicast-vlan
Total 1 multicast VLANs.
Multicast VLAN 10:
Sub-VLAN list(3 in total):
2-4
Port list(0 in total):
# 显示Switch B上组播VLAN的所有组播组表项信息。
[SwitchB] display multicast-vlan group
Total 1 entries.
Multicast VLAN 10: Total 1 entries.
(0.0.0.0, 224.1.1.1)
Sub-VLANs (3 in total):
VLAN 2
VLAN 3
VLAN 4
由此可见,组播VLAN(VLAN 10)在各子VLAN(VLAN 2~VLAN 4)内维护组播组表项。
· 如图1-5所示,三层交换机Switch A通过接口VLAN-interface20连接组播源(Source),通过接口VLAN-interface10连接二层交换机Switch B;Switch A上运行IGMPv2,Switch B上运行版本2的IGMP Snooping,并由Switch A充当IGMP查询器。
· 组播源向组播组224.1.1.1发送组播数据,Host A~Host C都是该组播组的接收者(Receiver),且分别属于VLAN 2~VLAN 4。
· 通过在Switch B上配置基于端口的组播VLAN,使Switch A通过组播VLAN向Switch B下分属不同用户VLAN的主机分发组播数据。
图1-5 基于端口的组播VLAN配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
(1) 配置Switch A
# 使能IP组播路由。
<SwitchA> system-view
[SwitchA] multicast routing
[SwitchA-mrib] quit
# 创建VLAN 20,并将端口HundredGigE1/0/2加入该VLAN。
[SwitchA] vlan 20
[SwitchA-vlan20] port hundredgige 1/0/2
[SwitchA-vlan20] quit
# 在接口VLAN-interface20上配置IP地址,并使能PIM-DM。
[SwitchA] interface vlan-interface 20
[SwitchA-Vlan-interface20] ip address 1.1.1.2 24
[SwitchA-Vlan-interface20] pim dm
[SwitchA-Vlan-interface20] quit
# 创建VLAN 10,将端口HundredGigE1/0/1加入该VLAN。
[SwitchA] vlan 10
[SwitchA-vlan10] port hundredgige 1/0/1
[SwitchA-vlan10] quit
# 在接口VLAN-interface10上配置IP地址,并使能IGMP。
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] ip address 10.110.1.1 24
[SwitchA-Vlan-interface10] igmp enable
[SwitchA-Vlan-interface10] quit
(2) 配置Switch B
# 开启设备的IGMP Snooping。
<SwitchB> system-view
[SwitchB] igmp-snooping
[SwitchB-igmp-snooping] quit
# 创建VLAN 10,将端口HundredGigE1/0/1加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 10
[SwitchB-vlan10] port hundredgige 1/0/1
[SwitchB-vlan10] igmp-snooping enable
[SwitchB-vlan10] quit
# 创建VLAN 2,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 2
[SwitchB-vlan2] igmp-snooping enable
[SwitchB-vlan2] quit
# 创建VLAN 3,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 3
[SwitchB-vlan3] igmp-snooping enable
[SwitchB-vlan3] quit
# 创建VLAN 4,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 4
[SwitchB-vlan4] igmp-snooping enable
[SwitchB-vlan4] quit
# 配置端口HundredGigE1/0/2为Hybrid类型,缺省VLAN为VLAN 2;允许VLAN 2和VLAN 10的报文不带Tag通过。
[SwitchB] interface hundredgige 1/0/2
[SwitchB-HundredGigE1/0/2] port link-type hybrid
[SwitchB-HundredGigE1/0/2] port hybrid pvid vlan 2
[SwitchB-HundredGigE1/0/2] port hybrid vlan 2 untagged
[SwitchB-HundredGigE1/0/2] port hybrid vlan 10 untagged
[SwitchB-HundredGigE1/0/2] quit
# 配置端口HundredGigE1/0/3为Hybrid类型,缺省VLAN为VLAN 3;允许VLAN 3和VLAN 10的报文不带Tag通过。
[SwitchB] interface hundredgige 1/0/3
[SwitchB-HundredGigE1/0/3] port link-type hybrid
[SwitchB-HundredGigE1/0/3] port hybrid pvid vlan 3
[SwitchB-HundredGigE1/0/3] port hybrid vlan 3 untagged
[SwitchB-HundredGigE1/0/3] port hybrid vlan 10 untagged
[SwitchB-HundredGigE1/0/3] quit
# 配置端口HundredGigE1/0/4为Hybrid类型,缺省VLAN为VLAN 4;允许VLAN 4和VLAN 10的报文不带Tag通过。
[SwitchB] interface hundredgige 1/0/4
[SwitchB-HundredGigE1/0/4] port link-type hybrid
[SwitchB-HundredGigE1/0/4] port hybrid pvid vlan 4
[SwitchB-HundredGigE1/0/4] port hybrid vlan 4 untagged
[SwitchB-HundredGigE1/0/4] port hybrid vlan 10 untagged
[SwitchB-HundredGigE1/0/4] quit
# 配置VLAN 10为组播VLAN。
[SwitchB] multicast-vlan 10
# 将端口HundredGigE1/0/2到HundredGigE1/0/3加入组播VLAN 10。
[SwitchB-mvlan-10] port hundredgige 1/0/2 to hundredgige 1/0/3
[SwitchB-mvlan-10] quit
# 配置端口HundredGigE1/0/4也属于组播VLAN 10。
[SwitchB] interface hundredgige 1/0/4
[SwitchB-HundredGigE1/0/4] port multicast-vlan 10
[SwitchB-HundredGigE1/0/4] quit
# 显示Switch B上所有组播VLAN的信息。
[SwitchB] display multicast-vlan
Total 1 multicast VLANs.
Multicast VLAN 10:
Sub-VLAN list(0 in total):
Port list(3 in total):
HGE1/0/2
HGE1/0/3
HGE1/0/4
# 显示Switch B上动态组播组的IGMP Snooping转发表项信息。
[SwitchB] display igmp-snooping group
Total 1 entries.
VLAN 10: Total 1 entries.
(0.0.0.0, 224.1.1.1)
Host slots (0 in total):
Host ports (3 in total):
HGE1/0/2 (00:03:23)
HGE1/0/3 (00:04:07)
HGE1/0/4 (00:04:16)
由此可见,IGMP Snooping统一在组播VLAN(VLAN 10)中维护成员端口。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!