第107篇:QinQ 双层标签:运营商 VLAN 扩展
关键词:QinQ、双层 VLAN、Stacked VLAN、运营商网络、透明传输、VLAN 扩展、华为 CE
一、引言
在企业园区网中,VLAN 通常使用 12 位标识,最多支持 4094 个 VLAN。这对于单个企业来说已经足够。但当运营商需要为成百上千的企业客户提供专线接入服务时,4094 个 VLAN 就远远不够了。
QinQ(Qualifier in Q,也称 Stacked VLAN、Double Tagging)技术通过在原有的 802.1Q 标签外面再封装一层 802.1Q 标签,将 VLAN 的标识空间从 4094 扩展到了约 1670 万,满足了运营商大规模客户接入的需求。
二、核心概念
2.1 QinQ 标签结构

| 字段 | 长度 | 说明 |
|---|---|---|
| 外层标签(S-Tag) | 4 字节 | 运营商分配的 Service VLAN 标签 |
| 内层标签(C-Tag) | 4 字节 | 客户原有的 Customer VLAN 标签 |
| 总标签开销 | 8 字节 | 相比单层标签增加 4 字节 |
2.2 QinQ 的两种实现方式
| 方式 | 说明 | 适用场景 |
|---|---|---|
| 基于接口的 QinQ | 对所有入方向报文统一添加外层标签 | 客户 VLAN 不需要区分的场景 |
| 基于流的 QinQ(灵活 QinQ) | 根据内层 VLAN 或优先级添加不同外层标签 | 多 VLAN 客户、需分类场景 |
2.3 运营商网络 QinQ 架构

三、技术细节
3.1 基于接口的 QinQ 工作原理

3.2 VLAN Mapping(VLAN 映射)
| 操作 | 说明 | 命令示例 |
|---|---|---|
| 单层映射 | 修改内层或外层 VLAN ID | qinq vlan-mapping input 10 output 100 |
| 双层映射 | 同时修改内外层 VLAN ID | qinq vlan-mapping input 10 100 output 20 200 |
| 剥离外层 | 删除外层标签 | qinq vlan-mapping input 100 output |
3.3 MTU 考量
QinQ 增加 4 字节标签开销,帧总长度从 1518 增至 1522 字节。如果网络设备不支持大于 1518 字节的帧,QinQ 报文可能被丢弃。解决方法:运营商设备启用 Jumbo Frame 支持,或客户侧减小 MTU。
四、实战配置/案例分析
4.1 华为交换机基于接口的 QinQ 配置
# 运营商边缘交换机配置
[HUAWEI] vlan batch 100 200
# 客户侧接口(添加外层标签)
[HUAWEI] interface GigabitEthernet 0/0/1
[HUAWEI-GigabitEthernet0/0/1] description TO-CUSTOMER-A
[HUAWEI-GigabitEthernet0/0/1] port link-type hybrid
[HUAWEI-GigabitEthernet0/0/1] qinq enable vlan 1 to 4094
[HUAWEI-GigabitEthernet0/0/1] qinq vlan-delivery service-vlan 100
[HUAWEI-GigabitEthernet0/0/1] port hybrid tagged vlan 100
# 运营商侧接口(Trunk 透传 Service VLAN)
[HUAWEI] interface GigabitEthernet 0/0/24
[HUAWEI-GigabitEthernet0/0/24] port link-type trunk
[HUAWEI-GigabitEthernet0/0/24] port trunk allow-passed vlan 100 200
4.2 故障案例:QinQ 报文被核心丢弃
场景描述:运营商部署 QinQ 后,客户 A 的互联网访问速度极慢,抓包发现大量报文被核心交换机丢弃。
排查过程:
- 检查边缘交换机 QinQ 配置:外层标签 VLAN 100 已正确添加
- 在核心交换机抓包:QinQ 双标签报文已到达核心
- 检查核心交换机端口配置:发现端口未允许 Service VLAN 通过
根因:核心交换机互联端口未配置 port trunk allow-passed vlan 100,导致双标签报文被丢弃。
处理:
[Core-SW] interface GigabitEthernet 0/0/1
[Core-SW-GigabitEthernet0/0/1] port trunk allow-passed vlan 100
五、总结
| 项目 | 说明 |
|---|---|
| QinQ 本质 | 在原有 802.1Q 标签外再封装一层 802.1Q 标签 |
| 核心价值 | 扩展 VLAN 空间,实现客户 VLAN 透明传输 |
| 基于接口 QinQ | 统一添加外层标签,配置简单 |
| 灵活 QinQ | 基于内层 VLAN/优先级添加不同外层标签 |
| MTU 注意 | QinQ 增加 4 字节,需确保全网 MTU 兼容 |
| 适用场景 | 运营商专线、企业互联、Campus WAN |
思考
-
QinQ 技术中,如果客户侧发送的是不带 VLAN 标签的普通以太网帧,运营商边缘交换机会如何处理?是否需要特殊配置?
-
在 QinQ 网络中,运营商核心设备是否需要感知内层 Customer VLAN?如果需要感知,可以通过什么技术实现?
-
QinQ 增加了 4 字节的标签开销,这对 MTU 敏感的业务(如 IPSec 隧道、FTP 被动模式)有什么影响?
下篇预告:第108篇:灵活 QinQ:基于 VLAN 或优先级的外层标签