qinq 是对基于ieee 802.1q 封装的隧道协议的形象称呼,又称vlan 堆叠。qinq技术是在原有vlan 标签(内层标签)之外再增加一个vlan 标签(外层标签),外层标签可以将内层标签屏蔽起来。
qinq 不需要协议的支持,通过它可以实现简单的l2vpn(二层虚拟专用网),特别适合以三层交换机为骨干的小型局域网。
qinq技术的典型组网如图8.5-1所示,连接用户网络的端口称为customer端口,连接服务提供商网络的端口称为uplink端口,服务提供商网络边缘接入设备称为pe(provider edge)。

用户网络一般通过trunk vlan 方式接入pe,服务提供商网络内部的uplink 端口通过trunk vlan 方式对称连接。
当报文从用户网络1 到达交换机a 的customer 端口时,无论报文是tagged 还是untagged 的,交换机a 都强行插入外层标签(vlan id 为10)。在服务提供商网络内部,报文沿着vlan 10 的端口传播,直至到达交换机b。交换机b 发现与用户网络2 相连的端口为customer 端口,于是按照传统的802.1q 协议剥离外层标签,恢复成用户的原始报文,发送到用户网络2。
这样,用户网络1 和2 之间的数据可以通过服务提供商网络进行透明传输,用户网络可以自由规划自己的私网vlan id,而不会导致和服务提供商网络中的vlan id 冲突。
使用以下命令配置qinq。
switchport [port-list] qinq {normal|uplink|customer|tpid [tpid]}
配置qinq 时,spvlan 的customer 端口需设置为untagged 端口,uplink 端口需设置为tagged 端口。
使用show qinq 命令查看qinq 的配置信息:
如图8.5-1所示,假设交换机a的customer端口为gei_1/1,uplink端口为gei_1/24;交换机b的customer端口为gei_1/1,uplink端口为gei_1/24。
交换机a 的配置:

交换机b 的配置: