09-VLAN映射配置
本章节下载: 09-VLAN映射配置 (312.21 KB)
· 三层以太网接口不支持VLAN映射。
· 关于QoS策略的命令(如remark service-vlan-id、nest top-most、traffic classifier、traffic behavior、qos policy等),请参考“ACL和QoS命令参考”中的“QoS”。
VLAN映射(即VLAN Mapping)功能可以修改报文携带的VLAN Tag,提供下面3种映射关系:
· 1:1 VLAN映射:将来自某一特定VLAN的报文携带VLAN Tag替换为新的VLAN Tag。
· 1:2 VLAN映射:将携带有一层VLAN Tag的报文添加外层VLAN Tag,使报文携带两层VLAN Tag。
· 2:2 VLAN映射:将携带有两层VLAN Tag报文的外层VLAN Tag映射为新的VLAN Tag。
下面将详细介绍这几种映射关系的应用以及工作原理。
如图1-1所示,是1:1映射的应用环境。用户的报文所带的VLAN Tag与运营商的不同,为了穿越运营商网络,需要修改用户VLAN的Tag 为运营商支持的VLAN Tag,这种修改用户VLAN Tag的过程,即是1:1 VLAN映射。
图1-1 1:1 VLAN映射应用示意图
如图1-2,是1:2和2:2 VLAN映射的应用环境,VPN A中处于不同地理位置(Site 1和Site 2)的用户跨越了两个SP(Service Provider,服务提供商)——SP 1和SP 2的网络进行互通。
图1-2 1:2 VLAN映射和2:2 VLAN映射应用示意图
在图1-2中,Site 1和Site 2中的用户所在的VLAN为VLAN 2,SP 1和SP 2分配给VPN A的VLAN分别为VLAN 10和VLAN 20。当Site 1中的报文进入SP 1的网络后,PE 1为该报文添加了VLAN 10的VLAN Tag,这个过程就是1:2 VLAN映射。这样,VPN用户就可以自由规划自己网络中的VLAN ID,而不用担心与SP的VLAN ID相冲突,同时也因为此时报文携带两层VLAN Tag,网络可用的VLAN为4094×4094个,缓解了原先SP网络中可用VLAN只有4094个,从而VLAN资源紧缺的问题。
当上述报文继续由SP 1的网络进入SP 2的网络后,由于SP 2分配给VPN A的VLAN与SP 1不同,因此需将该报文的外层VLAN Tag替换为VLAN 20的VLAN Tag,这种修改外层VLAN Tag的过程,即是2:2 VLAN映射。
通过配置QinQ也可以实现1:2 VLAN映射,具体介绍及配置过程请参见“二层技术-以太网交换配置指导”中的“QinQ配置”。
图1-3 VLAN映射基本概念示意图
如图1-3所示,为了更好的理解后面的配置过程,此处定义几个概念:
· 上行数据流:从用户网络发往汇聚层网络或SP网络的数据流,都称为上行数据流。
· 下行数据流:从汇聚层网络或SP网络发往用户网络的数据流,都称为下行数据流。
· 上行端口:发送上行数据流和接收下行数据流的端口称为上行端口。
· 下行端口:发送下行数据流和接收上行数据流的端口称为下行端口。
· 上行策略:负责上行数据流VLAN映射规则的QoS策略。
· 下行策略:负责下行数据流VLAN映射规则的QoS策略。
关于QoS策略的介绍请参见“ACL和QoS配置指导”中的“QoS”。
不同方式的VLAN映射,都是通过在下行端口上配置QoS策略实现的,具体过程如下:
图1-4 1:1 VLAN映射实现方式示意图
· 对于上行数据流,通过在下行端口上应用上行策略,将报文中用户网络的原始VLAN(简称CVLAN)的VLAN Tag替换为指定VLAN(简称SVLAN)的VLAN Tag。
· 对于下行数据流,通过在下行端口上应用下行策略,将报文中SVLAN的VLAN Tag替换为CVLAN的VLAN Tag。
图1-5 1:2 VLAN映射实现方式示意图
如图1-5所示,1:2 VLAN映射的实现方式如下:
· 对于上行数据流,通过在下行端口上应用上行策略,为端口收到的来自指定CVLAN的报文再加上一层SVLAN的VLAN Tag。
· 对于下行数据流,通过将下行端口配置成Hybrid类型,并配置当端口发送SVLAN报文时不带VLAN Tag的方式,来将外层VLAN Tag剥离。
图1-6 2:2 VLAN映射实现方式示意图
如图1-6所示,2:2 VLAN映射的实现方式为:对于来自另一SP网络的上行数据流,通过在本SP网络的下行端口上应用上行策略,将报文的外层VLAN Tag映射为新的VLAN Tag
用户需要根据网络规划,在不同的设备上进行不同的VLAN映射配置。
表1-1 VLAN映射配置任务简介
配置任务 |
说明 |
详细配置 |
配置1:1 VLAN映射 |
可选 |
|
配置1:2 VLAN映射 |
可选 |
|
配置2:2 VLAN映射 |
可选 |
在图1-1所示的SP网络的边缘交换机上需要进行1:1 VLAN映射配置。
表1-2 1:1 VLAN映射配置任务简介
配置任务 |
说明 |
详细配置 |
配置上行策略 |
必选 |
|
配置下行策略 |
必选 |
|
配置下行端口 |
必选 |
|
配置上行端口 |
必选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配CVLAN(原VLAN)的规则 |
if-match service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记报文的VLAN为SVLAN(新VLAN) |
remark service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配SVLAN(新VLAN)的规则 |
if-match service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
重标记报文CVLAN(原VLAN) |
remark service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
表1-5 配置下行端口
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
interface interface-type interface-number |
- |
|
配置端口的链路类型 |
port link-type { hybrid | trunk } |
必选 缺省情况下,端口的链路类型为Access类型 |
|
配置标签替换前后可通过的VLAN |
当端口的链路类型为hybrid时 |
port hybrid vlan vlan-id-list tagged |
两者必选其一 缺省情况下,任何类型的端口都允许VLAN 1通过 |
当端口的链路类型为trunk时 |
port trunk permit vlan { vlan-id-list | all } |
||
在端口的入方向上应用上行策略 |
qos apply policy policy-name inbound |
必选 |
|
在端口的出方向上应用下行策略 |
qos apply policy policy-name outbound |
必选 |
表1-6 配置上行端口
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
interface interface-type interface-number |
- |
|
配置端口的链路类型 |
port link-type { hybrid | trunk } |
必选 缺省情况下,端口的链路类型为Access类型 |
|
配置端口允许映射前后的VLAN通过 |
当端口的链路类型为hybrid时 |
port hybrid vlan vlan-id-list tagged |
两者必选其一 缺省情况下,任何类型的端口都允许VLAN 1通过 |
当端口的链路类型为trunk时 |
port trunk permit vlan { vlan-id-list | all } |
在图1-2 所示的组网中,需要在用户进入SP网络的边缘设备PE 1和PE 4上进行1:2 VLAN映射的配置,以便为报文外面打上一层SP分配给用户的外层VLAN Tag,使得不同用户的报文在SP网络中传输时被完全隔离。
表1-7 1:2 VLAN映射配置任务简介
配置任务 |
说明 |
详细配置 |
配置上行策略 |
必选 |
|
配置下行端口 |
必选 |
|
配置上行端口 |
必选 |
表1-8 配置上行策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配用户VLAN的规则 |
if-match service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置添加外层VLAN Tag的动作 |
nest top-most vlan vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
表1-9 配置下行端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型 |
port link-type hybrid |
必选 缺省情况下,端口的链路类型为Access类型 |
允许SVLAN以Untagged方式通过当前Hybrid端口 |
port hybrid vlan vlan-id-list untagged |
必选 缺省情况下,Hybrid端口只允许VLAN 1的报文以Untagged方式通过 |
允许CVLAN以Tagged方式通过当前Hybrid端口 |
port hybrid vlan vlan-id-list tagged |
必选 |
在端口的入方向上应用上行策略 |
qos apply policy policy-name inbound |
必选 |
表1-10 配置上行端口
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
interface interface-type interface-number |
- |
|
配置端口的链路类型 |
配置端口的链路类型为Trunk类型 |
port link-type trunk |
二者必选其一 缺省情况下,所有端口的链路类型均为Access类型 |
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
||
允许SVLAN通过当前端口 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
二者必选其一 缺省情况下: · Trunk端口只允许VLAN 1通过 · Hybrid端口只允许VLAN 1的报文以Untagged方式通过 |
允许SVLAN以Tagged方式通过当前Hybrid端口 |
port hybrid vlan vlan-id-list tagged |
在图1-2所示的组网中,需要在PE 2(SP 1网络的边缘设备)与PE 3(SP 2网络的边缘设备)上分别进行2:2 VLAN映射的配置,以便使得报文外层VLAN Tag为新SP网络分配给用户的VLAN。
表1-11 2:2 VLAN映射配置任务简介
配置任务 |
说明 |
详细配置 |
配置下行端口的上行策略 |
必选 |
|
配置下行端口 |
必选 |
|
配置上行端口 |
必选 |
表1-12 配置下行端口的上行策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配CVLAN的规则 |
if-match customer-vlan-id vlan-id-value |
必选 |
定义匹配SVLAN的规则 |
if-match service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记SVLAN的值 |
remark service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
退回系统视图 |
quit |
- |
表1-13 配置下行端口
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
interface interface-type interface-number |
- |
|
配置端口的链路类型 |
配置端口的链路类型为Trunk类型 |
port link-type trunk |
二者必选其一 缺省情况下,所有端口的链路类型均为Access类型 |
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
||
允许SVLAN通过当前端口 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
二者必选其一 缺省情况下: · Trunk端口只允许VLAN 1通过 · Hybrid端口只允许VLAN 1的报文以Untagged方式通过 |
允许SVLAN以Tagged方式通过当前Hybrid端口 |
port hybrid vlan vlan-id-list tagged |
||
在端口的入方向上应用上行策略 |
qos apply policy policy-name inbound |
必选 |
表1-14 配置上行端口
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
interface interface-type interface-number |
- |
|
配置端口的链路类型 |
配置端口的链路类型为Trunk类型 |
port link-type trunk |
二者必选其一 缺省情况下,所有端口的链路类型均为Access类型 |
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
||
允许SVLAN通过当前端口 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
二者必选其一 缺省情况下: · Trunk端口只允许VLAN 1通过 · Hybrid端口只允许VLAN 1的报文以Untagged方式通过 |
允许SVLAN以Tagged方式通过当前Hybrid端口 |
port hybrid vlan vlan-id-list tagged |
缺省情况下,以太网接口、VLAN接口及聚合接口处于down状态。如果要使这些接口能够正常工作,请先使用undo shutdown命令使接口状态处于up状态。
用户数据汇聚到Switch A,希望通过配置1:1VLAN 映射,将数据VLAN Tag映射为VLAN 100后,在SP网络中转发。
图1-7 1:1 VLAN映射配置图
(1) 配置Switch A
<SwitchA> system-view
# 创建VLAN 100。
[SwitchA] vlan 100
[SwitchA-vlan100] quit
# 配置上行策略,将VLAN映射到新VLAN(SVLAN)。
[SwitchA] traffic classifier c1
[SwitchA-classifier-c1] if-match service-vlan-id 10
[SwitchA-classifier-c1] quit
[SwitchA] traffic behavior b1
[SwitchA-behavior-b1] remark service-vlan-id 100
[SwitchA-behavior-b1] quit
[SwitchA] qos policy p1
[SwitchA-policy-p1] classifier c1 behavior b1
[SwitchA-policy-p1] quit
# 配置下行策略,将SVLAN映射回原来的VLAN。
[SwitchA] traffic classifier c11
[SwitchA-classifier-c11] if-match service-vlan-id 100
[SwitchA-classifier-c11] quit
[SwitchA] traffic behavior b11
[SwitchA-behavior-b11] remark service-vlan-id 10
[SwitchA-behavior-b11] quit
[SwitchA] qos policy p11
[SwitchA-policy-p11] classifier c11 behavior b11
[SwitchA-policy-p11] quit
# 配置端口GE4/0/1。
[SwitchA] interface Gigabitethernet 4/0/1
[SwitchA-GigabitEthernet4/0/1] port link-type trunk
[SwitchA-GigabitEthernet4/0/1] port trunk permit vlan 10 100
# 在端口GE4/0/1上应用策略。
[SwitchA-GigabitEthernet4/0/1] qos apply policy p1 inbound
[SwitchA-GigabitEthernet4/0/1] qos apply policy p11 outbound
# 配置端口GE4/0/2。
[SwitchA] interface Gigabitethernet 4/0/2
[SwitchA-GigabitEthernet4/0/2] port link-type trunk
[SwitchA-GigabitEthernet4/0/2] port trunk permit vlan 10 100
· 同一VPN A的用户分散在Site1 和Site 2两地,通过SP连接。
· SP 1和SP 2分别将VLAN 100和VLAN 200分配给VPN A。
· 要求处于不同地域的、同一VPN用户,可以跨越两个SP网络(SP1、SP2)进行互通。
图1-8 配置1:2和2:2 VLAN映射组网图
(1) 配置PE 1
# 配置上行策略test:为VLAN 10报文添加VLAN ID为100的外层VLAN Tag。
<PE1> system-view
[PE1] traffic classifier test
[PE1-classifier-test] if-match service-vlan-id 10
[PE1-classifier-test] quit
[PE1] traffic behavior test
[PE1-behavior-test] nest top-most vlan 100
[PE1-behavior-test] quit
[PE1] qos policy test
[PE1-qospolicy-test] classifier test behavior test
[PE1-qospolicy-test] quit
# 配置下行端口GE4/0/1允许VLAN 100的报文不带Tag标签通过。
[PE1] interface Gigabitethernet 4/0/1
[PE1-GigabitEthernet4/0/1] port link-type hybrid
[PE1-GigabitEthernet4/0/1] port hybrid vlan 100 untagged
[PE1-GigabitEthernet4/0/1] qos apply policy test inbound
[PE1-GigabitEthernet4/0/1] quit
# 配置上行端口GE4/0/2允许VLAN 100的报文通过。
[PE1] interface Gigabitethernet 4/0/2
[PE1-GigabitEthernet4/0/2] port link-type trunk
[PE1-GigabitEthernet4/0/2] port trunk permit vlan 100
(2) 配置PE 2
# 配置下行端口的上行策略down_uplink:即下行端口对入方向报文的匹配规则流行为。
<PE2> system-view
[PE2] traffic classifier down_uplink
[PE2-classifier-down_uplink] if-match customer-vlan-id 10
[PE2-classifier-down_uplink] if-match service-vlan-id 200
[PE2-classifier-down_uplink] quit
[PE2] traffic behavior down_uplink
[PE2-behavior-down_uplink] remark service-vlan-id 100
[PE2-behavior-down_uplink] quit
[PE2] qos policy down_uplink
[PE2-qospolicy-down_uplink] classifier down_uplink behavior down_uplink
[PE2-qospolicy-down_uplink] quit
# 配置下行端口Gigabitethernet 4/0/2为Trunk端口且允许VLAN 100通过。
[PE2] interface Gigabitethernet 4/0/2
[PE2-GigabitEthernet4/0/2] port link-type trunk
[PE2-GigabitEthernet4/0/2] port trunk permit vlan 100
[PE2-GigabitEthernet4/0/2] qos apply policy down_uplink inbound
[PE2-GigabitEthernet4/0/2] quit
# 配置上行端口Gigabitethernet 4/0/1为Trunk端口且允许VLAN 100通过。
[PE2] interface Gigabitethernet 4/0/1
[PE2-GigabitEthernet4/0/1] port link-type trunk
[PE2-GigabitEthernet4/0/1] port trunk permit vlan 100
[PE2-GigabitEthernet4/0/1] quit
(3) 配置PE 3
# 配置下行端口的上行策略down_uplink:即下行端口对入方向报文的匹配规则流行为。
<PE3> system-view
[PE3] traffic classifier down_uplink
[PE3-classifier-down_uplink] if-match customer-vlan-id 10
[PE3-classifier-down_uplink] if-match service-vlan-id 100
[PE3-classifier-down_uplink] quit
[PE3] traffic behavior down_uplink
[PE3-behavior-down_uplink] remark service-vlan-id 200
[PE3-behavior-down_uplink] quit
[PE3] qos policy down_uplink
[PE3-qospolicy-down_uplink] classifier down_uplink behavior down_uplink
[PE3-qospolicy-down_uplink] quit
# 配置下行端口Gigabitethernet 4/0/1为Trunk端口且允许VLAN 200通过
[PE3] interface Gigabitethernet 4/0/1
[PE3-GigabitEthernet4/0/1] port link-type trunk
[PE3-GigabitEthernet4/0/1] port trunk permit vlan 200
[PE3-GigabitEthernet4/0/1] qos apply policy down_uplink inbound
[PE3-GigabitEthernet4/0/1] quit
# 配置上行端口Gigabitethernet 4/0/2为Trunk端口且允许VLAN 200通过。
[PE3] interface Gigabitethernet 4/0/2
[PE3-GigabitEthernet4/0/2] port link-type trunk
[PE3-GigabitEthernet4/0/2] port trunk permit vlan 200
[PE3-GigabitEthernet4/0/2] quit
(4) 配置PE 4
# 配置上行策略test:为VLAN 10的报文添加VLAN 200的外层VLAN Tag。
<PE4> system-view
[PE4] traffic classifier test
[PE4-classifier-test] if-match service-vlan-id 10
[PE4-classifier-test] quit
[PE4] traffic behavior test
[PE4-behavior-test] nest top-most vlan 200
[PE4-behavior-test] quit
[PE4] qos policy test
[PE4-qospolicy-test] classifier test behavior test
[PE4-qospolicy-test] quit
# 配置下行端口GE4/0/1允许VLAN 200的报文不带Tag标签通过。
[PE4] interface Gigabitethernet 4/0/1
[PE4-GigabitEthernet4/0/1] port link-type hybrid
[PE4-GigabitEthernet4/0/1] port hybrid vlan 200 untagged
[PE4-GigabitEthernet4/0/1] qos apply policy test inbound
[PE4-GigabitEthernet4/0/1] quit
# 配置上行端口GE4/0/2允许VLAN 200的报文通过。
[PE4] interface Gigabitethernet 4/0/2
[PE4-GigabitEthernet4/0/2] port link-type trunk
[PE4-GigabitEthernet4/0/2] port trunk permit vlan 200
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!