定义
QinQ(802.1Q-in-802.1Q)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能,可以使私网VLAN透传公网。由于在骨干网中传递的报文有两层802.1Q Tag(一层公网Tag,一层私网Tag),即802.1Q-in-802.1Q,所以称之为QinQ协议。
目的
随着以太网技术在运营商网络中的大量部署(即城域以太网),利用802.1Q VLAN对用户进行隔离和标识受到很大限制。因为IEEE802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,于是QinQ技术应运而生。
QinQ最初主要是为拓展VLAN的数量空间而产生的。它是通过在原有的802.1Q报文的基础上增加一层802.1Q标签来实现的,使得VLAN数量增加到4094×4094。
随着城域以太网的发展以及运营商精细化运作的要求,QinQ的双层标签又有了进一步的使用场景。它的内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务。另外,QinQ报文带着两层Tag穿越运营商网络,内层Tag透明传送,也是一种简单、实用的VPN技术。因此它又可以作为核心MPLS VPN在城域以太网VPN的延伸,最终形成端到端的VPN技术。
由于QinQ方便易用的特点,现在已经在各运营商中得到了广泛的应用,如QinQ技术在城域以太网解决方案中和多种业务相结合。特别是灵活QinQ(Selective QinQ/VLAN Stacking)的出现,使得QinQ业务更加受到了运营商的推崇和青睐,它具有不同用户之间的VLAN与公网VLAN有效分离、最大限度节省运营商网络的VLAN资源等特点。随着城域以太网的大力发展,各个设备提供商都提出了各自的城域以太网的解决方案。QinQ因为其自身简单灵活的特点,在各解决方案中扮演着重要的角色。
受益
QinQ通过增加一层802.1Q的标签头实现了扩展VLAN空间的功能,具有以下价值:
- 扩展VLAN,对用户进行隔离和标识不再受到限制。
- QinQ内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务,更利于业务的部署。
- QinQ封装、终结的方式很丰富,帮助运营商实现业务精细化运营。
基本QinQ
基本QinQ又称为QinQ二层隧道,是基于接口方式实现的。开启接口的基本QinQ功能后,当该接口接收到报文,设备会为该报文打上本接口缺省VLAN的VLAN Tag。如果接收到的是已经带有VLAN Tag的报文,该报文就成为双Tag的报文;如果接收到的是不带VLAN Tag的报文,该报文就成为带有接口缺省VLAN Tag的报文。
当需要较多的VLAN时,可以配置基本QinQ功能。通过对VLAN增加外层Tag,使得VLAN的可用数目范围变大,解决VLAN数目资源紧缺的问题。
在如图2所示的网络中,企业部门1有两个办公地,部门2有三个办公地,两个部门的各办公地分别和网络中的PE1、PE2相连,部门1和部门2可以任意规划自己的VLAN。
部门名称 | VLAN区间 | 外层VLAN |
---|---|---|
Department 1 | 2~500 | 10 |
Department 2 | 500~4094 | 20 |
在PE1和PE2上通过如下思路配置QinQ二层隧道功能,使得每个部门的各个办公地网络可以互通,但两个部门之间不能互通。
-
在PE1上,对于进入接口Port1和Port2的用户报文都封装外层VLAN 10,对于进入接口Port3中用户报文都封装外层VLAN 20。
-
在PE2上,对于进入接口Port1和Port2的用户报文都封装外层VLAN 20。
-
PE1上的接口Port4和PE2上的接口Port3允许VLAN 20的报文通过。
灵活QinQ
灵活QinQ是对QinQ的一种更灵活的实现,又叫VLAN Stacking或QinQ Stacking。它是基于接口与VLAN相结合的方式实现的。除了能实现所有基本QinQ的功能外,对于同一个接口接收的报文还可以根据不同的VLAN做不同的动作,可以实现以下功能:
- 基于VLAN ID的灵活QinQ:为具有不同内层VLAN ID的报文添加不同的外层VLAN Tag。
- 基于802.1p优先级的灵活QinQ:根据报文的原有内层VLAN的802.1p优先级添加不同的外层VLAN Tag。
- 基于流策略的灵活QinQ:根据QoS策略添加不同的外层VLAN Tag。基于流策略的灵活QinQ能够针对业务类型提供差别服务。
灵活QinQ功能是对基本QinQ功能的扩展,它比基本QinQ的功能更灵活。二者之间的主要区别是:
-
基本QinQ:对进入二层QinQ接口的所有帧都加上相同的外层Tag。
-
灵活QinQ:对进入二层QinQ接口的帧,可以根据不同的内层Tag而加上不同的外层Tag,对于用户VLAN的划分更加细致。
如图2所示的网络中,企业的部门1有多个办公地,部门2也有多个办公地。
设备名称 | 接口名称 | VLAN区间 | 外层VLAN |
---|---|---|---|
PE1 | Port1 | 2~500 | 10 |
Port1 | 1000~2000 | 20 | |
Port2 | 100~500 | 10 | |
PE2 | Port1 | 1000~4094 | 20 |
Port2 | 500~2500 | 20 |
-
部门1的网络中使用VLAN 2~VLAN 500。
-
部门2的网络中使用VLAN 500~VLAN 4094。
-
PE1的Port1接口同时收到两个部门不同VLAN的报文。
在PE1和PE2上通过如下思路配置二层灵活QinQ功能,使得每个部门的各个办公地网络可以互通,但两个部门之间不能互通。
-
对于进入PE1和PE2不同接口的报文的外层VLAN规划如表1所示:
-
PE1和PE2的接口Port3允许VLAN 20的报文通过。