QinQ技术介绍


QinQ

QinQ简介

QinQ的产生背景

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

QinQ的作用及原理

设备提供的端口QinQ特性是一种简单、灵活的二层VPN技术,它通过在运营商网络边缘设备上为用户的私网报文封装外层VLAN Tag,使报文携带两层VLAN Tag穿越运营商的骨干网络(公网)。

在公网中,设备只根据外层VLAN Tag对报文进行转发,并将报文的源MAC地址表项学习到外层Tag所在VLANMAC地址表中,而用户的私网VLAN Tag在传输过程中将被当作报文中的数据部分来进行传输。

QinQ特性使得运营商可以用一个VLAN为含有多个VLAN的用户网络服务。如1所示,用户网络A的私网VLANVLAN 110,用户网络B的私网VLANVLAN 120。运营商为用户网络A分配的VLANVLAN 3,为用户网络B分配的VLANVLAN 4。当用户网络A的带VLAN Tag的报文进入运营商网络时,报文外面会被封装上一层VLAN ID3VLAN Tag;当用户网络B的带VLAN Tag的报文进入运营商网络时,报文外面会被封装上一层VLAN ID4VLAN Tag。这样,不同用户网络的报文在公网传输时被完全分开,即使两个用户网络的VLAN范围存在重叠,在公网传输时也不会产生混淆。

图1 QinQ功能示意图

QinQ特性使网络最多可以提供4094X4094VLAN,满足城域网对VLAN数量的需求,它主要解决了如下几个问题:

l              缓解日益紧缺的公网VLAN ID资源问题。

l              用户可以规划自己的私网VLAN ID,不会导致和公网VLAN ID冲突。

l              为小型城域网或企业网提供一种较为简单的二层VPN解决方案。

QinQ的报文结构

QinQ报文在公网传输时带有双层VLAN Tag,内层VLAN Tag为用户私网VLAN Tag,外层VLAN Tag为运营商分配给用户的VLAN Tag,报文结构如2所示。

图2 QinQ的报文结构

&  说明:

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

 

QinQ的实现方式

QinQ可分为两种:基本QinQ和灵活QinQ

(1)        基本QinQ

基本QinQ是基于端口方式实现的。开启端口的基本QinQ功能后,当该端口接收到报文,设备会为该报文打上本端口缺省VLANVLAN Tag。如果接收到的是已经带有VLAN Tag的报文,该报文就成为双Tag的报文;如果接收到的是不带VLAN Tag的报文,该报文就成为带有端口缺省VLAN Tag的报文。

(2)        灵活QinQ

灵活QinQ是对QinQ的一种更灵活的实现,它是基于端口与VLAN相结合的方式实现的。除了能实现所有基本QinQ的功能外,对于同一个端口接收的报文还可以根据不同的VLAN做不同的动作,可以实现以下功能:

l              为具有不同内层VLAN ID的报文添加不同的外层VLAN Tag

l              根据报文的原有内层VLAN802.1p优先级标记外层VLAN报文的802.1p优先级。

l              可以在添加外层VLAN Tag的同时对内层用户VLAN ID进行修改。

VLAN TagTPID值可调功能

TPIDTag Protocol Identifier,标签协议标识)是VLAN Tag中的一个字段,用于表示VLAN Tag的协议类型,IEEE 802.1Q协议规定该字段的取值为0x8100

IEEE802.1Q协议定义的以太网帧的VLAN Tag结构如3所示。

图3 以太网帧的VLAN Tag结构

设备可以根据TPID值来识别报文中是否携带对应的VLAN Tag:当端口收到报文时,根据配置的TPID值与报文中相应的字段进行比较,如果二者一致,则表示报文中携带相应的VLAN Tag

另外,不同厂商的设备可能将QinQ报文外层VLAN TagTPID字段设为不同的值。为了和这些设备兼容,用户可以自行配置该TPID的值,使得发送到公网中的QinQ报文携带的TPID值与其他厂商相同,就可以实现与其他厂商的设备互通。

由于TPID字段在以太网报文中所处位置与不带VLAN Tag的报文中协议类型字段所处位置相同,为避免网络中报文转发和接收造成混乱,不允许用户将TPID值配置为1中列举的常用协议类型值。

表1 常用协议类型值

协议类型

对应值

ARP

0x0806

PUP

0x0200

RARP

0x8035

IP

0x0800

IPv6

0x86DD

PPPoE

0x8863/0x8864

MPLS

0x8847/0x8848

IPX/SPX

0x8137

IS-IS

0x8000

LACP

0x8809

802.1x

0x888E

集群

0x88A7

设备保留

0xFFFD/0xFFFE/0xFFFF

 

附件下载

联系我们