VLAN之QinQ技术浅析
http://www.h3c.com.cn/MiniSite/H3care_Club/Data_Center/Net_Reptile/The_One/Home/Catalog/200911/655247_97665_0.htm
==========================================
QinQ技术(也称Stacked VLAN 或Double VLAN)是指将用户私网VLAN标签封装在公网VLAN标签中,使报文带着两层VLAN标签穿越运营商的骨干网络,在公网中只根据外层VLAN标签传播,私网VLAN标签被屏蔽,这样,不仅对数据流进行了区分,而且由于私网VLAN标签被透明传送,不同的用户VLAN标签可以重复使用,只需要外层VLAN标签的在公网上唯一即可,实际上也扩大了可利用的VLAN标签数量。
QinQ的标准是IEEE802.1ad(IEEE802.1ad的全称是:Virtual Bridged Local Area Networks Amendment 4: Provider Bridges)该标准是在2006年5月份才形成正式标准的,所以当前我们常见的各厂商实现的QinQ和该标准有较大的不同,但各厂商的实现均大同小异。
本文分为两大部分,第一部分主要介绍当前常见的QinQ的各个方面,第二部分介绍802.1ad以及该标准同当前我们所常见的QinQ的区别。
1 QinQ
1.1 QinQ的产生
1、随着三层交换机的不断成熟和大量应用,许多企业网和小型城域网用户都倾向于使用三层交换机来搭建骨干网,由于以下三个原因,这些用户一般都不愿意使用基于MPLS或者IP协议的VPN:
· 配置、维护工作相对比较繁杂;
· 许多厂商的三层交换机不支持MPLS功能,如果用户搭建基于MPLS的VPN,势必要淘汰这些设备,浪费资源;
· 支持MPLS功能的单板一般价格昂贵,小型用户难以承受。
而QinQ可以提供一种廉价、简洁的二层VPN解决方案,不需要信令协议的支持,可以通过纯静态配置实现,而且只需要网络边缘设备支持QinQ,内部只需要可以支持802.1Q的设备即可,所以越来越多的小型用户倾向于使用该功能构建自己的VPN网络。
2、运营商在通过Ethernet提供Internet接入业务时需要对客户标识,做到精细化管理,而且随着新业务的开展(如Triple-Play、Wholesale、VPN),运营商还需要对业务进行细分,以区别提供不同的管道、QoS策略。原有基于802.1Q只有4096个vlan标识不能满足这样的需要,QinQ正好可以扩展这样的标识,同时还可以利用不同的VLAN来区分运营商的服务和不同的客户。利用QinQ提供接入时具用以下的优点:
· 可以解决日益紧缺的公网VLAN ID资源问题;
· 用户可以规划自己的私网VLAN ID,不会导致与公网VLAN ID冲突;
· 提供一种较为简单的二层VPN解决方案;
· 使用户网络具有较高的独立性,在服务提供商升级网络时,用户网络不必更改原有的配置;
· 可以按不同层次的VLAN ID来区分不同的业务;
· QinQ技术上完全可以多层嵌套,没有限制,仅受Ethernet报文长度的限制,具有很好的扩充性。
本文分为两个部分,第一部分介绍当前常见的QinQ的实现及应用,第二部分介绍802.1ad的基本概念和知识以及同常见的QinQ的异同。
1.2 QinQ报文封装
QinQ的报文封装就是在原有802.1Q报文中的TAG头上再加上一层TAG封装,用来扩展VLAN的范围,如图1所示:
图1 QinQ报文封装
1.3 QinQ的报文转发过程
在通过QinQ实现简单的二层VPN过程中报文是按如下方式转发:
图2 QinQ报文转发过程
图2中在运营商网中使用VLAN20来标识客户A、VLAN30标识客户B,当客户A的报文到达运营商的边缘交换机时,边缘交换机均给客户A的报文打上一个外层标签(VLAN20),然后在VLAN20中转发,不会转发到VLAN30,报文在离开运营商网络时再剥离掉外层的标签,转发到用户A的网络,从而实现一个简单二层VPN功能。
1.4 QinQ报文的TPID值可调功能
1.5 灵活QinQ(Selective QinQ)
在前面我们所讲的QinQ中,通常是以物理端口来划分用户或用户网络,当多个不同用户以不同的VLAN接入到同一个端口时则无法区分用户。另外前面的QinQ方案是一种简单二层VPN的应用,在运行营商接入环境中往往需要根据用户的应用或接入地点(设备)来区分用户,基于这种应用产生了灵活QinQ方案。
简单讲灵活QinQ就是根据用户报文的Tag或其他特征(IP/MAC等),给用户报文打上相应的外层Tag,以达到区分不同用户或应用的目的。
当前灵活QinQ主要应用在运营商的接入网络中,在运营商网络中给接入用户分配一个VLAN,以达到便于问题追踪和防止不同用户间互访,用外层标签区分用户的应用;或在接入的环境中用外层标签来区分不同的接入地点,用内外两层标签唯一标识出一个接入用户。在这样的应用中需要BRAS/SR设备支持QinQ的应用(能够终结双Tag)。
下面我们以S9500为例,看一下灵活QinQ的应用场景:
在S9500上实施QinQ,并在S9500上进行业务分流,分流的方式是利用灵活QinQ功能,灵活QinQ分流的依据有下面几种:
1) 根据端口的VLAN区间分流:比如PC的VLAN范围1~1000,STB的VLAN范围1001~2000,网吧的VLAN范围2001~3000;
2) 根据报文的协议号分流:比如PC采用PPPoE、STB采用IPoE,这些终端都通过一个VLAN上行,可以根据PPPoE和IPoE报文不同的协议号作为QinQ的分流依据;
3) 根据报文的目标IP地址分流:对于相同源IP地址,相同报文封装不同的业务应用报文,比如PC上的SoftPhone产生的报文,需要根据报文目的IP地址实施灵活QinQ进行业务分流;
4) 根据QinQ的内层标签的区间,在某些级联交换机的组网模式中,下连的交换机已经实施了基于端口的QinQ,为了实现业务分流,可以根据QinQ的内层VLAN标签的区间实施灵活QinQ进行业务分流。 上述应用场景可以用图4来直观的加以描述:
图4 灵活QinQ对多业务的识别标记
1.6 BPDU Tunnel(L2 Protocol Tunnel)
QinQ网络中,运营商网络对客户透明,当客户和运营商网络之间的连接有冗余时必然导致环路问题,如QinQ应用示意图2中的A客户。这就需要运营商网络能透明传输STP/RSTP/MSTP报文,这样客户可以跨运营商网络构建自己的STP树,切断冗余链路。另外为了保证客户全网VLAN配置的一致性,动态VLAN协议如GVRP、VTP等也要求通过运营商网络透传,如果客户使用GMRP作组播应用的话,GMRP报文也要求透传。同时在透传这些报文时,需要区分开不同用户的二层协议报文。
我们知道以上这些BPDU报文是桥设备的二层控制报文(基本上是以LLC封装的),是与设备全局相关的,不带VLAN Tag,所以需要一种机制来传输用户的二层控制报文,从而引入了BPDU Tunnel (Cisco:Layer 2 Protocol Tunneling)的概念,通过Tunnel来传播用户的二层控制报文。
通常BPDU Tunnel是这样实现的:当Tunnel端口收到一个用户的BPDU后,把目的MAC修改为一个组播MAC,然后再给协议报文打上用户所属VLAN的Tag信息,组播MAC保证报文在VLAN内广播,同时标识这个报文是个BPDU-Tunnel报文,交换机在收到这个报文时上送CPU处理,还原其BPDU身份,并根据报文中用户所属的VLAN信息,把报文送到相应的客户网络。
当前我司的实现就采取了上述这种方法,收到用户的BPDU报文后,给这个报文的目的MAC修改为:01-00-0c-cd-cd-d0,再加上运营商分配该用户的VLAN Tag,如图5所示:
图5 BPDU-Tunnel报文封装
2 802.1ad
IEEE 802.1ad的全称是“Virtual Bridged Local Area Networks Amendment 4: Provider Bridges”,该协议的目标是业务提供商在为客户提供业务时使客户间的服务相互独立,没有相互依赖关系,同时尽量做到业务提供商透明地为客户提供业务。该标准描述了业务提供商(运营商)如何利用和扩展802.1Q在一个统一的网络中为相互独立的客户提供以太网业务。
2.1 标准化过程
该协议于2002年12月第一稿,中间历经了多个Draft,并于2006年5月形成正式标准(Amendment to IEEE Std 802.1Q-2005)。文档可从这里获得:http://tech/article.php/4360;
2.2 基本概念
• C-VLAN:Customer VLAN,是用户网络内部使用的VLAN;
• S-VLAN:Service VLAN,服务提供商网络中使用的VLAN,该VLAN标识VPN用户或者是用户的业务;
• Customer Bridge:Customer网络中的Bridge,只能识别C-VLAN;
• Provider Bridge:服务提供商网络中的Bridge,根据处理内容的不同又分为S-VLAN Bridge和Provider Edge Bridge。其中S-VLAN Bridge只能识别S-VLAN; Provider Edge Bridge可以同时识别C-VLAN和S-VLAN;
• C-VLAN Component:在Bridge内可识别、插入、删除C-VLAN的实体,每个端口一个,对C-VLAN的操作互相独立(两个端口上接收到相同的C-VLAN,但由于属于不同的客户最后的处理结果会不同);
• S-VLANComponent:在Bridge内可识别、插入、删除S-VLAN的实体,由于在一个Bridge内不存在相同的S-VLAN属于不同服务提供商的情况,因此在一个桥内只有一个S-VLAN的实体。
2.3 报文格式
802.1ad的报文格式,基本同前面我们所讲的QinQ报文格式一致,主要的区别就是802.1ad中重新定义了TPID的值和把原来的CFI位修改为DEI(丢弃标识)位。
图6 802.1ad报文封装
同前面所述的QinQ相比,在802.1ad中明确规定了用户报文和运营商报文的TPID值,从而可以简单的区分用户报文和运营商报文:
Tag Type |
Name |
Value |
C-VLAN Tag |
IEEE 802.1Q Tag Protocol Type(802.1Q Tag Type) |
81-00 |
S-VLAN Tag |
IEEE 802.1Q Server Tag Type(802.1Q S-Tag Type) |
88-a8 |
表格 1 802.1ad Ethernet Type allocations
同时标准中对S-VLAN的TCI位修改为DEI(Drop Eligible Indicator),丰富了QoS特性,当用户报文进入运营商网络时会打上以88a8标识的外层标签,在离开运营商网络时会剥离这个外层标签。
2.4 802.1ad如何解决Tunnel问题
在传统的QinQ Tunnel中是通过修改原协议报文的目的地址及加上用户所属VLAN标识来传递用户L2协议报文的(这样做的缺点在于需要在边缘设备上对报文进行修改加重设备CPU的负担)。
在802.1ad中为C-VLAN及S-VLAN分配了不同的保留地址,在S-VLAN中处理C-VLAN中的协议报文和处理普通的数据报文一样,从而不需要Tunnel就可以透明传输用户二层协议报文。
Assignment |
Value |
Bridge Group Address |
01-80-C2-00-00-00 |
IEEE 802.3 Full Duplex PAUSE operation |
01-80-C2-00-00-01 |
IEEE 802.1X PAE address |
01-80-C2-00-00-03 |
Provider Bridge Group Address |
01-80-C2-00-00-08 |
Provider Bridge GVRP Address |
01-80-C2-00-00-0D |
IEEE 802.1AB Link Layer Discovery Protocol multicast address |
01-80-C2-00-00-0E |
表格 2:保留的地址
Spanning Tree Protocol
Provider网络的STP操作和Customer网络的STP操作完全独立运行,相互不关联。在Provider网络内部采用不同的Bridge Group Address(01-80-C2-00-00-08),对于用户的BPDU报文(01-80-C2-00-00-00)作为普通数据报文透传,不进行识别和处理。Provider网络边缘的C-VLAN component端口可以参与用户STP拓扑的计算和用户BPDU的处理。
GVRP
Provider网络的GVRP操作和Customer网络的GVRP的操作完全独立运行,相互不关联。在Provider网络内部采用不同的Provider Bridge GVRP Address(01-80-C2-00-00-0D),对于用户GVRP报文(01-80-C2-00-00-21)以及其他的GARP保留地址作为普通数据报文透传,不进行识别和处理。Provider网络边缘的C-VLAN component端口可以参与用户的GARP报文的处理。
2.5 802.1ad对灵活QinQ的支持
802.1ad对灵活QinQ的支持同当前常见的灵活QinQ基本一致,在802.1ad中提供了两种确定用户所属S-VLAN的方式:
1、基于端口(Port-based service interface),在这种模式下用户是根据接入的端口来选择S-VLAN(Service Instance)的
2、基于C-VLAN(C-Tagged service interfaces),在这种模式下是根据用户使用的C-VID来先择S-VLAN(Service Instance),即同当前我们所见的灵活QinQ类似。
VLAN之QinQ技术浅析相关推荐
- Qinq技术介绍与实战
说明:本文介绍部分是我在网络收集整理并添加提供. Qinq技术介绍与实战 Qinq介绍 Qinq就是为用户提供一种较为简单的二层×××隧道.最核心的思想就是将用户私网VLAN tag封装到公网VLAN ...
- VLAN特性 聚合、MUX VLAN、QinQ、映射
无论如何,不许退缩,不许不努力,决不许放弃! 文章目录 一.VLAN聚合 二.MUX VLAN 三.QinQ 四.VLAN Mapping 五.拓扑 六.基本配置与分析 七.设备完整配置 作为一名资深 ...
- 五、MUX-VLAN QinQ技术
MUX-VLAN QinQ技术 MUX-VLAN QinQ MUX-VLAN(Multiplex vlan) MUX VLAN提供的二层流量隔离的机制可以实现企业内部员工之间互相通信,而企业外来访~客 ...
- QinQ技术的原理和配置
目录 一.QinQ技术的基础 1.QinQ技术的原理 2.QinQ的实现方式 3. QinQ的应用场景 二.QinQ技术的配置 1.基本QinQ配置 2.灵活QinQ配置 一.QinQ技术的基础 1 ...
- QinQ技术与Portal技术
QinQ 802.1Q-in-802.1Q,是一种扩展VLAN标签技术.在城域网中,需要大量的VLAN来隔离区分不同的用户,但是原有的802.1Q只有12个比特,仅能标识4096个VLAN QinQ即 ...
- 校园网局域网网络架构调整(QinQ技术)
背景:校园网原本架构是所有流量经本地认证服务器进行认证后访问互联网,IP地址从本地DHCP服务器进行分配,AP的管理地址也是从本地DHCP服务器分配管理地址和网管平台进行互联,现需要把认证平台移除,业 ...
- 基础网络爬虫(Web crawler)相关技术浅析
文章目录 前言 基本概念 Robots协议 基本原理 现状概况 爬虫软件 跨语言 Selenium Python urllib requests Scrapy Pyspider Java WebMag ...
- (转)完美画质 3D游戏反锯齿技术浅析 .
完美的画面已经离我们不再遥远--反锯齿技术浅析 不管现今的游戏画面有多完美,人物和环境有多真实,但游戏画面的构成的主要方式仍然没有得到改善:一帧画面由成千上万像素构成.这意味着物体多边形的轮廓最终是锯 ...
- 界面上下固定_【技术浅析】三通道机床自动上下料控制方法应用
摘要:当前制造业竞争日益激烈,产品性价比与产能限制为许多中小企业提供了生存空间,也是大型企业抢夺市场份额的终极利器.现介绍一种三通道机床自动上下料控制方法,即一个数控系统控制两个加工通道异步加工,并且 ...
最新文章
- 自定义webview,根据网页大小确定webview大小
- 一个人动情之后的表现......
- java 正则表达式
- SD卡在SPI模式下的初始化和详细的代码分析
- 错失双节福利?这12本新书投送了解一下
- Java 核心内容相关面试题【2】
- 自学python如何就业_python学习:想要自学Python达到就业的水平,应该怎么去学习...
- Android5.0(Lollipop) BLE蓝牙4.0+浅析code(二)
- Dubbo分析之Registry层
- adminlte3 动态菜单_一本科学菜单,十倍利润增长 | 跟巴奴学餐饮业的精简风:菜单越薄,利润越厚!...
- word总页数不包含封面_Word技巧:除去封面后,总页码减1是如何设置的?
- Android keyevent值中文表
- 如何制作专属的VS Code主题
- HTML onfocus (获得焦点)和 onblur (失去焦点)
- Default interface methods are only supported starting with Android N (--min-api 24):
- 学习计算机组成原理课程,推荐书籍,写CPU(随做更新
- flash传值php乱码,Flash中出现中文乱码的解决办法,网页模板帮助中心
- 【防骗】来电显示号码竟可任意修改
- centos7 installation source 阿里源
- D. Solve The Maze(BFS+思维)
热门文章
- 《MATLAB神经网络案例分析》学习(一)——BP神经网络基本理论
- selenium模拟登陆百度云盘
- 今天分享一个自动发信息小助手
- CentOS安装Oracle数据库12C图文教程
- IT综合运维系统-身份对接记录
- RGB格式详解(三)---RGB像素格式
- HI3556V200 Linux+Liteos双系统学习(4)----双系统通信 IPCM/virt_tty/sharefs
- Codeforces CodeCraft-20 (Div. 2) C. Primitive Primes
- 个人免签收款接口 bufpay.com 支持限额设置
- 拼多多商品详情API调用示例