【华三】灵活QinQ配置实验
QinQ 概述
QinQ(802.1Q-in-802.1Q,也称为Stacked VLAN或Double VLAN)是一种在数据链路层使用两层802.1Q VLAN标签的封装技术
QinQ的作用与优点
- 缓解公网VLAN资源不足
- 隔离公网与私网VLAN
- 是一种简单的二层VPN
- 用户维护管理方便
QinQ的报文格式
QinQ报文在网络中传输时带有双层VLAN Tag
Customer VLAN Tag :用户原始的
Service VLAN Tag :运营商分配的
QinQ分类
基本QinQ
基本QinQ基于端口方式实现:不论从该端口收到报文是否带有VLAN Tag,设备都会打上本端口缺省VLAN的Tag。
如果收到的是带有VLAN Tag的报文,该报文就成为带双 VLAN Tag的报文;如果收到的是不带VLAN Tag的报文,该报文就成为带有本端口缺省VLAN Tag的报文。
灵活QinQ
需要结合hybrid端口、VLAN映射实现
灵活QinQ基于端口与VLAN相结合的方式实现:对于从同一个端口收到的报文,可以根据内层VLAN的不同,打上不同的外层VLAN Tag。
QinQ三个功能
VLAN透传功能
使端口在收到带有指定VLAN Tag的报文后,不为其添加外层VLAN Tag而直接在运营商网络中传输。
例如,当某VLAN为企业专线VLAN或网管VLAN时,就可以使用VLAN透传功能。
BPDU透明传输
在PE设备上启用BPDU Tunnel报文,实现不同用户的STP独立计算,互不干扰
由于BPDU报文是二层组播报文,所有开启STP功能的设备都会接收并处理,因此不同网络的生成树一起计算,导致每个网络都无法生成正确的生成树。
PE设备运行BPDU Tunnel功能,可使运行STP功能的不同网络拥有各自的生成树,互不干扰:
对BPDU报文进行透明传输,同一个用户网络的BPDU报文在运营商网络内指定的VLAN中进行广播,使得在不同地域的同一个用户网络可以跨越运营商网络进行统一的生成树计算。
VLAN Mapping
VLAN映射(VLAN Mapping)也叫做VLAN转换(VLAN Translation),它可以修改报文携带的VLAN Tag或为报文添加VLAN Tag,实现不同VLAN ID之间的相互转换。
VLAN Mapping实现QinQ有1:2 VLAN映射和0:2 VLAN映射两种。
1:2 VLAN映射:为携带有一层VLAN Tag的报文添加外层VLAN Tag使报文携带两层VLAN Tag。1:2 VLAN Mapping来实现QINQ,配 置简单,在实际组网中得到了广泛应用。
基本QinQ实验
实验需求
用户A和用户B都有两个分支机构Site1、Site2
用户A的业务使用VLAN10,用户B的业务使用VLAN20。运营商为用户A
分配了VLAN100,为用户B分配了VLAN200,通过灵活QinQ技术实现网络互通。
实验拓扑
PE设备配置步骤
- 创建VLAN 10、VLAN 20、VLAN 100、VLAN 200
- 配置下行端口GigE1/0/1为Hybrid端口且允许VLAN10、20的报文携带VLAN Tag通过、VLAN
100、200的报文不携带VLAN Tag通过,并配置1:2 VLAN映射,为VLAN 10的报文添加VLAN
100的外层VLAN Tag,为VLAN 20的报文添加VLAN 200的外层Tag。 - 配置上行端口GigE1/0/2为Trunk端口且允许VLAN 100和VLAN 200通过
PE1
[H3C]sysname PE1
[PE1]vlan 10 20 100 200
[PE1]int g1/0/1
[PE1-GigabitEthernet1/0/1]port link-type hybrid
[PE1-GigabitEthernet1/0/1]port hybrid vlan 10 20 tagged ## 放行vlan10、vlan20流量
[PE1-GigabitEthernet1/0/1]port hybrid vlan 100 200 untagged ## 收到外层标签100、200就剥离掉
[PE1-GigabitEthernet1/0/1]vlan mapping nest single 10 nested-vlan 100 ## mapping映射,vlan10 映射 vlan100
[PE1-GigabitEthernet1/0/1]vlan mapping nest single 20 nested-vlan 200 ## mapping映射,vlan20 映射 vlan200
[PE1-GigabitEthernet1/0/1]quit
[PE1]int g1/0/2
[PE1-GigabitEthernet1/0/2]port link-type trunk
[PE1-GigabitEthernet1/0/2]port trunk permit vlan 100 200
[PE1-GigabitEthernet1/0/2]quit
P1
[H3C]sysname P1
[P1]vlan 100 200
[P1]int range g1/0/1 g1/0/2
[P1-if-range]port link-type trunk
[P1-if-range]port trunk permit vlan 100 200
[P1-if-range]quit
PE2
[H3C]sysname PE2
[PE2]vlan 10 20 100 200
[PE2]int g1/0/2
[PE2-GigabitEthernet1/0/2]port link-type hybrid
[PE2-GigabitEthernet1/0/2]port hybrid vlan 10 20 tagged
[PE2-GigabitEthernet1/0/2]port hybrid vlan 100 200 untagged
[PE2-GigabitEthernet1/0/2]vlan mapping nest single 10 nested-vlan 100
[PE2-GigabitEthernet1/0/2]vlan mapping nest single 20 nested-vlan 200
[PE2-GigabitEthernet1/0/2]quit
[PE2]int g1/0/1
[PE2-GigabitEthernet1/0/1]port link-type trunk
[PE2-GigabitEthernet1/0/1]port trunk permit vlan 100 200
[PE2-GigabitEthernet1/0/1]quit
CE1
[H3C]sysname CE1
[CE1]vlan 10 20
[CE1]int g1/0/1
[CE1-GigabitEthernet1/0/1]port link-type trunk
[CE1-GigabitEthernet1/0/1]port trunk permit vlan 10 20
[CE1-GigabitEthernet1/0/1]quit
[CE1]int g1/0/2
[CE1-GigabitEthernet1/0/2]port link-type access
[CE1-GigabitEthernet1/0/2]port access vlan 10
[CE1-GigabitEthernet1/0/2]quit
[CE1]int g1/0/3
[CE1-GigabitEthernet1/0/3]port link-type access
[CE1-GigabitEthernet1/0/3]port access vlan 20
[CE1-GigabitEthernet1/0/3]quit
CE2
[CE2]sysname CE2
[CE2]vlan 10 20
[CE2]int g1/0/1
[CE2-GigabitEthernet1/0/1]port link-type trunk
[CE2-GigabitEthernet1/0/1]port trunk permit vlan 10 20
[CE2-GigabitEthernet1/0/1]quit
[CE2]int g1/0/2
[CE2-GigabitEthernet1/0/2]port link-type access
[CE2-GigabitEthernet1/0/2]port access vlan 10
[CE2-GigabitEthernet1/0/2]quit
[CE2]int g1/0/3
[CE2-GigabitEthernet1/0/3]port link-type access
[CE2-GigabitEthernet1/0/3]port access vlan 20
[CE2-GigabitEthernet1/0/3]quit
PC
测试
PC1 ping PC3
PC2 ping PC4
抓包(P1)