QinQ 的产生背景
IEEE802.1Q 中定义的 VLAN Tag 域中只有 12 个比特位用于表示 VLAN ID,所以设备最多可以支持 4094 个 VLAN。在实际应用中,尤其是在城域网中,需要大量的VLAN 来隔离用户,4094 个 VLAN 远远不能满足需求。

QinQ 的作用及原理
设备提供的端口 QinQ 特性是一种简单、灵活的二层 ××× 技术,它通过在运营商网络边缘设备上为用户的私网报文封装外层 VLAN  Tag,使报文携带两层 VLAN  Tag穿越运营商的骨干网络(公网)。
在公网中,设备只根据外层 VLAN  Tag 对报文进行转发,并将报文的源 MAC 地址表项学习到外层 Tag 所在 VLAN 的 MAC 地址表中,而用户的私网 VLAN Tag 在传输过程中将被当作报文中的数据部分来进行传输。

QinQ+native vlan的理解_第1张图片

如图所示,用户网络A的私网VLAN为VLAN 1~10,用户网络B的私网VLAN为VLAN 1~
20。运营商为用户网络A分配的VLAN为VLAN 3,为用户网络B分配的VLAN为VLAN
4。当用户网络A的带VLAN  Tag的报文进入运营商网络时,报文外面会被封装上一
层VLAN ID为 3 的VLAN Tag;当用户网络B的带VLAN Tag的报文进入运营商网络
时,报文外面会被封装上一层VLAN ID为 4 的VLAN Tag。这样,不同用户网络的报
文在公网传输时被完全分开,即使两个用户网络的VLAN范围存在重叠,在公网传输
时也不会产生混淆。 

 QinQ 特性使网络最多可以提供 4094X4094 个 VLAN,满足城域网对 VLAN 数量的
需求,它主要解决了如下几个问题:
1缓解日益紧缺的公网 VLAN ID 资源问题。
2用户可以规划自己的私网 VLAN ID,不会导致和公网 VLAN ID 冲突。
3为小型城域网或企业网提供一种较为简单的二层 ××× 解决方案。

——————————————————————————————————————————

另外个人对QinQ以及native vlan的一点认识,与大家分享:

接口的 MTU 值默认为 1500 字节。当为报文加上外层 VLAN Tag 后,报文的长度会
增加4个字节,建议用户适当增加运营商网络中各接口的  MTU 值,至少为 1504 字节。

6500(config)#system mtu 1504   或者接口下

6500(config-if)#mtu 1504

QinQ基本配置命令:

int f0/15
sw ac vlan 3
sw mo dot1q-tunnel   
使此端口为隧道端口

802.1Q为转发未被标记的帧定义为native vlan.交换机会把所有未标记的帧转发到native vlan中.native vlan是端口默认的vlan配置,cisco交换机的native vlan是vlan 1.如果交换机收到的一个帧属于native vlan(默认vlan 1)中,会不打标签进行传输.

 全局命令vlan dot1q tag native 作用是开启native vlan的打标签功能,作用是防止利用native vlan进行vlan hopping.做QinQ时最好打开此功能.