标题：qinq
概述
QinQ技术通过在以太帧中堆叠两个802.1Q包头，有效地扩展了VLAN数目，使  QinQVLAN的数目最多可达4096x4096个。同时，多个VLAN能够被复用到一个核心VLAN中。MSP通常为每个客户建立一个VLAN模型，用通用属性注册协议/通用VLAN注册协议（GARP/GVRP）自动监控整个主干网络的VLAN，并通过扩展生成树协议（STP）来加快网络收敛速度，从而为网络提供弹性。SVLAN技术作为初始的解决方案是不错的，但随着用户数量的增加，SVLAN模型也会带来可扩展性的问题。因为有些用户可能希望在分支机构间进行数据传输时可以携带自己的VLAN ID，这就使采用QinQ技术的MSP面临以下两个问题：第一，第一名客户的VLAN标识可能与其他客户冲突；第二，服务提供商将受到客户可使用标识数量的严重限制。如果允许用户按他们自己的方式使用各自的VLAN ID空间，那么核心网络仍存在4096个VLAN的限制。
产生背景
1、解决日益紧缺的公网VLAN ID资源问题
4096个VLAN不能满足大规模网络的需求，运营商需要根据VLAN ID对接入用户进行区分。
2、二层VPN技术能够透传用户的VLAN信息
二层VPN技术能够透传用户的VLAN信息及以太网配置信息
QinQ技术能够解决日益紧缺的VLAN ID资源问题为小型城域网或企业网提供一种较为简单的二层VPN解决方案。
报文形式
QinQ是对802.1Q的扩展，其核心思想是将用户私网VLAN tag封装到公网VLAN tag中，报文带着两层tag穿越服务商的骨干网络，从而为用户提供一种较为简单的二层VPN隧道。其特点是基于802.1Q协议中的Trunk端口概念，要求隧道上的设备都必须支持802.1Q协议，不需要信令的支持，仅仅通过静态配置即可实现，特别适用于小型的，以三层交换机为骨干的企业网或小规模城域网。QinQ的报文格式如下： 
  
协议
QinQ也称Stacked VLAN 或Double VLAN。标准出自IEEE 802.1ad,目前该标准仍处于草案阶段。其实现为在 802.1q协议标签前再次封装802.1q协议 标签，其中一层标识用户系统网络（customer network），一层标识网络运营网络（service provider network），将其扩展实现用户线路标识。目前部分交换机可以支持QinQ功能。QinQ 允许运营商为每个用户分配最大到4K的第二个VLAN ID。运营商VLAN标记在IPDSLAM网络侧插入，在用户侧删除。BAS通过识别用户的第二个VLAN确定用户线路标识。QinQ也较好地解决了VLAN（最大4k） 数量不足问题。
产生原因
VLAN最初是一种虚拟工作组概念，是在同一个交换机上面，实现  QinQ不同工作组之间的隔离，共享一个交换机设备。VLAN内的所有用户是可相互通信的，VLAN有4096的局限，对于单个接入交换机来说，4096个完全够用，但是对于一个庞大的二层网络，或者完全部署PUPV的宽带接入网来说，4096个就显得捉襟见肘，而QinQ就正是为解决VLAN局限提出来的。 随着MPLS 二层VPN、VPLS、VLL、CCC等二层 VC专线的应用部署，也碰到了同样的VLAN局限。一是VLAN的局限限制了VC的数量，CE用户之间也存在现实的VLAN冲突，这些需求都需要依托QinQ来解决。 现网BRAS一般可以做到每端口支持4096个VLAN终结，也基本满足了Internet接入需求，但是随着电信多业务的推广，逐渐出现了PSPV概念，出现了一个用户多种业务多个VLAN的需求，这样就需要宽带接入网汇聚交换机支持QinQ，BRAS需要支持对QinQ的终结。 什么是QinQ QinQ技术〔也称Stacked VLAN 或Double VLAN〕。标准出自IEEE 802.1ad,其实现将用户私网VLAN Tag封装在公网VLAN Tag中，使报文带着两层VLAN Tag穿越运营商的骨干网络（公网）。在公网中报文只根据外层VLAN Tag（即公网VLAN Tag）传播，用户的私网VLAN Tag被屏蔽。
特点
相对基于MPLS的二层VPN，QinQ具有如下特点：1.为用户提供了一种更为简单的二层VPN隧道；2.不需要信令协议的支持，可以通过纯静态配置实现；3.由于QinQ的实现是基于802.1Q协议中的Trunk端口概念，要求隧道上的设备都必须支持802.1Q协议。4.QinQ主要可以解决如下几个问题：1.缓解日益紧缺的公网VLAN ID资源问题；2.用户可以规划自己的私网VLAN ID，不会导致和公网VLAN ID冲突；3.为小型城域网或企业网提供一种较为简单的二层VPN解决方案
主要特点
1． 没有协议交互过程，不需要任何配置；
2． 与业务不关联，对DSLAM无影响；
3． 扩展了4k VLAN；
4． 二层VLAN统一规划，同时要求运营商二层网络必须支持二层VLAN tag，对设备要求比较高。
5． 报文有效载荷降低，同时造成可能分片、重组；
6． 协议扩展性不强，不支持用户其他控制属性。
QinQ功能应用场景：
应用场合：Internet 业务、VOD/VoIP、大客户接入及VPN、FMC全业务
作用原理
设备提供的端口QinQ特性是一种简单、灵活的二层VPN技术，它通过在运营商网络边缘设备上为用户的私网报文封装外层VLANTag，使报文携带两层VLANTag穿越运营商的骨干网络。
在公网中，设备只根据外层VLAN Tag对报文进行转发，并将报文的源MAC地址表项学习到外层Tag所在VLAN的MAC地址表中，而用户的私网VLANTag在传输过程中将被当做报文中的数据部分来进行传输。QinQ使得运营商可以用一个VLAN为含有多个VLAN的用户网络服务。举例来说，用户网络A的私网VLAN为VLAN1~10，用户网络B的私网为VLAN1~20。运营商为用户网络A分配的VLAN为VLAN3，为用户网络B分配的VLAN为VLAN 4。当用户网络A的带VLAN Tag的报文进入运营商网络时，报文外面会被封装上一层VLAN ID为3的VLAN Tag；当用户网络B的带VLAN Tag的报文进入运营商网络时，报文外面会被封装上一层VLAN ID为4的VLAN Tag。这样，不同用户网络的报文在公网传输时被完全分开，即时两个用户网络的VLAN范围存在重叠，在公网传输时也不会产生混淆。
优点
1、QinQ可以简单认为是报文携带了两层802.1Q Tag。
2、QinQ技术的出现让运营商可以以较低成本为客户提供二层VPN。QinQ完全在运营商网络上实施，用户对QinQ不感知。
3、在运营商网络中的报文，内层Tag为客户私有VLAN标识，外层Tag为运营商分配给客户的VLAN。客户可以独立规划自己的VLAN ID，运营商网络的变化不影响客户网络。
4、QinQ不需要单独的信令协议，只需要静态配置，简洁稳定。
5、QinQ扩展了VLAN资源，为运营商按VLAN区分接入用户提供了可能。[1]
发展方向
灵活QinQ QinQ实现方式 QinQ实现方式一种是基于端口的QinQ，一种是基于流分类的灵活QinQ。 基于端口的QinQ的实现机理如下： 当该设备端口接收到报文，无论报文是否带有VLAN Tag，交换机都会为该报文打上本端口缺省VLAN的VLAN Tag。这样，如果接收到的是已经带有VLAN Tag的报文，该报文就成为双Tag的报文；如果接收到的是untagged的报文，该报文就成为带有端口缺省VLAN Tag的报文。由于基于端口的QinQ比较容易实现，所以业界主流厂家的三层交换机都支持。 基于端口的QinQ的缺点是外层Vlan Tag封装方式死板，不能根据业务种类选择外层Vlan Tag封装的方式，从而很难有效支持多业务的灵活运营。 基于流分类的灵活QinQ实现机理如下： 基于流的QinQ特性（Selective QinQ），可灵活根据流分类的结果选择是否打外层VLAN tag、打上何种外层VLAN tag：如根据用户Vlan tag、MAC地址、IP协议、源地址、目的地址、优先级、或应用程序的端口号等信息实施灵活QinQ特性。借助上述流分类方法，实际实现了根据不同用户、不同业务、不同优先级等对报文进行外层VLAN tag封装，对多种业务实施不同承载的方案。