什么是QinQ技术?802.1ad协议简介

QinQ技术〔也称Stacked VLAN 或Double VLAN〕。标准出自IEEE 802.1ad,其实现将用户私网VLAN Tag封装在公网VLAN Tag中,使报文带着两层VLAN Tag穿越运营商的骨干网络(公网)。

qinq2

概述

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个数4094 -> 4094(inner)*4094(outer)。
  2. ISP可以针对单一客户设置单一vlan tag,而不需变更客户的封包资讯。
  3. 不需要客户的相互配合及合作,即可进行供应商桥梁的配置。

端口角色

  1. Normal port : for 802.1Q讯框通行的port
  2. Access port : SP边缘装置的入口port,在vlan stacking中被视为untagged,因此加入第二个vlan tag(outer)。
  3. Tunnel port : SP边缘装置的出口port,同一个客户端皆被带入同一个vlan tagged(使用SPVID)。

通信协议

QinQ是对802.1Q的扩展,其核心思想是将用户私网VLAN tag封装到公网VLAN tag中,报文带着两层tag穿越服务商的骨干网络,从而为用户提供一种较为简单的二层VPN隧道。其特点是基于802.1Q协议中的Trunk端口概念,要求隧道上的设备都必须支持802.1Q协议,不需要信令的支持,仅仅通过静态配置即可实现,特别适用于小型的,以三层交换机为骨干的企业网或小规模城域网。

TCPIP_802_1ad_DoubleTag

产生原因

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被屏蔽。

相关协议

QinQ也称Stacked VLAN 或Double VLAN。标准出自IEEE802.1ad,当前该标准仍处于草案阶段。其实现为在802.1q协议标签前再次封装802.1q协议 标签,其中一层标识用户系统网络(customer network),一层标识网络运营网络(service provider network),将其扩展实现用户线路标识。当前部分交换机可以支持QinQ功能。QinQ 允许运营商为每个用户分配最大到4K的第二个VLAN ID。运营商VLAN标记在IPDSLAM网络侧插入,在用户侧删除。BAS通过识别用户的第二个VLAN确定用户线路标识。QinQ也较好地解决了VLAN(最大4k) 数量不足问题。

在802.1Q中规定TPID(Tag Protocol Identifier)的EType的值为0x8100。在QinQ封装中,各个设备厂商的内层TPID的EType的值为0x8100,但是对于外层TPID的EType,各个厂商所使用的值不相同。

在IEEE 802.1ad中规定外层TPID的 EType字段的定义为0x88a8。