04-组播VLAN配置
本章节下载: 04-组播VLAN配置 (264.03 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内的所有成员端口。
表1-1 组播VLAN配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置基于子VLAN的组播VLAN |
二者必选其一 |
||
配置基于端口的组播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内都使能IGMP Snooping
首先需要把某个VLAN配置为组播VLAN,再将用户VLAN添加到该组播VLAN内,使其成为组播VLAN的子VLAN。
· 要配置为组播VLAN的指定VLAN必须存在。
· 要添加到组播VLAN内的子VLAN必须存在,且不能是组播VLAN或其它组播VLAN的子VLAN。
· 设备目前最多允许配置5个组播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转发表项的最大数量为16384 |
在完成上述配置后,在任意视图下执行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的组播组表项信息(IRF模式) |
display multicast-vlan group [ source-address | group-address | chassis chassis-number 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转发表的信息(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的组播组表项 |
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,并将端口GigabitEthernet1/0/2加入该VLAN。
[SwitchA] vlan 20
[SwitchA-vlan20] port 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,配置端口GigabitEthernet1/0/1为Hybrid端口,并允许VLAN 10的报文带Tag通过。
[SwitchA] vlan 10
[SwitchA-vlan10] quit
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-type hybrid
[SwitchA-GigabitEthernet1/0/1] port hybrid vlan 10 tagged
[SwitchA-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,将端口GigabitEthernet1/0/2加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 2
[SwitchB-vlan2] port gigabitethernet 1/0/2
[SwitchB-vlan2] igmp-snooping enable
[SwitchB-vlan2] quit
# 创建VLAN 3,将端口GigabitEthernet1/0/3加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 3
[SwitchB-vlan3] port gigabitethernet 1/0/3
[SwitchB-vlan3] igmp-snooping enable
[SwitchB-vlan3] quit
# 创建VLAN 4,将端口GigabitEthernet1/0/4加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 4
[SwitchB-vlan4] port 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
# 配置端口GigabitEthernet1/0/1为Hybrid端口,并允许VLAN 10的报文带Tag通过。
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] port link-type hybrid
[SwitchB-GigabitEthernet1/0/1] port hybrid vlan 10 tagged
[SwitchB-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,并将端口GigabitEthernet1/0/2加入该VLAN。
[SwitchA] vlan 20
[SwitchA-vlan20] port 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,将端口GigabitEthernet1/0/1加入该VLAN。
[SwitchA] vlan 10
[SwitchA-vlan10] port 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,将端口GigabitEthernet1/0/1加入该VLAN,并在该VLAN内使能IGMP Snooping。
[SwitchB] vlan 10
[SwitchB-vlan10] port 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
# 配置端口GigabitEthernet1/0/2为Hybrid类型,缺省VLAN为VLAN 2;允许VLAN 2和VLAN 10的报文不带Tag通过。
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] port link-type hybrid
[SwitchB-GigabitEthernet1/0/2] port hybrid pvid vlan 2
[SwitchB-GigabitEthernet1/0/2] port hybrid vlan 2 untagged
[SwitchB-GigabitEthernet1/0/2] port hybrid vlan 10 untagged
[SwitchB-GigabitEthernet1/0/2] quit
# 配置端口GigabitEthernet1/0/3为Hybrid类型,缺省VLAN为VLAN 3;允许VLAN 3和VLAN 10的报文不带Tag通过。
[SwitchB] interface gigabitethernet 1/0/3
[SwitchB-GigabitEthernet1/0/3] port link-type hybrid
[SwitchB-GigabitEthernet1/0/3] port hybrid pvid vlan 3
[SwitchB-GigabitEthernet1/0/3] port hybrid vlan 3 untagged
[SwitchB-GigabitEthernet1/0/3] port hybrid vlan 10 untagged
[SwitchB-GigabitEthernet1/0/3] quit
# 配置端口GigabitEthernet1/0/4为Hybrid类型,缺省VLAN为VLAN 4;允许VLAN 4和VLAN 10的报文不带Tag通过。
[SwitchB] interface gigabitethernet 1/0/4
[SwitchB-GigabitEthernet1/0/4] port link-type hybrid
[SwitchB-GigabitEthernet1/0/4] port hybrid pvid vlan 4
[SwitchB-GigabitEthernet1/0/4] port hybrid vlan 4 untagged
[SwitchB-GigabitEthernet1/0/4] port hybrid vlan 10 untagged
[SwitchB-GigabitEthernet1/0/4] quit
# 配置VLAN 10为组播VLAN。
[SwitchB] multicast-vlan 10
# 将端口GigabitEthernet1/0/2到GigabitEthernet1/0/3加入组播VLAN 10。
[SwitchB-mvlan-10] port gigabitethernet 1/0/2 to gigabitethernet 1/0/3
[SwitchB-mvlan-10] quit
# 配置端口GigabitEthernet1/0/4也属于组播VLAN 10。
[SwitchB] interface gigabitethernet 1/0/4
[SwitchB-GigabitEthernet1/0/4] port multicast-vlan 10
[SwitchB-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(3 in total):
GE1/0/2
GE1/0/3
GE1/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):
GE1/0/2 (00:03:23)
GE1/0/3 (00:04:07)
GE1/0/4 (00:04:16)
由此可见,IGMP Snooping统一在组播VLAN(VLAN 10)中维护成员端口。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!