栏目导航
  
网络协议:思科交换机QinQ 技术
新闻动态

网络协议:思科交换机QinQ 技术 2016/5/24


一、QinQ 的产生背景

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

  QinQ最初主要是为拓展VLAN的数量空间而产生的,它是在原有的802.1Q报文的基础上又增加一层802.1Q标签实现,使VLAN数量增加到4K*4K,随着城域以太网的发展以及运营商精细化运作的要求,QinQ的双层标签又有了进一步的使用场景,它的内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务,另外,QinQ报文带着两层tag穿越运营商网络,内层tag透明传送,也是一种简单、实用的VPN技术,因此它又可以作为核心MPLS VPN在城域以太网VPN的延伸,最终形成端到端的VPN技术。

  二、QinQ 的作用及原理

  设备提供的端口QinQ 特性是一种简单、灵活的二层VPN 技术,它通过在运营商网

  络边缘设备上为用户的私网报文封装外层VLAN Tag,使报文携带两层VLAN Tag穿越运营商的骨干网络(公网)。

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

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

  QinQ 特性使网络最多可以提供4094X4094 个VLAN,满足城域网对VLAN 数量的

  需求,它主要解决了如下几个问题:

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

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

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

  三、QinQ 的报文结构

  QinQ报文在公网传输时带有双层VLAN Tag,内层VLAN Tag为用户私网VLAN Tag,

  外层VLAN Tag为运营商分配给用户的VLAN Tag。

  QinQ报文有固定的格式,就是在802.1Q的标签之上再打一层802.1Q标签,QinQ报文比正常的802.1Q报文多四个字节。

  另外,对于QinQ报文的ETYPE值,不同的厂家有不同的设置,有些厂商使用0x8100,有些厂家采用0x9100。

  接口的MTU 值默认为1500 字节。当为报文加上外层VLAN Tag 后,报文的长度会

  增加4 个字节,建议用户适当增加运营商网络中各接口的MTU(Maximum Transmission Unit,最大传输单元)值,至少为1504 字节。四、QinQ封装

  QinQ封装是指如何把单层Q报文转换为双层Q报文,封装主要发生在城域网面向用户的UPE设备,一般在交换式的端口上进行,根据不同的封装依据,QinQ可以分为几种不同类型,包括基于端口的QinQ和基于流的QinQ两大类,另外,还可以在路由子接口上进行的特殊QinQ封装,具体如下:

  1、基于端口的QinQ封装

  基于端口的封装指进入一个端口的所有流量全部封装一个外层VLAN TAG,封装方式较为呆板。

  2、基于流的QinQ封装

  基于流的QinQ封装可以对进入端口的数据首先进行流分类,然后对于不同的数据流选择是否打外层TAG,打何种外层TAG,因此也叫灵活QinQ,灵活QinQ根据流分类的方法又可细分如下:

  1) 根据报文中的VLAN ID区间分流

  当同一用户的不同业务使用不同的VLAN ID时,可以根据VLAN ID区间进行分流,比如PC上网的VLAN ID范围是101~200,IPTV的VLAN ID范围是201~300,大客户的VLAN范围是301~400,面向用户的设备收到用户数据后,根据VLAN ID范围,对PC上网业务打上100的外层标签,对IPTV打上300的外层标签,对大客户打上500的外层标签。

  2) 根据报文中的VLAN ID+Priority进行分流

  不同的业务有不同的优先级,当同一用户的多种业务使用相同的VLAN ID时,可以根据不同业务的Priority进行区分,然后打上不同的外层标签。

  3) 根据目的IP进行QinQ封装

  当同一台PC既包括上网业务,又包括语音业务时,不同业务的目的IP不同,可以利用ACL对目的IP进行分流,然后打上不同的外层标签。

  4) 根据ETYPE进行QinQ封装

  当同一用户既包括PPPOE的上网业务,又包括IPOE的IPTV业务时,可以根据ETYPE进行数据分流,IPOE的协议号为0x0800,PPPOE的协议号为0x8863/8864,这样,上网业务和IPTV业务就能打上不同的外层标签。

  QinQ封装一般在交换式端口上直接进行,但有一种特殊情况例外,QinQ也可以在路由子接口上进行封装。

*推荐使用IE浏览器*
版权所有:绍兴文理学院元培学院计算机网络课程组  电话:0575-88345052  E-mail: miss716@163.com
本站所有资源仅供个人学习参考,不用于任何商业用途。 浙ICP备18006217号