QinQ(802.1Q-in802.1Q)协议基于IEEE802.1Q技术的一种二层隧道协议。由于在公网中传递的帧有两层802.1Q Tag(一个是公网Tag,一个私网Tag),所以称之为QinQ协议。
QinQ解决了如下几个问题
1.缓解日益紧缺的公司VLAN ID资源问题;
2.用户可以规划自己的私网VLAN ID,不会导致和公网VLAN ID冲突;
3.为小型城域网或企业网提供一种较为简单的二层VPN解决方案
一、解决日益紧缺的公网VLAN ID资源问题
·4094个VLAN不能满足大规模的网络需求
·运营商需要根据VLAN ID对接入用户进行区分
二、用户希望可以规划自己的私网VLAN ID,而不会与公网WLAN冲突
·由于QinQ带着两层VLAN标签,穿越运营商的网络。内层标签代表用户;外层标签代表业务,这已经在运营商中得到了广泛的应用。
我们可以通过下图,了解QinQ诞生的必要
如图中所示,总公司连接两个个子公司,而各个子公司要对不同部门的员工采用VLAN进行区分,但两个个子公司的VLAN ID 号是重叠的!如果数据帧中,只采用一层的VLAN标签,那么总公司就无法区分数据是来自于哪个子公司。
所以,为了解决的这样的问题,可以在总公司的交换机上,为各个子公司创建不同的VLAN。当连接对应子公司的总公司交换机的端口收到数据帧后,再在数据帧的外面,添加一层VLAN标签。
例如,子公司1和子公司2的数据帧,分别添加到外层VLAN标签VLAN 10和VLAN 20,这样就可以实现在总公司中对于来自不同子公司的数据进行区分了。也可以对来自这两个子公司的数据提供不同的服务,以及差分服务。
·
·QinQ,又称VLAN嵌套,是对基于IEEE802.1Q封装的隧道协议的形象称呼;
·QinQ技术 是在原有VLAN标签(内层标签)之外再增加一个VLAN标(外层标签),外层标签可以将内层标签屏蔽起来。
·QinQ不需要协议的支持,通过他可以实现简单的L2VPN(二层虚拟专用网),特别适合以三层交换机为骨干的小型局域网。
在标准的802.1Q以太网帧中再插入一层VLAN标签,由此可见,QinQ以太网帧比原有的帧多了4个字节。靠近原地址的是外层标签;靠近类型的是内层标签。
·QinQ封装的过程就是把单层802.1Q标签的数据帧转换成双层的802.1Q标签的数据帧。封装过程主要发生在城域网侧连接用户的交换机端口上进行的。
·根据不同的的VLAN标签封装依据,QinQ可分为:
1.“基本QinQ”。
2.“灵活QinQ”。
“基本QinQ封装”是将进入一个端口的所有流量全部封装一个相同的外层VLAN标签,是一种基于端口的QinQ封装方式,也成为“QinQ二层隧道”。
开启端口的基本QinQ功能后,当该端口接收到已经带有VLAN标签的数据帧时,则该数据帧就将封装成双层标签的帧;如果接收到的是不带VLAN标签的数据帧,则该数据帧将封装成为带有端口缺省VLAN的一层标签的帧。
如图所示,部门1 有两个办公地,部门2 有三个办公地,两个部门的各办公地分别和网络中的PE1、PE2相连,部门1和部门2可以任意规划自己的VLAN。在配置QinQ二层隧道功能后,每个部门的各个办公地网络可以互通,但两个部门之间不能互通。
·在PE1上,对进入端口Port1和Port2的用户(同为部门1)数据帧都封装外层VLAN 10,对于进入端口Port3中用户(属于部门2)数据帧都封装外层VLAN 20。
·在PE2上,对于进入端口Port1和Port2的用户(都属于部门2)数据帧都封装外层VLAN 20。
·PE1上的 端口Port4 和PE2上的 端口Port3 允许VLAN 20的用户数据帧通过,以便实现连接在PE1的Port3上部门2的用户与连接在PE2的Port1和Port2上部门2的用户互通。
以上这种封装方式,不够灵活,很难有效的区分不同用户业务,不适于运营商的网络。
“灵活QinQ”是对QinQ的一种更灵活的实现,它是基于端口封装与基于VLAN封装的结合方式。灵活QinQ对于同一个端口接收的数据帧还可以根据不同的内层VLAN标签执行不同的外层标签封装。它又可分为以下三个子类:
1.基于VLAN ID的灵活QinQ: 它是基于数据帧中不同的内层标签的VLAN ID来添加不同的外层标签。(要求不同用户的内层VLAN ID或VLAN ID范围不能重叠或交叉)
2.基于802.1p优先级的灵活QinQ: 它是基于数据帧中不同的内层标签的802.1p优先级来添加不同的外层标签。(要求不同用户的内层VLAN的802.1p优先级或802.1p优先级范围不能重叠或交叉)
3.基于流策略的灵活QinQ: 它是根据所定义的QoS策略为不同的数据帧添加不同的外层标签。基于流策略的灵活QinQ是基于端口与VLAN相结合的方式实现的,能够针对业务类型提供差别服务。
如图所示,有甲乙两个用户,采用FTTH的接入方式,开通了电话、上网、IPTV业务,加重了ONU经过ODN网络,连接到OLT上,OLT上层连接了S9300交换机,S9300交换机上层分别连接了SR和BRAS,每个用户分配了3个VLAN,每个VLAN对应一种业务。 例如,OLT1下的用户甲分配了3个VLAN,上网是VLAN 1001,电话是VLAN 2001,电视是VLAN 3001。
用户甲 | 内层VLAN |
---|---|
上网 | VLAN 1001 |
电话 | VLAN 2001 |
电视 | VLAN 3001 |
每个VLAN对应不同的业务。在业务进入S9300交换机的下行端口后,下行端口启用灵活的QinQ功能,根据用户的VLAN ID 打上不同的VLAN标签。如下表
用户甲 | 内层VLAN | 外层VLAN |
---|---|---|
上网 | VLAN 1001 | VLAN 2401 |
电话 | VLAN 2001 | VLAN 1700 |
电视 | VLAN 3001 | VLAN 2601 |
当用户数据内层为 VLAN 1001时,直接在内层增加公网唯一标签 2401,业务进入到S9300交换机上的宽带上网VLAN 1001 ,数据会分流到BRAS设备,相同的是,如果用户数据内层为 VLAN 2001 或 3001 ,外层为VLAN 1700 或 VLAN 2601时,数据会分流到SR设备。 同理,用户乙也是如此。
·对QinQ的双层tag进行识别。
·然后根据后续的转发行为对双层tag进行剥离或者继续传送。
·不允许在QinQ终结的外层vlan上面再启动普通三层业务功能。
注:
·灵活QinQ只能用在hybrid接口,trunk口无法实现。
·基本QinQ可配置多层,而灵活QinQ只能配置两层,想要配多层,第三层开始得结合配置基本QinQ。
1.H3C QinQ技术介绍 http://www.h3c.com/cn/d_200805/605855_30003_0.htm
2.QinQ基础知识 https://blog.csdn.net/qq_38265137/article/details/80404320