一、什么是QinQ
QinQ技术,又称为802.1Q-in-802.1Q或双重VLAN标签技术,是一种扩展VLAN空间的技术。以下是对该技术的详细介绍:
-
基本概述
- QinQ技术通过在原有的802.1Q报文基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能。
- 这种技术允许私网VLAN透传公网,使得在骨干网中传递的报文有两层802.1Q Tag(一层公网Tag,一层私网Tag)。
- 由于IEEE802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,因此诞生了QinQ技术。
-
封装类型
- 基本QinQ:基于接口的QinQ封装,进入一个接口的所有流量全部封装一个相同的外层VLAN Tag。
- 灵活QinQ:包括基于VLAN ID的QinQ和基于802.1p优先级的QinQ。基于VLAN ID的QinQ可以对不同的数据流选择是否封装外层Tag、封装何种外层Tag。基于802.1p优先级的QinQ则可以根据优先级为这些业务建立不同的数据传输通道。
-
实现方式
- 如果收到的是带有VLAN Tag的报文,该报文就成为带双Tag的报文。
- 如果收到的是不带VLAN Tag的报文,该报文就成为带有本端口缺省VLAN Tag的报文。
- 为具有不同内层VLAN ID的报文添加不同的外层VLAN Tag。
- 根据报文内层VLAN的802.1p优先级标记外层VLAN的802.1p优先级和添加不同的外层VLAN Tag。
-
应用场景
- 扩展VLAN数量:通过增加一层802.1Q标签,使VLAN数量增加到4094×4094,从而扩展了VLAN空间。
- 业务隔离与传输:内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务,更利于业务的部署。同时,QinQ报文带着两层Tag穿越公网时,内层Tag透明传送,也是一种简单、实用的VPN技术。
- 解决公网VLAN ID资源紧缺问题:用户可以规划自己的私网VLNA ID,提供一种较为简单的二层VPN解决方案,使用户网络具有较高的独立性。
下图所示为QinQ的封装报文格式
二、QinQ的工作原理
QinQ技术的工作原理主要通过数据封装、数据传输和数据解封装三个阶段实现。以下是对其工作原理的具体介绍:
-
数据封装
- 添加标签:在原始802.1Q报文的基础上,再增加一层802.1Q的标签(VLAN Tag),形成所谓的双层标签。
- 公网私网隔离:将用户的私网VLAN Tag封装在公网(服务提供商)网络VLAN Tag中,使双层VLAN Tag的报文穿越运营商的骨干网(公网)。
- 保持透明:在公网中,报文按照外层VLAN Tag传递,屏蔽了用户的私网VLAN Tag,从而实现了公网与私网的隔离。
-
数据传输
- 路径决定:设备在转发时依据外层标签决定流量路径,而内层标签则用于区分不同的用户或业务。
- 灵活配置:根据报文的内层VLAN ID,可以添加不同的外层VLAN Tag,或者根据报文的802.1p优先级标记外层VLAN报文的802.1p优先级。
- BPDU透传技术:对BPDU报文进行透明传输,使得不同地域的用户网络可以跨越运营商网络进行统一的生成树计算。
-
数据解封装
- 还原报文:报文离开运营商网络前会撕掉公网VLAN tag,使之还原为原始的私网报文,发送至另一侧用户网络。
- VLAN透传功能:不为用户私网报文添加公网vlan tag,而是直接传输用户私网vlan报文,适用于企业专线业务。
- VLAN映射表:通过配置映射关系,可以实现对报文vlan id的修改,添加指定VLAN tag。
三、实验
配置前,设置PC端的IP地址,PC1为10.1.1.1/24 PC2为10.1.1.2/24。以此类推
步骤一,配置公司A、B的私有网络,创建对应的VLAN,并配置接口的链路类型
LSW3的配置
[LSW3]vlan batch 10 20 //创建VLAN 10 20
[LSW3]interface g0/0/2
[LSW3-GigabitEthernet0/0/2]port link-type access //设置接口的类型为access模式
[LSW3-GigabitEthernet0/0/2]port default vlan 10 //将接口划入到VLAN10下
[LSW3-GigabitEthernet0/0/2]interface g0/0/3
[LSW3-GigabitEthernet0/0/3]port link-type access
[LSW3-GigabitEthernet0/0/3]port default vlan 20 //将接口划入到VLAN20下
[LSW3-GigabitEthernet0/0/3]interface g0/0/1
[LSW3-GigabitEthernet0/0/1]port link-type trunk //将接口的类型设置为trunk
[LSW3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20 //允许接口通过VLAN10 、20
LSW4的配置与LSW3的配置类似
LSW5的配置
[LSW5]vlan batch 10
Info: This operation may take a few seconds. Please wait for a moment...done.
[LSW5]interface g0/0/2
[LSW5-GigabitEthernet0/0/2]port link-type access
[LSW5-GigabitEthernet0/0/2]port default vlan 10
[LSW5-GigabitEthernet0/0/2]interface g0/0/1
[LSW5-GigabitEthernet0/0/1]port link-type trunk
[LSW5-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
LSW6的配置与LSW5的配置类似
步骤二在公网设备配置公网VLAN,并配置QinQ
LSW1的配置
[LSW1]vlan batch 2 3 4 //创建公网VALN2、3、4
[LSW1]interface g0/0/1
[LSW1-GigabitEthernet0/0/1]port link-type hybrid //配置接口的类型为混合类型
[LSW1-GigabitEthernet0/0/1]port hybrid untagged vlan 2 3 配置Hybrid类型接口加入的VLAN,这些VLAN的帧以untagged的方式通过接口
[LSW1-GigabitEthernet0/0/1]qinq vlan-translation enable //开启接口VLAN转换功能
[LSW1-GigabitEthernet0/0/1]port vlan-stacking vlan 10 stack-vlan 2 //配置VLAN10映射为VLAN2
[LSW1-GigabitEthernet0/0/1]port vlan-stacking vlan 20 stack-vlan 3 //配置VLAN20映射为VLAN3
[LSW1-GigabitEthernet0/0/1]interface g0/0/3
[LSW1-GigabitEthernet0/0/3]port link-type dot1q-tunnel //配置接口为dot1q-tunnel
[LSW1-GigabitEthernet0/0/3]port default vlan 4 //配置g0/0/3的外层tag为VLAN4
LSW2的配置与LSW1类似
[LSW2]vlan 4
[LSW2]interface g0/0/3
[LSW2-GigabitEthernet0/0/3]port link-type dot1q-tunnel
[LSW2-GigabitEthernet0/0/3]port default vlan 4
[LSW2]vlan batch 2 3
Info: This operation may take a few seconds. Please wait for a moment...done.
[LSW2]interface g0/0/2
[LSW2-GigabitEthernet0/0/2]port link-type hybrid
[LSW2-GigabitEthernet0/0/2]port hybrid untagged vlan 2 3
[LSW2-GigabitEthernet0/0/2]qinq vlan-translation enable
[LSW2-GigabitEthernet0/0/2]port vlan-stacking vlan 10 stack-vlan 2
[LSW2-GigabitEthernet0/0/2]port vlan-stacking vlan 20 stack-vlan 3
步骤三配置公网设备互联端口的链路类型,放行公网VLAN流量通过
步骤四测试PC1和PC2、PC5和PC6、PC3和PC4的连通性并在LSW1的G0/0/2接口进行抓包
PC1和PC2
可以看到外层的tag为2,内层tag为10
PC5和PC6
PC3和PC4
四、总结
综上所述,QinQ技术通过增加一层802.1Q标签来扩展VLAN空间,提供了丰富的业务特性和更加灵活的组网能力,满足了大规模网络中用户隔离的需求。同时,它还提供了灵活的配置选项和高效的数据传输能力,使得网络管理员能够更好地管理和控制网络资源。