讨论 QinQ 之前,得先看设备给了多少上联资源。以锐应 L102P 这类 1U 双 PON 口的 mini GPON OLT 为例,公开规格里写得很清楚:2 个 GPON SFP 口、单口 1:128 分光、上联 3 个口(2×RJ45 GE 加 1×SFP+ 10GE)、1 个 console、金属外壳 239×132×44mm、整机不超过 2kg、工作温度 −20~55℃。
三个上联口意味着什么?意味着你大概率会用其中一个接核心交换机或 BRAS,剩下两个做备份或分业务。没有独立的"用户侧汇聚口"可用,所以 QinQ 的 S-VLAN 只能在进上联之前打上,位置固定、没有别的选择。
这也是 mini OLT 和盒式 8 口 OLT 的差别。后者上联口多,可以把不同业务分到不同物理口,用端口天然隔离,QinQ 的必要性下降;前者只有三个口,业务挤在同一个口上,才需要标签来分层。
802.1Q 的 VID 字段是 12 bit,可用范围 1–4094。两台 PON 口各 1:128,满配 256 个 ONU;如果每户开上网、IPTV、VoIP 三个业务,就是 768 个 VLAN。单看这个数字,4094 还很宽裕,似乎没必要上 QinQ。
真正的约束不在单台设备,而在汇聚点。假设一个园区 6 栋楼,每栋放一台 2 口 mini OLT,每栋 96 户:
单台覆盖 96 户 × 3 业务 = 288 个 C-VLAN
6 台全部汇到同一台核心交换机,若每台都从 VLAN 100 开始编号,6 台用的都是 100–387 这一段
核心交换机上,这 6 段完全重叠,同一个 VLAN 100 里混进了 6 栋楼的用户
两种解法摆在这儿:
| 解法 | 做法 | VLAN 消耗 | 代价 |
|---|---|---|---|
| 全局统一编号 | 6 台 OLT 分段编,1 号楼 100–387、2 号楼 400–687,依此类推 | 6 × 288 = 1728 个,仍小于 4094 | 需要一张全网 VLAN 分配表,新增楼栋必须查表;割接时改号要停业务 |
| QinQ 分层 | 每台 OLT 一个 S-VLAN(如 1001–1006),内层 C-VLAN 各自从 100 起 | 外层 6 个 + 内层各 288 个(内层可复用) | 上联口要多支持一层标签;排障时抓包要看两层;MTU 要放宽 |
6 栋楼这个规模,两种做法都成立。把楼栋数换成 20 栋,全局编号就要 5760 个 VLAN,超过 4094,只剩 QinQ 一条路。分界线不是"用户多少",而是"多台设备汇聚后 VLAN 编号还能不能全局唯一"。

QinQ 在帧头插入一个 4 字节的 S-VLAN tag:2 字节 TPID(0x88a8,区别于普通 802.1Q 的 0x8100)加 2 字节 TCI(含 12 bit S-VID)。帧长随之变化:
标准以太网净荷 1500 字节 → 双层标签后 1504 字节
若再跑 PPPoE,PPPoE 头 6 字节加 PPP 协议字段 2 字节 → 1512 字节
若业务本身已带一层 802.1Q(比如用户自管 VLAN),三层标签 → 1508 字节
上联口默认 MTU 通常是 1500。QinQ 打开而 MTU 没跟着改,现象很典型:小包全通、大包全丢。 ping 1472 字节(对应 1500 帧)能过,ping 1473 就不通;网页打不开、视频卡在首帧、SSH 能登录但传文件失败。
这类故障难查的地方在于,端口计数上看不到 CRC 错,只有"超长帧丢弃"或者干脆没有任何计数——包在芯片里就被裁了。处理顺序是:先在上联口把 MTU 改成 1504 或更大(跑 PPPoE 就 1512),再确认对端交换机与 BRAS 的接口 MTU 同步放开。链路上任何一跳没放开,大包就在那一跳消失。

把上面的账算完,可以给出三个明确判据。
其一,多台 OLT 汇到同一台上联设备,且 VLAN 编号无法全局统一。 常见于分期建设的园区、连锁门店、乡镇宽带。每期由不同施工队开通,各自从 VLAN 100 起编,事后统一改号的成本高于加一层标签。
其二,业务要穿过第三方或运营商的二层网络。 用户自己的 VLAN 编号必须原样保留到对端,中间网络只认外层 S-VLAN。这时候 QinQ 不是可选项,是唯一能保住用户编号的办法。
其三,同一台上联口承载多个客户,需要按客户而不是按业务隔离。 外层 S-VLAN 标识客户,内层 C-VLAN 标识客户内部的业务,计费和故障定界都按外层走。
反过来,三种情况不必加:单台 mini OLT 直挂 BRAS 或路由器、VLAN 总数在 4094 以内且能统一规划、上联链路全程自管且没有第三方设备。这时候开 QinQ 只增加排障成本。
QinQ 不是纯收益。它在三个地方收取代价。
芯片表项。 双层标签要占用 VLAN 表与 ACL 资源的更多条目,低端交换芯片在满配 QinQ 加 ACL 时会出现表项耗尽,表现为"配置能下发但不生效"。mini OLT 的交换容量本就按小型场景设计,满配 256 个 ONU 再加双层标签,余量要提前确认。
排障复杂度。 抓包看到的是两层标签,Wireshark 里要展开才能看到内层 VID;现场人员如果只熟悉单层 VLAN,很容易把外层 S-VID 当成用户 VLAN,改错方向。
ONU 侧的兼容性。 部分 ONU 对双层标签的处理不一致,尤其是透传模式下收到已带 S-VLAN 的帧。批量开通前必须抽 2–3 台不同批次的 ONU 实测,别等全网开通后才发现某一批不认。
还有一点容易被忽略:QinQ 的 S-VLAN 是全局资源,不是每台设备独立的。 6 台 OLT 各配一个 S-VLAN,这个号段要在整网范围内唯一,规划时要和核心交换机的 VLAN 表一起排,不能各配各的。
把前面的数字落成一个完整方案。
规模:6 栋楼,每栋 1 台 2 口 mini OLT,每栋 96 户,每户 3 个业务(上网、IPTV、VoIP),上联统一汇到 1 台核心交换机,核心上接 BRAS。
第一步,算 C-VLAN 需求:96 × 3 = 288 个/栋。若全局编号,6 × 288 = 1728 个,小于 4094,可行。
第二步,算编号余量:1728 / 4094 = 42.2%。剩余 57.8% 用于后续扩容和办公网。若规划 3 年内楼栋数翻倍到 12 栋,需求 3456 个,占比 84.4%,余量只剩 15.6%,接近不建议突破的 80% 水位线。这时候更稳的做法是上 QinQ,给每栋一个 S-VLAN,内层各自从 100 起编,扩容不再受全局编号约束。
第三步,算 MTU:QinQ 后 1504 字节;业务跑 PPPoE 拨号,再加 8 字节 → 1512 字节。上联口 MTU 设 1512,核心交换机与 BRAS 的接口同步设 1512。留 8 字节余量,避免后续加 MPLS 或额外标签时再改一次。
第四步,算标签开销:每帧多 4 字节,在 1500 字节帧上占 0.27%。按 1 Gbps 上联、平均帧长 500 字节计算,QinQ 带来的额外开销约 4 / 504 = 0.79%,折算带宽损失约 7.9 Mbps。这个量级可以接受,但它确实存在。
结论:12 栋以内的规模,全局编号可行但不宽裕;超过 12 栋或预期分批建设,直接上 QinQ 更省事。 MTU 必须同步放到 1512。
| 检查项 | 合格标准 | 不通过的后果 |
|---|---|---|
| VLAN 总数 | 全网红管 C-VLAN 加 S-VLAN 不超过 4094 的 80% | 后期扩容无数可用,只能割接改号 |
| S-VLAN 号段 | 全网唯一,且与核心交换机 VLAN 表不冲突 | 不同楼栋用户串到一个广播域 |
| 上联口 MTU | ≥1504;跑 PPPoE 时 ≥1512 | 大包静默丢弃,小包正常 |
| 对端 MTU | 核心交换机、BRAS 接口同步放开 | 链路上任意一跳截断,故障定位困难 |
| 芯片表项 | 满配 ONU 加 QinQ 后 ACL/VLAN 表余量 ≥20% | 配置下发成功但不生效 |
| ONU 兼容性 | 抽 3 台不同批次实测双层标签 | 部分批次开通失败,返工成本高 |
设备侧是否开放 QinQ,要按具体软件版本的规格书核对,不能默认有。锐应 L102P 的公开规格列的是 PON 口、上联口形态、分光比、尺寸与温度这些硬指标,VLAN 相关的软件特性需要按版本向厂方确认;这一点在选型阶段就该问清楚,而不是等开通时才发现少一条命令。上联带宽怎么配、几个口怎么分工,可以参考 PON 方案页 里的接法说明。
通常不需要。单台设备 2 个 PON 口满配 256 个 ONU,每户 3 个业务也只有 768 个 VLAN,远低于 4094。只要上联直达 BRAS 或路由器、中间不经过第三方设备,单层 802.1Q 就够。加 QinQ 的唯一理由是"用户自己带 VLAN 且要求原样透传",这种情况在企业专线里才会遇到。
九成是 MTU 没同步。QinQ 让帧长从 1500 变成 1504,跑 PPPoE 再变 1512。上联口和对端接口都要放到 1512,任何一跳停留在 1500 都会截断大包。验证方法:从上联侧 ping 1472 字节(不分片)能通、ping 1473 不通,基本可以锁定 MTU 问题。
可以,而且这正是 QinQ 的价值。外层 S-VLAN 与内层 C-VLAN 在不同的标签层,编号互不影响。6 栋楼可以都用内层 100–387,靠外层 1001–1006 区分。但要注意:S-VLAN 在全网必须唯一,不能两台 OLT 配同一个 S-VLAN。
不会,QinQ 是标签处理,不占物理口。三个口的分工取决于冗余设计:两个 GE 做 LACP 或主备、一个 SFP+ 10GE 上联核心,这是常见接法。QinQ 在这三个口上都能配,与端口数量无关。
按 3 年规划算 VLAN 总数。总数低于 4094 的 50%,全局编号更简单;超过 80%,直接上 QinQ;介于两者之间,看是否分批建设——分批建设意味着编号由不同团队负责,冲突概率高,QinQ 更稳。
QinQ 的决策不复杂,复杂的是把三笔账算清楚:VLAN 总数够不够、编号能不能全局唯一、MTU 有没有余量。算完会发现,大部分单台 mini OLT 的场景并不需要它,真正需要的是多台汇聚且分批建设的那一类。判断错了的代价不对称——多加一层标签只是排障麻烦,少加一层则是用户串网,后者在现场几乎无法挽回。上联汇聚若由工业交换机承担,端口 MTU 与 VLAN 放行规则要在同一张表里核对,接法见 工业交换机方案,设备规格见 关于锐应。