QinQ详细笔记
- 格式:doc
- 大小:263.00 KB
- 文档页数:13
什么是QinQQinQ是对802.1Q的扩展,其核心思想是将用户私网VLAN tag封装到公网VLAN tag上,报文带着两层tag穿越服务商的骨干网络,从而为用户提供一种较为简单的二层VPN隧道。
其特点是简单而易于管理,不需要信令的支持,仅仅通过静态配置即可实现,特别适用于小型的,以三层交换机为骨干的企业网或小规模城域网。
图1为基于传统的802.1Q协议的网络,假设某用户的网络1和网络2位于两个不同地点,并分别通过服务提供商的PE1、PE2接入骨干网,如果用户需要将网络1的VLAN200-300和网络2的VLAN200-300互联起来,那么必须将CE1、PE1、P和PE2、CE2的相连端口都配置为Trunk属性,并允许通过VLAN200-300,这种配置方法必须使用户的VLAN在骨干网络上可见,不仅耗费服务提供商宝贵的VLAN ID资源(一共只有4094个VLAN ID资源),而且还需要服务提供商管理用户的VLAN号,用户没有自己规划VLAN的权利。
为了解决上述问题,QinQ协议向用户提供一个唯一的公网VLAN ID,这个特殊的VLAN ID 被称作Customer-ID,将用户私网VLAN tag封装在这个新的Customer-ID中,依靠它在公网中传播,用户私网VLAN ID在公网中被屏蔽,从而大大地节省了服务提供商紧缺的VLAN ID资源,在QinQ模式下,PE上用于用户接入的端口被称作用户端口。
在用户端口上使能QinQ功能,并为每个用户分配一个Customer-ID,此处为3,不同的PE上应该为同一网络用户分配相同的Customer-ID。
当报文从CE1到达PE1时,带有用户内部网络的VLAN tag 200-300,由于使能了QinQ功能,PE上的用户端口将再次为报文加上另外一层VLAN tag,其ID就是分配给该用户的Customer-ID。
此后该报文在服务提供商网络中传播时仅在VLAN 3中进行且全程带有两层VLAN tag(内层为进入PE1时的tag,外层为Customer-ID),但用户网络的VLAN信息对运营商网络来说是透明的。
Spring学习笔记Java相关课程系列笔记之十五笔记内容说明Spring(梁建全老师主讲,占笔记内容100%);目录一、 Spring概述 (1)Spring框架的作用 (1)Spring框架的优点 (1)Spring框架的容器 (1)二、 Spring容器的基本应用 (2)如何将一个Bean组件交给Spring容器 (2)如何获取Spring容器对象和Bean对象 (2)如何控制对象创建的模式 (2)Bean对象创建的时机 (2)为Bean对象执行初始化和销毁方法 (2)案例:Spring框架的使用以及节节整合测试 (3)三、 Spring框架IoC特性 (5)IoC概念 (5)DI概念 (5)案例:测试IoC(set注入) (5)案例:测试IoC(构造注入) (6)案例:不用JDBC访问数据库,而是采用Hibernate访问 (6)四、 Spring中各种类型的数据注入 (7)Bean对象注入 (7)基本数据的注入 (7)集合的注入 (7)案例:各类数据注入 (7)五、 AOP概念 (10)什么是AOP (10)AOP和OOP的区别 (10)AOP相关术语 (10)案例:AOP的使用,模拟某些组件需要记录日志的功能 (11)通知类型 (11)切入点 (12)案例:环绕通知,修改案例使之动态显示所执行的操作 (12)案例:利用AOP实现异常处理,将异常信息写入文件 (13)六、 Log4j日志记录工具 (14)Log4j介绍 (14)Log4j的使用 (14)案例:修改案例,使用Log4j记录日志 (14)七、 Spring注解配置 (16)组件扫描功能 (16)组件扫描的使用方法 (16)注入注解标记使用方法 (17)AOP注解标记使用方法 (17)八、 Spring对数据访问技术的支持 (19)Spring提供了统一的异常处理类型 (19)Spring提供了编写DAO的支持类 (19)Spring提供了声明式事务管理方法 (19)Spring框架如何使用JDBC技术 (19)连接池优点 (22)Spring框架如何使用Hibernate技术 (22)Spring+Hibernate如何使用Session、Query等对象 (25)Spring框架和Struts2整合应用 (25)案例:采用SSH结构重构资费管理模块 (27)九、整合开发包 (31)Struts2创建对象的方式 (31)创建对象的方式 (31)的内部实现 (31)原理图1 (31)原理图2 (32)注意事项 (32)注入规则 (32)十、 Spring的事务管理 (33)声明式事务管理(基于配置方式实现事务控制) (33)编程式事务管理(基于Java编程实现事务控制),不推荐用! (34)Spring中常用的事务类型 (34)十一、 Spring的MVC (35)Spring MVC的体系结构 (35)Spring MVC的工作流程 (35)案例:简易登录(基于XML配置,不推荐使用) (35)案例:修改案例(基于注解配置,推荐使用) (37)十二、其他注意事项 (39)Spring的核心模块 (39)表单中action属性的相对、绝对路径问题 (39)用SSH重构NetCTOSS项目模块的步骤 (39)一、Spring概述我们学习Spring框架的最终目的是用它整合Struts2、Hibernate框架(SSH)。
QinQ相关技术简介1、前言1.1 业务发展对宽带接入网提出新的要求尽管随着各种IP技术和传输技术的不断发展,互联网用户数继续保持增长,但是传统宽带业务经营模式的问题逐步开始暴露,最突出的表现就是运营商的CAPEX和OPEX的增长速率远高于用户的增长速率,并且运营商非常关注的APRU持续下降,运营商迫切希望通过提供差异化、丰富的业务来产生更多的价值。
随着各种应用技术的不断发展,企业用户越来越依赖网络提供的服务,希望网络能够提供安全、可靠的专线、VOIP以及会议电视等业务,从而降低企业的运营成本;同时个人用户也已经不再满足于简单的通过网络获得Internet冲浪或者FTP下载等简单业务,而是期望能够从网络中通过多媒体获取更好的体验,包括高质量的IPTV、视频聊天、实时游戏等服务。
随着NGN/3G的大规模部署, NGN/3G承载网的建设将会得到运营商的重点关注,如果能够通过宽带接入网来承载NGN/3G业务,这不仅能够加快NGN/3G的部署,并且能够大大降低整网解决方案的成本。
所有这些都要求能够在宽带接入网上承载丰富的业务,为了能够在单一的接入网上承载这些具有不同QOS需求的业务,要求宽带接入网具有有效的业务识别和隔离能力,而VLAN 技术是目前最有效的业务识别和隔离技术,是实现多业务开展的基础,但是随着宽度用户数量的大规模增加和业务种类的增加,传统的VLAN技术已经不能满足业务开展的需要,QinQ技术应运而生,该技术对VLAN数量进行了有效的扩展,可以支持到4K*4K规模,甚至更多。
1.2 QinQ有效支持宽带多业务VLAN的局限和新需求VLAN最初是一种虚拟工作组概念,是在同一个交换机上面,实现不同工作组之间的隔离,共享一个交换机设备。
VLAN内的所有用户是可相互通信的,VLAN有4096的局限,对于单个接入交换机来说,4096个完全够用,但是对于一个庞大的二层网络,或者完全部署PUPV 的宽带接入网来说,4096个就显得捉襟见肘,而QinQ就正是为解决VLAN局限提出来的。
目录1 QinQ配置...........................................................................................................................................1-11.1 QinQ简介...........................................................................................................................................1-11.1.1 QinQ的产生背景和优点..........................................................................................................1-11.1.2 QinQ的实现原理.....................................................................................................................1-11.1.3 QinQ的报文结构.....................................................................................................................1-21.1.4 QinQ的实现方式.....................................................................................................................1-31.1.5 VLAN Tag的TPID值可调功能.................................................................................................1-31.1.6 协议规范.................................................................................................................................1-41.2 QinQ配置任务简介............................................................................................................................1-41.3 配置基本QinQ功能............................................................................................................................1-51.3.1 使能基本QinQ功能..................................................................................................................1-51.3.2 配置VLAN透传功能.................................................................................................................1-51.4 配置灵活QinQ功能............................................................................................................................1-61.4.1 配置外层VLAN Tag的添加策略..............................................................................................1-61.4.2 配置内、外层VLAN Tag中802.1p优先级的映射关系.............................................................1-71.4.3 配置内层VLAN ID替换关系.....................................................................................................1-81.5 配置VLAN Tag的TPID值...................................................................................................................1-91.6 QinQ典型配置举例............................................................................................................................1-91.6.1 基本QinQ配置举例..................................................................................................................1-91.6.2 灵活QinQ配置举例................................................................................................................1-121.6.3 VLAN透传配置举例...............................................................................................................1-151 QinQ配置本特性仅在SAP板工作在二层模式时支持。
QINQ技术简介一、QINQ的产生背景IEEE802.1Q中定义的VLAN Tag域中只有12个比特位用于表示VLAN ID,所以设备最多可以支持4094个VLAN。
在实际运用中,尤其在城域网中,需要大量的VLAN 来隔离用户,4094个VLAN远远不能满足需求。
二、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为VLAN 4。
当用户网络A的带VLAN Tag的报文进入运营商网络时,报文外面会被封装上一层VLAN ID为3的VLAN Tag;当用户网络B的带VLAN Tag的报文进入运营商网络时,报文外面会被封装上一层VLAN ID为4的VLAN Tag。
这样,不同用户网络的报文在公网传输时被完全分开,即使两个用户网络的VLAN范围存在重叠,在公网传输时也不会产生混淆。
用户网络A (VLAN 1~10)RO--------RO\ /\ / 用户网络A VLAN 1-10\ / RO ------------RORO || 运营商网络 ||VLAN 3 |VLAN 3RO --- .... ------RO|VLAN 4 |VLAN 4| || |RO RO ------ RO用户网络B(VLAN 1-20) 用户网络B(VLAN 1-20)图1 QINQ功能示意图QINQ特性使网络最多可以提供4094X4094个VLAN,满足城域网对VLAN数量的需求,它主要解决了如下几个问题。
一、QinQ简介 (2)(一)QinQ概述 (2)(二)QinQ特性 (4)1.二层接口的QinQ (4)2.QinQ Mapping (5)3.终结子接口 (5)4.动态QinQ (8)5.QinQ终结子接口支持URPF (10)(三)总结 (10)(四)思考 (10)一、ME60侧配置QinQ (10)(一)配置QinQ二层隧道 (10)1.建立配置任务 (10)2.创建QinQ二层接口的外层VLAN (11)3.配置二层接口的QinQ功能 (11)4.(可选)配置外层Tag的协议类型 (12)5.检查配置结果 (12)(二)配置二层灵活QinQ (14)1.建立配置任务 (14)2.创建QinQ二层接口的外层VLAN (14)3.配置二层灵活QinQ接口 (15)4.(可选)配置外层Tag的协议类型 (15)5.检查配置结果 (16)(三)配置动态QinQ (17)1.建立配置任务 (17)2.配置接口的模式为用户终结模式 (18)3.配置动态QinQ (18)4.配置DHCP Snooping (19)5.检查配置结果 (19)(四)配置QinQ终结子接口支持URPF (21)1.建立配置任务 (21)2.配置以太网主接口 (21)3.配置以太网子接口 (22)4.配置QinQ子接口的URPF功能 (22)5.检查配置结果 (22)(五)配置Bras用户侧QinQ (23)1.建立配置任务 (23)2.创建用户侧VLAN (24)3.检查配置结果 (24)(六)维护QinQ (24)1. 6.5.6.13.1 清除QinQ的统计信息 (25)2.监控终结子接口运行状况 (25)3.调试QinQ (25)二、ME60侧QinQ配置举例 (26)(一)配置QinQ二层隧道示例 (26)1.组网需求 (26)2.配置思路 (27)3.数据准备 (27)4.操作步骤 (27)5.配置文件 (29)(二)配置二层灵活QinQ示例 (31)1.组网需求 (31)2.配置思路 (32)3.数据准备 (32)4.操作步骤 (32)5.配置文件 (34)(三)配置动态QinQ示例 (36)1.组网需求 (36)2.配置思路 (37)3.数据准备 (37)4.操作步骤 (38)5.配置文件 (44)(四)配置QinQ终结子接口支持URPF示例 (47)1.组网需求 (47)2.配置思路 (48)3.数据准备 (48)4.操作步骤 (48)5.配置文件 (50)(五)配置用户侧QinQ示例 (51)6.组网需求 (51)7.配置思路 (52)8.数据准备 (52)9.操作步骤 (52)10.配置文件 (53)一、QinQ简介(一)QinQ概述QinQ技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的标签头来达到扩展VLAN空间的功能,可以使私网VLAN透传公网。
1. 概念QinQ技术也称Stacked VLAN,Double VLAN,是指将用户私网VLAN标签封装在公网VLAN标签中,使报文带着两层VLAN标签穿越运营商的骨干网络,在公网中只根据外层VLAN标签传播,私网VLAN标签被屏蔽。
这样,不仅对数据流进行了区分,而且由于私网VLAN标签被透明传送,不同的用户VLAN标签可以重复使用,只需要外层VLAN标签的在公网上唯一即可,实际上也扩大了可利用的VLAN标签数量。
QinQ的标准是IEEE802.1ad,该标准是在2006年5月份才形成正式标准的,所以当前常见的各厂商实现的QinQ和该标准有较大的不同,但各厂商的实现均大同小异。
2. QinQ的产生随着三层交换机的不断成熟和大量应用,许多企业网和小型城域网用户都倾向于使用三层交换机来搭建骨干网,由于以下三个原因,这些用户一般都不愿意使用基于MPLS或者IP协议的VPN:1.配置、维护工作相对比较繁杂。
2.许多厂商的三层交换机不支持MPLS功能,如果用户搭建基于MPLS的VPN,势必要淘汰这些设备,浪费资源。
3.支持MPLS功能的单板一般价格昂贵,小型用户难以承受。
而QinQ可以提供一种廉价、简洁的二层VPN解决方案,不需要信令协议的支持,可以通过纯静态配置实现,而且只需要网络边缘设备支持QinQ,内部只需要可以支持802.1Q 的设备即可,所以越来越多的小型用户倾向于使用该功能构建自己的VPN网络。
运营商在通过Ethernet提供Internet接入业务时需要对客户标识,做到精细化管理,而且随着新业务的开展(如Triple-Play、Wholesale、VPN),运营商还需要对业务进行细分,以区别提供不同的管道、QoS策略。
原有基于802.1Q只有4096个vlan标识不能满足这样的需要,QinQ正好可以扩展这样的标识,同时还可以利用不同的VLAN来区分运营商的服务和不同的客户。
利用QinQ提供接入时具用以下的优点:1.可以解决日益紧缺的公网VLAN ID资源问题;2.用户可以规划自己的私网VLAN ID,不会导致与公网VLAN ID冲突;3.提供一种较为简单的二层VPN解决方案;4.使用户网络具有较高的独立性,在服务提供商升级网络时,用户网络不必更改原有的配置;5.可以按不同层次的VLAN ID来区分不同的业务;QinQ技术上完全可以多层嵌套,没有限制,仅受Ethernet报文长度的限制,具有很好的扩充性。
3. QinQ报文1.QinQ的报文封装QinQ的报文封装就是在原有802.1Q报文中的TAG头上再加上一层TAG封装,用来扩展VLAN的范围,如下图所示:2.QinQ的报文转发过程在通过QinQ实现简单的二层VPN过程中报文是按如下方式转发:上图中在运营商网中使用VLAN20来标识客户A、VLAN30标识客户B,当客户A的报文到达运营商的边缘交换机时,边缘交换机均给客户A的报文打上一个外层标签(VLAN20),然后在VLAN20中转发,不会转发到VLAN30,报文在离开运营商网络时再剥离掉外层的标签,转发到用户A的网络,从而实现一个简单二层VPN功能。
4. QinQ报文的TPID值可调功能TPID(Tag Protocol Identifier,标签协议标识)是VLAN Tag中的一个字段,IEEE 802.1Q 协议规定该字段的取值为0x8100。
IEEE 802.1Q协议定义的以太网帧的Tag报文结构如下:通常在QinQ中设备的内外层标签的TPID值均采用协议规定的0x8100,但是某些厂商的设备将QinQ报文外层Tag的TPID值设置为0x9100或0x9200。
5. 灵活QinQSelective QinQ。
在前面我们所讲的QinQ中,通常是以物理端口来划分用户或用户网络,当多个不同用户以不同的VLAN接入到同一个端口时则无法区分用户。
另外前面的QinQ方案是一种简单二层VPN的应用,在运行营商接入环境中往往需要根据用户的应用或接入地点(设备)来区分用户,基于这种应用产生了灵活QinQ方案。
简单讲灵活QinQ就是根据用户报文的Tag或其他特征(IP/MAC等),给用户报文打上相应的外层Tag,以达到区分不同用户或应用的目的。
当前灵活QinQ主要应用在运营商的接入网络中,在运营商网络中给接入用户分配一个VLAN,以达到便于问题追踪和防止不同用户间互访,用外层标签区分用户的应用;或在接入的环境中用外层标签来区分不同的接入地点,用内外两层标签唯一标识出一个接入用户。
6. BPDU Tunnel即L2 Protocol Tunnel。
QinQ网络中,运营商网络对客户透明,当客户和运营商网络之间的连接有冗余时必然导致环路问题,如上边QinQ的报文转发过程中的A客户。
这就需要运营商网络能透明传输STP/RSTP/MSTP报文,这样客户可以跨运营商网络构建自己的STP树,切断冗余链路。
另外为了保证客户全网VLAN配置的一致性,动态VLAN协议如GVRP、VTP等也要求通过运营商网络透传,如果客户使用GMRP作组播应用的话,GMRP 报文也要求透传。
同时在透传这些报文时,需要区分开不同用户的二层协议报文。
我们知道以上这些BPDU报文是桥设备的二层控制报文(基本上是以LLC封装的),是与设备全局相关的,不带VLAN Tag,所以需要一种机制来传输用户的二层控制报文,从而引入了BPDU Tunnel,即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。
7. 802.1adIEEE 802.1ad的全称是“Virtual Bridged Local Area Networks Amendment 4: Provider Bridges”,该协议的目标是业务提供商在为客户提供业务时使客户间的服务相互独立,没有相互依赖关系,同时尽量做到业务提供商透明地为客户提供业务。
该标准描述了业务提供商(运营商)如何利用和扩展802.1Q在一个统一的网络中为相互独立的客户提供以太网业务。
该协议于2002年12月第一稿,中间历经了多个Draft,并于2006年5月形成正式标准(Amendment to IEEE Std 802.1Q-2005)。
1.基本概念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.报文格式802.1ad的报文格式,基本同前面我们所讲的QinQ报文格式一致,主要的区别就是802.1ad中重新定义了TPID的值和把原来的CFI位修改为DEI(丢弃标识)位。
同前面所述的QinQ相比,在802.1ad中明确规定了用户报文和运营商报文的TPID值,从而可以简单的区分用户报文和运营商报文,如下图:3.802.1ad如何解决Tunnel问题在传统的QinQ Tunnel中是通过修改原协议报文的目的地址及加上用户所属VLAN标识来传递用户L2协议报文的(这样做的缺点在于需要在边缘设备上对报文进行修改加重设备CPU的负担)。
在802.1ad中为C-VLAN及S-VLAN分配了不同的保留地址,在S-VLAN中处理C-VLAN中的协议报文和处理普通的数据报文一样,从而不需要Tunnel就可以透明传输用户二层协议报文。
保留地址如下图:Spanning Tree ProtocolProvider网络的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的处理。
GVRPProvider网络的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报文的处理。
4.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类似。