通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 2934|回复: 0
打印

[移动互联网] q-in-q [复制链接]

军衔等级:

  新兵

注册:2011-11-21
跳转到指定楼层
1#
发表于 2014-10-9 19:33:43 |只看该作者 |倒序浏览
QINQ
一、发展背景
随着以太网技术在运营商网络中的大量部署(即城域以太网),利用802.1Q VLAN对用户进行隔离和标识受到很大限制,因为IEEE802.1Q中定义的VLAN tag域只有12个比特,仅能表示4KVLAN,这对于城域以太网中需要标识的大量用户捉襟见肘,于是QinQ技术应运而生。
QinQ也称Stacked VLAN 或Double VLAN。标准出自IEEE 802.1ad,目前该标准仍处于草案阶段。其实现为在 802.1q协议标签前再次封装802.1q协议 标签,其中一层标识用户系统网络(customer network),一层标识网络运营网络(service provider network),将其扩展实现用户线路标识。其实现将用户私网VLAN Tag封装在公网VLAN Tag中,使报文带着两层VLAN Tag穿越运营商的骨干网络(公网)。运营商需要根据VLAN ID对接入用户进行区分。
目前部分交换机可以支持QinQ功能。QinQ 允许运营商为每个用户分配最大到4K的第二个VLAN ID。运营商VLAN标记在IPDSLAM网络侧插入,在用户侧删除。BAS通过识别用户的第二个VLAN确定用户线路标识。QinQ也较好地解决了VLAN(最大4k)数量不足问题。
随着城域以太网的发展以及运营商精细化运作的要求,QinQ的双层标签又有了进一步的使用场景,它的内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务,另外,QinQ报文带着两层tag穿越运营商网络,内层tag透明传送,也是一种简单、实用的VPN技术,因此它又可以作为核心MPLS VPN在城域以太网VPN的延伸,最终形成端到端的VPN技术。
二、QinQ报文格式

QinQ报文有固定的格式,就是在802.1Q的标签之上再打一层802.1Q标签,QinQ报文比正常的802.1Q报文多四个字节。
另外,对于QinQ报文的ETYPE值,不同的厂家有不同的设置,华为公司采用默认的0x8100,有些厂家采用0x9100,为了实现互通,华为公司设备支持基于端口的QinQ协议配置,即用户可以在设备端口上设置QinQ protocol 0x9100(该值可以由用户任意指定),这样端口就会将报文外层VLAN tag中的TPID值替换为0x9100再进行发送,从而使发送到其他设备端口的QinQ报文可以被设备识别。
三、QinQ分类
QinQ可分为两种:基本 QinQ 和灵活 QinQ。
(1)基本 QinQ
基本 QinQ 是基于端口方式实现的。开启端口的基本 QinQ 功能后,当该端口接收到 报文,设备会为该报文打上本端口缺省 VLAN 的 VLAN Tag。如果接收到的是已经 带有 VLAN Tag 的报文,该报文就成为双 Tag 的报文;如果接收到的是不带 VLAN Tag 的报文,该报文就成为带有端口缺省 VLAN Tag 的报文。
(2)灵活 QinQ
灵活 QinQ 是对 QinQ 的一种更灵活的实现,它是基于端口与 VLAN 相结合的方式 实现的。除了能实现所有基本 QinQ 的功能外,对于同一个端口接收的报文还可以根据不同的 VLAN 做不同的动作,可以实现以下功能:
l  为具有不同内层 VLAN ID 的报文添加不同的外层 VLAN Tag。
l  根据报文的原有内层 VLAN 的 802.1p 优先级标记外层 VLAN 报文的 802.1p
优先级。
l  可以在添加外层 VLAN Tag 的同时对内层用户 VLAN ID 进行修改。
VLAN Tag 的 TPID 值可调功能:TPID(Tag Protocol Identifier,标签协议标识)是 VLAN Tag 中的一个字段,用于表示 VLAN Tag 的协议类型,IEEE 802.1Q 协议规定该字段的取值为 0x8100。


四、特点
(1)没有协议交互过程,不需要任何配置;
   (2) 与业务不关联,对DSLAM无影响;
  (3) 扩展了4k VLAN;
  (4) 二层VLAN统一规划,同时要求运营商二层网络必须支持二层VLAN tag,对设备要求比较高。
  (5) 报文有效载荷降低,同时造成可能分片、重组;
  (6) 协议扩展性不强,不支持用户其他控制属性。
相对基于MPLS的二层VPN,QinQ具有如下特点:
(1)为用户提供了一种更为简单的二层VPN隧道;
(2)不需要信令协议的支持,可以通过纯静态配置实现;
(3)由于QinQ的实现是基于802.1Q协议中的Trunk端口概念,要求隧道上的设备都必须支持802.1Q协议。
(4)QinQ主要可以解决如下几个问题:1.缓解日益紧缺的公网VLAN ID资源问题;2.用户可以规划自己的私网VLAN ID,不会导致和公网VLAN ID冲突;3.为小型城域网或企业网提供一种较为简单的二层VPN解决方
五、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范围是101200IPTVVLAN ID范围是201300,大客户的VLAN范围是301400,面向用户的设备收到用户数据后,根据VLAN ID范围,对PC上网业务打上100的外层标签,对IPTV打上300的外层标签,对大客户打上500的外层标签。
(2) 根据报文中的VLAN IDPriority进行分流
不同的业务有不同的优先级,当同一用户的多种业务使用相同的VLAN ID时,可以根据不同业务的Priority进行区分,然后打上不同的外层标签。
(3) 根据目的IP进行QinQ封装
当同一台PC既包括上网业务,又包括语音业务时,不同业务的目的IP不同,可以利用ACL对目的IP进行分流,然后打上不同的外层标签。
(4) 根据ETYPE进行QinQ封装
当同一用户既包括PPPOE的上网业务,又包括IPOEIPTV业务时,可以根据ETYPE进行数据分流,IPOE的协议号为0X0800PPPOE的协议号为0X8863/8864,这样,上网业务和IPTV业务就能打上不同的外层标签。
3在路由子接口上进行QinQ封装
QinQ封装一般在交换式端口上直接进行,但有一种特殊情况例外,QinQ也可以在路由子接接口上进行封装。当核心网采用VLL/PWE3透传用户数据时,NPE设备上的路由子接口可以根据用户VLAN ID封装外层VLAN,通过外层VLAN接入VLL/PWE3,此种方法可以通过一个子接口来透传一批用户VLAN的问题,这种子接口也叫QinQ Stacking子接口。
这种封装方式也是基于流的QinQ封装方式,但QinQ Stacking子接口只能和L2VPN(PWE3/VLL/VPLS)结合起来才有意义,不支持三层转发功能。
六、QinQ终结
终结主要是指对QinQ报文的双层tag进行识别,然后根据后续的转发行为对双层Q进行剥离或继续传送,QinQ技术在和核心网对接时,根据不同的情况,会用到不同的终结方法。
在核心网边缘,QinQ终结一般在路由子接口上执行,即QinQ Termination子接口,QinQ终结子接口和普通的VLAN子接口类似,普通VLAN子接口对单层VLAN进行识别和终结,QinQ终结子接口对双层VLAN进行识别和终结,QinQ终结子接口根据终结的用户VLAN tag情况通常分为两种:
一种为两层VLAN tag为固定的值,我们把它叫做明确的QinQ终结子接口。
例如:Ethernet 1/0/1.1> QinQ termination pe-vid 100 ce-vid 200
另一种两层VLAN tag为范围值,即终结的VLAN TAG内外层TAG都为范围,我们称为模糊的QinQ终结子接口
例如:Ethernet1/0/1.2> QinQ termination pe-vid 200 ce-vid 300 to 400
Ethernet1/0/1.2> QinQ termination pe-vid 201 ce-vid 300 to 400
QinQ终结子接口具体的实现方法、功能和具体的应用场景有一定关系,下文根据不同的场景进行说明。
1终结子接口作为用户的网关设备当终结子接口作为用户的网关设备时,可以实现的功能及方法如下:
(1)支持IP转发:核心网边缘NPE设备作为用户的网关时,QinQ终结子接口支持IP转发。
首先,QinQ终结子接口对双层VLAN进行识别,在生成的用户ARP表项中包括IP地址、MAC地址及双层VLAN信息。对于上行的数据流,终结子接口剥掉MAC信息和双层VLAN信息,根据数据的目的IP地址查找路由表进行三层转发。对于下行的数据流,根据ARP表项信息,对IP报文进行MAC地址及双层VLAN封装,到达最终用户。
(2)支持ARP代理:QinQ终结子接口支持ARP代理,可以实现不同VLAN内的用户二层互通,具体实现如下:
所有用户共用相同的IP网段,不同用户拥有不同的VLAN ID,用户报文通过QinQ封装,终结于一个子接口,当用户之间需要通信时,首先对目的IP进行判断。
如果是其他网段的,会对网关地址发起ARP请求,并最终通过网关进行三层转发;
如果是同一网段的,直接发送目的IPARP解析,但由于用户处于不同的VLANARP无法广播到达最终用户,此时,在QinQ终结子接口上启用ARP代理功能,可以打通ARP报文的广播路径,最终保证不同VLAN的用户在二层互通。
􀁺支持DHCP SERVER功能
QinQ终结子接口支持DHCP SERVER功能,可以为该子接口终结的所有QinQ用户分配IP地址。
􀁺支持DHCP RELAY功能
QinQ终结子接口支持DHCP RELAY功能,转发用户DHCP请求,为用户分配IP地址,同时,DHCP RELAY配合DHCP Snooping,生成DHCP绑定表,可以防非法用户攻击,具体实现过程如下:
a) 在设备上启用DHCP RELAYDHCP SNOOPING功能。
b) DHCP request报文进入DHCP RELAY时,被DHCP SNOOPING捕获,并把两层tag信息插入DHCP requestoption82字段,然后继续转发到DHCP SERVER
c) DHCP RELAY设备收到reply报文(ACK),DHCP SNOOPING对它进行解析,记录用户IP地址、MAC地址。
d) 根据以上的结果在子接口上生成DHCP绑定表,包括IP地址、MAC地址,QinQ的双层TAG信息等;
e) 转发引擎通过绑定表信息,检查该端口接收到的IP报文和ARP报文的合法性,对非法报文进行过滤。
2.3.2 QinQ和核心网MPLS/BGP三层VPN对接企业用户通过VPN互连,当核心网采用MPLS/BGP三层VPN时,在ME网络可以采用QinQ并在PE设备的一个子接口终结,终结子接口和某个VRF绑定,最终形成端到端的VPN,在此情况下,QinQ终结子接口支持如下功能:
􀁺支持IP转发
2.3.1中的IP转发类似。
􀁺支持单播路由协议
核心网采用正常的MBGP传递用户私网路由信息。
PECE之间采用IGP传递路由信息,由于PE上采用的是QinQ终结子接口,路由协议报文的传递稍有区别,上行协议报文通过QinQ封装,在NPE设备子接口终结并进行处理,下行协议报文通过ARP表项打上双层TAG标签到达CE设备处理,最终完成路由信息的交换。
QinQ终结子接口支持BGPOSPFISISRIP等。

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-4-30 23:18 , Processed in 0.723906 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部