04-组播VLAN配置
本章节下载: 04-组播VLAN配置 (353.58 KB)
目 录
如图1-1所示,在传统的组播点播方式下,当属于不同VLAN的主机Host A、Host B和Host C同时点播同一组播组时,三层设备(Switch A)需要将组播数据为每个用户VLAN(即主机所属的VLAN)都复制一份后发送给二层设备(Switch B)。这样既造成了带宽的浪费,也给三层设备增加了额外的负担。
图1-1 未运行组播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反向传输:配置了组播VLAN的二层设备下游连接的是组播源,二层设备收到下游组播源发送的组播流量时,对照组播VLAN中配置的子VLAN或成员端口与组播VLAN的映射关系,将组播报文中的用户VLAN修改成组播VLAN,然后通过组播VLAN把组播流量广播到上层设备中。上层设备收到组播流量后按三层组播转发过程进行转发。
表1-1 组播VLAN配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置基于子VLAN的组播VLAN |
二者必选其一 |
||
配置基于端口的组播VLAN |
配置用户端口属性 |
||
配置组播VLAN端口 |
|||
配置组播VLAN转发表项的最大数量 |
可选 |
· 若在设备上同时配置了基于子VLAN和基于端口的组播VLAN,则基于端口的组播VLAN将优先生效。
· 组播VLAN功能在Secondary VLAN中不会生效,因此不建议在Secondary VLAN中配置此功能。有关Secondary VLAN的详细介绍,请参见“二层技术-以太网交换配置指导”中的“Private VLAN”。
在配置基于子VLAN的组播VLAN之前,需完成以下任务:
· 创建相应的VLAN
· 在欲配置为组播VLAN及其子VLAN的所有VLAN内都使能IGMP Snooping
首先需要把某个VLAN配置为组播VLAN,再将用户VLAN添加到该组播VLAN内,使其成为组播VLAN的子VLAN。
· 要配置为组播VLAN的指定VLAN必须存在。
· 要添加到组播VLAN内的子VLAN必须存在,且不能是组播VLAN或其它组播VLAN的子VLAN。
· 组播vlan使用时,不允许有某一接口设置为trunk类型后既存在于主vlan又存在于子vlan中。
表1-2 配置基于子VLAN的组播VLAN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置指定VLAN为组播VLAN,并进入组播VLAN视图 |
multicast-vlan vlan-id |
缺省情况下,VLAN不是组播VLAN |
向组播VLAN内添加子VLAN |
subvlan vlan-list |
缺省情况下,组播VLAN内没有子VLAN |
在配置基于端口的组播VLAN时,需要先配置各用户端口的属性,然后再将配置好的用户端口添加到组播VLAN内。
只允许将二层以太网接口、二层聚合接口类型的用户端口配置为组播VLAN的端口。
在配置基于端口的组播VLAN之前,需完成以下任务:
· 创建相应的VLAN
· 在欲配置为组播VLAN的VLAN内使能IGMP Snooping
· 在所有的用户VLAN内都使能IGMP Snooping
首先,配置用户端口为Hybrid类型,允许用户VLAN的报文通过,缺省VLAN为其所属的用户VLAN。然后,配置用户端口允许组播VLAN的报文不带Tag通过,这样,当二层设备通过组播VLAN收到来自上游、打有组播VLAN Tag的组播数据报文时,会将其Tag去掉后再向下游转发。
有关port link-type、port hybrid pvid vlan和port hybrid vlan命令的详细介绍,请参见“二层技术-以太网交换命令参考”中的“VLAN”。
表1-3 配置用户端口属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置用户端口的链路类型为Hybrid类型 |
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通过 |
首先需要把某个VLAN配置为组播VLAN,再将用户端口添加到该组播VLAN内——既可以在组播VLAN内添加端口,也可以在端口上指定其所属的组播VLAN——这两种配置方式是等效的。
· 要配置为组播VLAN的指定VLAN必须存在。
· 一个端口只能属于一个组播VLAN。
表1-4 在组播VLAN内配置组播VLAN端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置指定VLAN为组播VLAN,并进入组播VLAN视图 |
multicast-vlan vlan-id |
缺省情况下,VLAN不是组播VLAN |
向组播VLAN内添加端口 |
port interface-list |
缺省情况下,组播VLAN内没有端口 |
表1-5 在端口上配置组播VLAN端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置指定VLAN为组播VLAN,并进入组播VLAN视图 |
multicast-vlan vlan-id |
缺省情况下,VLAN不是组播VLAN |
退回系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
指定端口所属的组播VLAN |
port multicast-vlan vlan-id |
缺省情况下,端口不属于任何组播VLAN |
用户可以调整组播VLAN转发表项的最大数量,当所有组播VLAN内维护的表项总数达到最大数量后,将不再创建新的表项,直至有表项被老化或被手工删除。
在对组播VLAN转发表项的最大数量进行配置时,如果所有组播VLAN内的表项总数已超过了配置值,系统不会自动删除任何已存在的表项,也不再继续创建新的表项。在这种情况下,建议用户手工删除多余表项。
表1-6 配置组播VLAN转发表项的最大数量
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置组播VLAN转发表项的最大数量 |
multicast-vlan entry-limit limit |
缺省情况下,组播VLAN转发表项的最大数量为4000 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后组播VLAN的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除组播VLAN的统计信息。
表1-7 组播VLAN显示和维护
命令 |
|
显示组播VLAN的信息 |
display multicast-vlan [ vlan-id ] |
显示组播VLAN的组播组表项信息 |
display multicast-vlan group [ source-address | group-address | slot slot-number | verbose | 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 ] * |
清除组播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配置组网图
(1) 配置Switch A
# 使能IP组播路由。
<SwitchA> system-view
[SwitchA] multicast routing
[SwitchA-mrib] quit
# 创建VLAN 20,并将端口Ten-GigabitEthernet1/0/2加入该VLAN。
[SwitchA] vlan 20
[SwitchA-vlan20] port ten-gigabitethernet 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,配置端口Ten-GigabitEthernet1/0/1为Hybrid端口,并允许VLAN 10的报文带Tag通过。
[SwitchA] vlan 10
[SwitchA-vlan10] quit
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type hybrid
[SwitchA-Ten-GigabitEthernet1/0/1] port hybrid vlan 10 tagged
[SwitchA-Ten-GigabitEthernet1/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,将端口Ten-GigabitEthernet1/0/2加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 2
[SwitchB-vlan2] port ten-gigabitethernet 1/0/2
[SwitchB-vlan2] igmp-snooping enable
[SwitchB-vlan2] quit
# 创建VLAN 3,将端口Ten-GigabitEthernet1/0/3加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 3
[SwitchB-vlan3] port ten-gigabitethernet 1/0/3
[SwitchB-vlan3] igmp-snooping enable
[SwitchB-vlan3] quit
# 创建VLAN 4,将端口Ten-GigabitEthernet1/0/4加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 4
[SwitchB-vlan4] port ten-gigabitethernet 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
# 配置端口Ten-GigabitEthernet1/0/1为Hybrid端口,并允许VLAN 10的报文带Tag通过。
[SwitchB] interface ten-gigabitethernet 1/0/1
[SwitchB-Ten-GigabitEthernet1/0/1] port link-type hybrid
[SwitchB-Ten-GigabitEthernet1/0/1] port hybrid vlan 10 tagged
[SwitchB-Ten-GigabitEthernet1/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配置组网图
(1) 配置Switch A
# 使能IP组播路由。
<SwitchA> system-view
[SwitchA] multicast routing
[SwitchA-mrib] quit
# 创建VLAN 20,并将端口Ten-GigabitEthernet1/0/2加入该VLAN。
[SwitchA] vlan 20
[SwitchA-vlan20] port ten-gigabitethernet 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,将端口Ten-GigabitEthernet1/0/1加入该VLAN。
[SwitchA] vlan 10
[SwitchA-vlan10] port ten-gigabitethernet 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,将端口Ten-GigabitEthernet1/0/1加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 10
[SwitchB-vlan10] port ten-gigabitethernet 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
# 配置端口Ten-GigabitEthernet1/0/2为Hybrid类型,缺省VLAN为VLAN 2;允许VLAN 2和VLAN 10的报文不带Tag通过。
[SwitchB] interface ten-gigabitethernet 1/0/2
[SwitchB-Ten-GigabitEthernet1/0/2] port link-type hybrid
[SwitchB-Ten-GigabitEthernet1/0/2] port hybrid pvid vlan 2
[SwitchB-Ten-GigabitEthernet1/0/2] port hybrid vlan 2 untagged
[SwitchB-Ten-GigabitEthernet1/0/2] port hybrid vlan 10 untagged
[SwitchB-Ten-GigabitEthernet1/0/2] quit
# 配置端口Ten-GigabitEthernet1/0/3为Hybrid类型,缺省VLAN为VLAN 3;允许VLAN 3和VLAN 10的报文不带Tag通过。
[SwitchB] interface ten-gigabitethernet 1/0/3
[SwitchB-Ten-GigabitEthernet1/0/3] port link-type hybrid
[SwitchB-Ten-GigabitEthernet1/0/3] port hybrid pvid vlan 3
[SwitchB-Ten-GigabitEthernet1/0/3] port hybrid vlan 3 untagged
[SwitchB-Ten-GigabitEthernet1/0/3] port hybrid vlan 10 untagged
[SwitchB-Ten-GigabitEthernet1/0/3] quit
# 配置端口Ten-GigabitEthernet1/0/4为Hybrid类型,缺省VLAN为VLAN 4;允许VLAN 4和VLAN 10的报文不带Tag通过。
[SwitchB] interface ten-gigabitethernet 1/0/4
[SwitchB-Ten-GigabitEthernet1/0/4] port link-type hybrid
[SwitchB-Ten-GigabitEthernet1/0/4] port hybrid pvid vlan 4
[SwitchB-Ten-GigabitEthernet1/0/4] port hybrid vlan 4 untagged
[SwitchB-Ten-GigabitEthernet1/0/4] port hybrid vlan 10 untagged
[SwitchB-Ten-GigabitEthernet1/0/4] quit
# 配置VLAN 10为组播VLAN。
[SwitchB] multicast-vlan 10
# 将端口Ten-GigabitEthernet1/0/2到Ten-GigabitEthernet1/0/3加入组播VLAN 10。
[SwitchB-mvlan-10] port ten-gigabitethernet 1/0/2 to ten-gigabitethernet 1/0/3
[SwitchB-mvlan-10] quit
# 配置端口Ten-GigabitEthernet1/0/4也属于组播VLAN 10。
[SwitchB] interface ten-gigabitethernet 1/0/4
[SwitchB-Ten-GigabitEthernet1/0/4] port multicast-vlan 10
[SwitchB-Ten-GigabitEthernet1/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(0 in total):
XGE1/0/2
XGE1/0/3
XGE1/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):
XGE1/0/2 (00:03:23)
XGE1/0/3 (00:04:07)
XGE1/0/4 (00:04:16)
由此可见,IGMP Snooping统一在组播VLAN(VLAN 10)中维护成员端口。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!