基于网络的虚拟专用网中保证服务质量的系统及其方法 【技术领域】
本发明涉及虚拟专用网的服务质量实现方案,特别涉及使用多协议标签交换的虚拟专用网的服务质量实现方案。
背景技术
虚拟专用网(Virtual Private Networking,简称“VPN”)是指在公共网络中建立专用网络,数据通过安全的“加密通道”在公共网络中传播。企业只需要租用本地的数据专线,连接上本地的Internet(因特网),各地的机构就可以互相传递信息;同时,企业还可以利用Internet的拨号接入设备,让自己的用户拨号到Internet上,就可以连接进入企业网中。使用VPN有节省成本、提供远程访问、扩展性强、便于管理和实现全面控制等优点,
多协议标签交换(Multi-protocol Label Switch,简称“MPLS”)是由思科公司(CISCO)的标记交换(Tag Switching)演变而来的国际互联网工程任务组(Internet Engineering Task Force,简称“IETF”)的标准协议。MPLS是基于标签的互联网协议(internet Protocol,简称“IP”)路由选择方法,它属于第三层交换技术,引入了基于标签的机制,把选路和转发分开,由标签来规定一个分组通过网络的路由,数据传输通过标签交换路径(LabelSwitch Path,简称“LSP”)完成,它将原本在IP网络的第三层的包交换转换成第二层的交换。在标签中,包含一个3比特的EXP字段用来实现QoS。
图1示出了MPLS网络结构。MPLS网络101由核心部分的标签交换路径器104(Label Switch Router,简称“LSR”)、边缘部分地标签边缘路由器103(Label Edge Router,简称“LER”)组成。其中LER 103用于分析IP包头,执行第三层网络功能,决定相应的传送级别和标签交换路径(LabelSwitch Path,简称“LSP”),它与外部网络102相连接的,从外部网络102接收外部分组交换数据包105;LSR 104用于建立LSP,执行标签交换机制和服务质量保证(Quality of Service,简称“QoS”),转发MPLS网络101内部的分组数据包106,它由控制单元和交换单元组成,它处在网络内部,与LER 103和其他LSR 104相连。
MPLS的标签交换的工作流程如下:最初由标签分发协议(LabelDistribution Protocol,简称“LDP”)和传统路由协议,比如开发最短路优先协议(Open Shortest Path First,简称“OSPF”)等,在LSR中建立路由表和标签映射表;在网络运行中,首先在MPLS核心网入口处的LER接收外部网络的IP包,完成第三层网络功能,并给IP包加上标签;接着该数据包在LSP中传输,此时LSR不再对分组进行第三层处理,只是根据分组上的标签通过交换单元进行转发,最终达到网络另一端即出口处的LER;最后在MPLS出口处的LER将分组中的标签去掉后按照相应外部网络协议继续进行转发。
由于MPLS技术隔绝了标签分发机制与数据流的关系,因此,它的实现并不依赖于特定的数据链路层协议,可支持多种的物理层和数据链路层技术。目前实现了在帧中继(Frame Relay,简称“FR”)、异步传输模式(AsynchronousTransfer Mode,简称“ATM”)和点到点协议(Point-to-Point Protocol,简称“PPP”)链路以及国际电气电子工程师协会(Institute of Electrical andElectronics Engineers,简称“IEEE”)802.3协议的局域网上使用MPLS的业务。采用MPLS网络进行IP业务转发,可以简化层与层之间的路由转发过程,加快MPLS交换速度,提高网络效率,同时能满足不同等级业务的传送,所以说MPLS既有交换机的高速度与流量控制能力,又具备了路由器灵活的功能和服务质量保证机制。
MPLS已经被广泛应用于VPN的实现,借助MPLS实现的VPN被称为MPLS VPN。根据网络设备转发依据的用户信息,MPLS VPN可以划分为L3(层3,即网络层)VPN,L2(层2,即数据链路层)VPN,L1(层1,即物理层)VPN三种类型。目前在互联网工程任务组(INTERNETENGINEERING TASK FORCE,简称“IETF”)标准组织中,有L3 VPN工作组和L2 VPN工作组,分别研究MPLS L3 VPN和MPLS L2 VPN。MPLS L3VPN的典型代表是基于RFC 2547bis的边界网关协议(Border GatewayProtocol,简称“BGP”)/MPLS VPN和基于虚拟路由器(Virtual Router,简称“VR”)的IP VPN。MPLS L2 VPN的典型代表是MARTINI,KOMPELLA,以及多种虚拟专用局域网子网段(Virtual Private LAN Segment,简称“VPLS”)实现方案。此外,国际电信联盟-电信标准部(International TelecommunicationUnion Telecommunication Standardization Sector,简称“ITU-T”)的SG13/Q11对L1 VPN的研究比较多,目前有Y.l1vpnarch,Y.l1vpnsdr等草案建议。他们的参考模型的结构都类似,对于VPN QoS问题的处理都类似,要么没有考虑,要么是利用网络自身的DiffServ(差异服务模式)能力,因此都不能解决VPN的QoS问题,而且不能解决该问题的原因也相同,在这方面可以将他们归为相同的技术。
下面以RFC2547bis作为这一类技术的代表对现有技术进行说明,由于他们和ITU-T,IETF的L2 VPN和L3 VPN的参考模型具有相同的结构,在解决QoS问题上的困难是相同的。
RFC2547bis所定义的MPLS L3VPN模型如图2所示,该模型包括三个组成部份:用户网边缘路由器(Custom Edge Router,简称“CE”)、骨干网边缘路由器(Provider Edge Router,简称“PE”)和路由器(P)。
CE设备是用户驻地网络的一个组成部分,有接口直接与运营商的网络相连,一般是路由器。CE“感知”不到VPN的存在,也不需要维护VPN的整个路由信息。
PE路由器即运营商边缘路由器,是运营商网络的边缘设备,与用户的CE直接相连。MPLS网络中,对VPN的所有处理都在PE路由器上完成。
路由器(P)是运营商网络中的骨干路由器,它不和CE直接相连。路由器(P)需要有MPLS基本信令能力和转发能力。
CE和PE的划分主要是从运营商与用户的管理范围来划分的,CE和PE是两者管理范围的边界。
CE与PE之间使用外部边界网关协议(Exterior Border Gateway Protocol,简称“EBGP”)或是内部网关协议(Interior Gateway Protocol,简称“IGP”)路由协议交换路由信息,也可以使用静态路由。CE不必支持MPLS,不需要感知VPN的整网路由,VPN的整网路由外包给运营商来完成。运营商PE设备之间通过多协议内部网关协议(Multi-protocol Internal Border GatewayProtocol,简称“MP-IBGP”)交换VPN的整网路由信息。
以下介绍RFC2547bis标准规定的MPLS L3VPN的相关属性:
VRF:
VPN是由多个站点(Site)组成的。在PE上,每个站点对应一个虚拟专用网路由/转发实例(VPN Routing/Forwarding instance,简称“VRF”),它主要包括:IP路由表、标签转发表、使用标签转发表的一系列接口以及管理信息(包括路由识别号、路由过滤策略、成员接口列表等)。
用户站点和VPN不存在一对一的关系,一个站点可以同时属于多个VPN。在实现中,每一个站点关联一个单独的VRF。VPN中站点的VRF实际上综合了该站点的VPN成员关系和路由规则。报文转发信息存储在每个VRF的IP路由表和标签转发表中。系统为每个VRF维护一套独立的路由表和标签转发表,从而防止了数据泄漏出VPN之外,同时防止了VPN之外的数据进入。
VPN-IPv4地址族:
PE路由器之间使用BGP来发布VPN路由,并使用了新的地址族——VPN-IPv4地址。
一个VPN-IPv4地址有12个字节,开始是8字节的路由识别号(RouteDistinguisher,简称“RD”),后面是4字节的IPv4地址。PE使用RD对来自不同VPN的路由信息进行标识。运营商可以独立地分配RD,但是需要把他们专用的自治系统(Autonomous System,简称“AS”)号作为RD的一部分来保证每个RD的全局唯一性。RD为零的VPN-IPv4地址同全局唯一的IPv4地址是同义的。通过这样的处理以后,即使VPN-IPv4地址中包含的4字节IPv4地址重叠,VPN-IPv4地址仍可以保持全局唯一。
PE从CE接收的路由是IPv4路由,需要引入VRF路由表中,此时需要附加一个RD。在通常的实现中,为来自于同一个用户站点的所有路由设置相同的RD。
Route Target(路由目标)属性:
Route Target属性标识了可以使用某路由的站点的集合,即该路由可以被哪些站点所接收,PE路由器可以接收哪些站点传送来的路由。与RouteTarget中指明的站点相连的PE路由器,都会接收到具有这种属性的路由。PE路由器接收到包含此属性的路由后,将其加入到相应的路由表中。
PE路由器存在两个Route Target属性的集合:一个集合用于附加到从某个站点接收的路由上,称为Export Route Targets(输出路由目标);另一个集合用于决定哪些路由可以引入此站点的路由表中,称为Import RouteTargets(输入路由目标)。
通过匹配路由所携带的Route Target属性,可以获得VPN的成员关系。匹配Route Target属性可以用来过滤PE路由器接收的路由信息。
VPN报文的转发过程:
在RFC2547bis标准中,VPN报文转发使用两层标签方式。第一层(外层)标签在骨干网内部进行交换,代表了从PE到对端PE的一条LSP,VPN报文利用这层标签,就可以沿着LSP到达对端PE。从对端PE到达CE时使用第二层(内层)标签,内层标签指示了报文到达哪个站点,或者更具体一些,到达哪一个CE。这样,根据内层标签,就可以找到转发报文的接口。特殊情况下,属于同一个VPN的两个站点连接到同一个PE,则如何到达对方PE的问题不存在,只需要解决如何到达对端CE。
通过BGP发布VPN路由信息:
在RFC2547bis标准中,CE与PE之间通过IGP或EBGP来传播路由信息,PE得到该VPN的路由表,存储在单独的VRF中。各个PE之间通过IGP来保证通常IP的连通性,通过IBGP来传播VPN组成信息和路由,并完成各自VRF的更新。再通过与直接相连CE之间的路由交换来更新CE的路由表,由此完成各个CE之间的路由交换。
BGP通信在两个层次上进行:自治系统内部(IBGP)以及自治系统之间(EBGP)。PE-PE会话是IBGP会话,而PE-CE会话是EBGP会话。
BGP在PE路由器之间的VPN组成信息和路由传播,通过多协议扩展边界网关协议(Multiprotocol extensions BGP,简称“MBGP”)来实现。关于MBGP的详细内容可以参考IETF的文档RFC2283《Multiprotocol Extensionsfor BGP-4》(中文名称可译为《边界网关协议-4的多协议扩展》)。MBGP向下兼容,既可以支持传统的IPv4地址族,又可以支持其他地址族(比如VPN-IPv4地址族)。通过MBGP携带的route target确保了特定VPN的路由只能被这个VPN的其他成员知道,使BGP/MPLS VPN成员间的通信成为可能。
在实际应用中,上述方案存在以下问题:目前没有成熟的MPLS VPN QoS方案。
造成这种情况的主要原因在于,由同一组PE接入的不同NBVPN之间通过复用MPLS标签栈中的外层标签来同享资源。虽然理论上可以通过部署DiffServ-aware(通过IP的差异化服务编码点(DSCP)字段来进行不同优先级的转发)或类似的方案来保证外层隧道的资源,但在这些参考模型中,每个VPN中没有一个设备了解骨干网络中的资源状况,由于在每个节点几个VPN之间存在资源竞争,而且都不知道骨干网络中的资源状况,因此为每个VPN保证资源比较困难,这种共享竞争的机制给保证VPN的服务质量保证带来了更多复杂性。
IETF的提供者指配的虚拟专用网(Provider Provisioned Virtual PrivateNetworks,简称“PPVPN”)工作组在2003年7月维也纳会议后分为两个工作组:L2 VPN和L3 VPN,在它们最新的charter中,都没有包括QoS解决方案,它们现在的VPN参考模型中,QoS问题仍然存在。在IETF的《draft-martini-l2circuit-trans-mpls-10.txt》和《draft-martini-l2circuit-encap-mpls-04.txt》(这两篇文稿是L2VPN的基础)中,对于QoS问题,都表示“QoS related issues are not discussed in this draft”(QoS相关问题没有在这个草案中讨论),在《draft-ietf-l3vpn-rfc2547bis-01.txt》(该文稿是BGP/MPLS VPN的基础)中,对于VPN的QoS问题,只是简单的说“existing L3 QoS capabilities can beapplied to labeled packets through the use of the“experimental”bits in the shimheader”(现存的L3 QoS能力可以通过使用标签包头部的实验比特来解决),但问题是L3 QoS本身也是一个复杂的未解决的问题。因此,L2VPN/L3VPN中的QoS问题都还没有解决。
在2003年7月份ITU-T SG13会议上,通过了研究通用VPN(GVPN)的提议,草案建议Y.nbvpn-decomp作为通用基于网络的虚拟专用网(NetworkBased Virtual Private Network,简称“NBVPN”)功能分解的初始文本,是通用虚拟专用网(Generalized Virtual Private Network,简称“GVPN”)构建块分类的基础。在Y.nbvpn-decomp中,对一些功能实体进行了分类,其目的是简化VPN问题,以便定义网络运营商提供所希望的VPN网络需要的技术和机制,但Y.nbvpn-decomp中的参考模型和相应的QoS问题与IETF提出的VPN参考模型和QoS问题都相同,因此,QoS问题也没有很好地解决,这样,整个VPN模型就不会足够通用,以满足希望提供有QoS保证的VPN业务的运营商的需求,而且VPN用户虽然被允许接入,但不能保证向他们在使用异步传输模式(Asynchronous Transfer Mode,简称“ATM”)/帧中继(Frame Relay,简称“FR”)/数字数据网络(Digital Data Network,简称“DDN”)时得到他们需要的资源。
【发明内容】
有鉴于此,本发明的主要目的在于提供一种基于网络的虚拟专用网中保证服务质量的系统及其方法,使得MPLS VPN QoS问题可以有一种实用的解决方案。
为实现上述目的,本发明提供了一种基于网络的虚拟专用网中保证服务质量的系统,包含:
逻辑承载网,使用多协议标签交换技术通过在基础IP网络中配置预留带宽的标签交换路径连接各种路由器而形成,专用于传输有服务质量需求的业务;
承载控制层,用于对所述逻辑承载网进行维护并对所述业务进行路由。
其中,所述承载控制层包含集中式资源控制器,用于管理所述逻辑承载网的网络资源,维护所述逻辑承载网的网络拓扑,进行资源计算和路由选择,为所述路由器发送路由指示,在所述逻辑承载网内分配资源并进行接入控制,为每一个所述虚拟专用网维护成员关系信息和连接关系信息,实现成员关系的自动发现和单边配置。
所述集中式资源控制器在所述逻辑承载网的每一个域中部署一个,各个所述集中式资源控制器相互连接,交流所述逻辑承载网的拓扑、资源信息以及所述虚拟专用网的路由信息。
所述逻辑承载网和所述承载控制层通过带外的方式发布所述虚拟专用网的路由、维护所述虚拟专用网的成员关系、维护所述虚拟专用网各站点之间的访问关系。
所述各种路由器包含骨干网边缘路由器、中间转接路由器与核心路由器,
所述骨干网边缘路由器用于识别有服务质量需求的虚拟专用网,对从该虚拟专用网进入的有服务质量需求的业务用所述集中式资源控制器指示的标签栈进行封装,根据该业务的优先级设置所述标签栈中所有标签的服务质量字段,将封装好的业务数据包通过所述逻辑承载网传输;
所述中间转接路由器用于实现标签交换路径的静态或动态配置、区别服务模式的多协议标签交换和按类型处理流的功能;
所述核心路由器用于实现区别服务模式的多协议标签交换和按类型处理流的功能。
所述集中式资源控制器包含接口管理模块、协议处理模块、成员关系维护模块、拓扑和资源管理模块、路由管理模块和自动发现信令模块,
所述接口管理模块用于实现并管理和外部设备进行通信的接口;
所述协议处理模块用于对所述集中式资源控制器与各种外部设备通信的协议进行处理,并根据协议要求将通信数据转发给所述成员关系维护模块、拓扑和资源管理模块、路由管理模块和自动发现信令模块,所述协议处理模块通过所述接口管理模块收发通信数据;
所述成员关系维护模块用于维护所述虚拟专用网的成员关系信息和所述虚拟专用网站点间访问关系信息;
所述拓扑和资源管理模块用于管理所述逻辑承载网的拓扑关系和资源;
所述路由管理模块用于管理所述虚拟专用网的路由关系;
所述自动发现信令模块用于变更的自动发现,并通知所述成员关系维护模块、所述拓扑和资源管理模块修正相应的信息。
本发明还提供了一种基于网络的虚拟专用网中保证服务质量的方法,包含以下步骤:
A在基础IP网络中,使用多协议标签交换技术通过配置预留带宽的标签交换路径构造逻辑承载网,该逻辑承载网专用于有服务质量需求的业务;
B部署用于集中管理所述逻辑承载网资源的集中式资源控制器;
C需要传输有服务质量需求的业务时,将该业务的优先级标记到封装该业务数据流的多协议标签交换数据包的路由标签的服务质量字段中,按照所述集中式资源控制器分配的路由,通过所述逻辑承载网传输。
其中,所述集中式资源控制器在所述逻辑承载网的每一个域中部署一个。
所述路由可以是由标签栈确定的串行标签交换路径。
所述步骤C中,对所述业务路由标签栈中全部标签的服务质量字段设置相同的数值。
所述方法还包含以下步骤:
使用多协议标签交换流量工程技术动态调整所述逻辑承载网的拓扑和资源。
在所述步骤C中,所述业务的优先级可以由所述业务的类型确定。
当所述虚拟专用网同时包含有服务质量需求的站点和没有服务质量需求的站点时,包含以下步骤:
判断业务的收、发站点是否都有服务质量需求,如果是则使用逻辑承载网内的资源传输该业务,否则使用所述基础IP网络的其他资源传输该业务。
所述对业务的收、发站点是否都有服务质量需求的判断包含以下子步骤:
E1比较所述收、发站点的路由目标,判断所述收、发站点是否为普通访问关系,如果是则进入步骤E2;
E2比较所述收、发站点的有服务质量需求的路由目标,判断所述收、发站点是否为有服务质量需求的访问关系,如果是则判定所述收、发站点之间的业务具有服务质量需求,否则判定所述收、发站点之间的业务没有服务质量需求。
所述集中式资源控制器为每一对有服务质量需求的站点分配的路由是唯一。
通过比较可以发现,本发明的技术方案与现有技术的区别在于,通过在基础IP网络中通过MPLS技术预配置一部分资源给QoS-VPN专用(称为VPN逻辑承载网),并在当前VPN参考模型中增加控制网元,如VPN集中资源控制器,用于维护VPN-LBN的网络拓扑和资源,以及每个QoS-VPN的成员关系信息和访问关系信息,并根据逻辑承载网的资源状态进行允许控制和路由计算,保证接入的业务都能得到它们希望的服务质量。
这种技术方案上的区别,带来了较为明显的有益效果,即解决了MPLSVPN的QoS问题,对于运营商开展具有QoS保证的VPN起到了推动作用;解决了VPN大网络运营、跨域运营中的复杂性和可规划、可管理、可运营的特性;统一了MPLS L3/L2/L1 VPN的提供QoS的解决方案。
【附图说明】
图1是MPLS网络结构示意图;
图2是RFC2547bis所定义的MPLS L3VPN模型;
图3是根据本发明的一个实施例的实现QoS-VPN的方法流程图;
图4是根据本发明的一个实施例的QoS-VPN构架的参考模型;
图5是根据本发明的一个实施例的使用MPLS技术的VPN-LBN;
图6是根据本发明的一个实施例的VPN-CRC内部结构及对外连接关系示意图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
图3示出了实现QoS-VPN的方法流程图,在步骤100,进行容量规划:将需要QoS保证的基于网络的虚拟专用网(Network Based Virtual PrivateNetwork,简称“NBVPN”)业务划分为一个特殊业务类型,本发明称之为QoS-VPN业务,这种NBVPN称为QoS-VPN,网络运营商在接入这种业务时应该能够识别这种业务,最简单的方法(当然不限于此)是在接入QoS-VPN的站点的PE上识别出这些站点连接的接口或子接口,认为从这些接口或子接口进入的业务都是QoS-VPN业务,网络运营商需要根据当前和预期的QoS-VPN业务来规划QoS-VPN业务的容量,包括拓扑,路由,带宽等。
此后进入步骤110,配置VPN-逻辑承载网(Logical Bearer NetWork,简称“LBN”)。根据容量规划的结果,使用MPLS技术在基础IP网络中预配置一个LBN给QoS-VPN单独使用,对于QoS-VPN业务流,其路由选择,资源分配,允许控制和标签转发仅在VPN-LBN中处理,对于没有QoS需求的VPN业务流,在基础网络中没有预配置的部分资源中根据现存的VPN机制进行路由和转发。
此后进入步骤120,部署VPN-集中式资源控制器(Centralized ResourceControler,简称“CRC”)。在VPN-LBN中的每个域中部署一个VPN-CRC,一般是和VPN的数据平面设备分离,VPN-CRC负责VPN站点之间的资源计算,接入控制,资源分配,路由选择,将表示路由的MPLS标签栈下发给入口PE,并为每个QoS-VPN维护成员关系信息,访问关系信息,并处理必要的信令。之所以在每一个域部署一个CRC是因为如果只部署一个全局CRC,则当网络巨大时需要协调的信息太多。域是运营商自己划分的逻辑区域,例如一个省或一个市,可以根据CRC的实际处理能力来决定域的范围大小。
上述实施例中,QoS-VPN网络的拓扑和带宽是静态分配的,在本发明的另一个较佳实施例中,使用MPLS流量工程(Traffic Engineering,简称“TE”)技术来动态调整VPN-LBN拓扑和带宽,以进行LSP的保护或容量变更。
此后进入步骤130,VPN-CRC计算并下发站点之间访问路径。因为VPN-LBN中所有的可用资源信息以及QoS-VPN中的成员关系信息和访问关系信息都记录在VPN-CRC中,因此VPN-CRC可以根据这些信息为每一对有QoS需求的站点计算访问路径,并且把路径下发到各个PE中,由PE来具体执行。因为有这种处理方式,因此每一对有QoS需求的站点之间的路径都是唯一确定的。
此后进入步骤140,标记业务优先级并通过VPN-LBN传输。在每个QoS-VPN中,虽然两个站点之间的所有业务的路由完全相同,但这些业务流仍可以分为不同类型,如语音,视频,数据,这些业务类型可以在入口PE识别并标记不同的优先级,在入口PE对这些不同优先级的数据流进行MPLS封装时,将优先级映射到VPN-CRC下发给入口PE的表示路由信息的标签栈中的所有标签的EXP(因为标签栈的标签在沿着这些路由转发时要进行弹出操作,所有标签的EXP设置相同将可以保留业务流的优先级信息),这样在VPN-CRC确定了两个站点之间业务的路由和带宽后,其中不同的业务等级可以通过MPLS-DiffServ(区别服务模式)进行转发,保证各自的时延/抖动/包丢失等要求,从而保证VPN的QoS。
需要说明的是,对于混合QoS-VPN,可以将其分成两部分,一部分由具有QoS要求的站点组成,上述机制可以应用于这部分,另一部分由没有QoS要求的站点组成,遵循已有的VPN机制。
下面结合图4说明QoS-VPN的总体框架。
在本发明的一个较佳实施例中,QoS-VPN框架分为两个层次:逻辑承载层(logical bearer layer,也可以成为逻辑承载网),承载控制层(bearer controllayer)。
逻辑承载层是使用MPLS技术根据预先的容量规划通过配置预留带宽的LSP连接PE,CR,ITR形成的。
承载控制层由若干个VPN-CRC组成,每个域配置有一个VPN-CRC(不包括VPN-CRC的备份),VPN-CRC管理VPN-LBN的网络资源(包括带宽,处理器,缓冲区),维护VPN-LBN的网络拓扑,进行资源计算,路由选择,给PE发送路由指示,在VPN-LBN内分配资源,接入控制,并为每个QoS-VPN维护成员关系信息表,连接关系信息表和相关的信令以便实现成员关系自动发现和单边配置。
下面介绍VPN-LBN的划分方式。
为保证QoS-VPN网络可靠传送,有必要将QoS-VPN业务和尽力转发(Best effort)业务(包括没有QoS需求的VPN业务以及普通Internet业务)在资源分配和路由方面分开,QoS-VPN的资源在预配置的VPN-LBN中分配并通过VPN-CRC选择显式路由,而Best effort的VPN业务仍然在剩下的没有分配的网络资源中遵循传统的VPN机制进行路由和转发。
如图5表示,VPN-LBN由PE、ITR、CR以及连接这些路由器的LSP组成,LSP可以静态配置或者根据容量规划和流量测量数据动态建立。
为进行LSP的保护或者容量的改变,MPLS TE如快速重路由(FastReroute,简称“FRR”)等技术可以用于动态调整LSP带宽,并维护VPN-LBN拓扑。
当QoS-VPN的本地站点到远端站点的业务请求从PE传送到VPN-CRC,根据用户和运营商之间的服务水平协议(Service Level Agreement,简称“SLA”)确定的相应的QoS需求也随着该业务请求传送到VPN-CRC,VPN-CRC(如有必要,需要VPN承载控制层中其他VPN-CRC的参与)根据网络资源情况确定是否允许接入,如果允许接入,VPN-CRC将计算能够满足QoS要求的路由,并将路由信息发送给入口PE,路由信息是一个代表一组从入口PE到出口PE的串联的LSP,入口PE将记录这些路由信息和所属的QoS-VPN(通过VPN-ID)和本地站点与远端站点(通过站点ID),所有属于该QoS-VPN和本地站点到远端站点的业务都通过该路由进行转发,除非入口PE收到另外的路由指示。
入口PE从接口或子接口等相关信息识别QoS-VPN,当一个QoS-VPN业务流进入网络后,入口PE获得流描述信息(通常包括源地址,源端口,目的地址,目的端口,协议类型),然后将包/帧用VPN-CRC指示的标签栈进行封装,对不同的数据类型(语音/视频/数据)为标签栈中所有的标签设置不同的EXP位组,并将数据包/帧引入VPN-LBN,当数据流在路由上的ITR中传送时,均遵循DiffServ-aware MPLS技术。
下面详细介绍本发明方案中最重要的设备——VPN-CRC。
VPN承载控制层由各域中的VPN-CRC组成,是VPN承载层的控制平面和管理平面,在本发明的一个较佳实施例中,VPN-CRC应该具有如下功能:域内资源计算,路由选择,允许控制,域间资源请求,网络拓扑维护,成员关系信息维护,访问关系信息维护和自动发现,单边配置的信令等。而且,VPN-CRC可以支持策略管理,SLA管理,LSP流量测量,以及和认证、授权和记帐服务器(Authentication Authorization and Accounting Server,简称“AAA Server”)的接口。
VPN-CRC的内部结构及对外连接关系如图6所示。VPN-CRC 10主要包含以下模块:
接口管理模块111,用于实现并管理和外部设备进行通信的接口。例如与上游的VPN-CRC 20、下游的VPN-CRC 30、ITR 40以及ER 50的通信。这些通信涉及到的协议将在下文中说明。
系统功能模块112,用于提供支承整个VPN-CRC 10正常运行的底层平台。在本发明的一个较佳实施例中,系统功能模块102是VPN-CRC 10中的操作系统。
协议处理模块113,用于对VPN-CRC 10与各种外部设备通信的协议进行处理。并根据协议要求将通信数据转发给成员关系维护模块114、拓扑和资源管理模块115、路由管理模块116和自动发现信令模块117,协议处理模块113通过接口管理模块111收发通信数据。
成员关系维护模块114,用于维护成员关系信息表和访问关系信息表。成员关系信息表(membership information table)是包含属于同一QoS-VPN的站点成员的信息,该表是同一QoS-VPN中的站点ID的列表,通过VPN-ID索引。访问关系信息表(connectivity information table)包含同一QoS-VPN的成员之间的访问关系,即一个站点能够访问哪一些其他站点,该表可以通过成员信息表和每个站点的Route Targets(路由目标)得到,如果相同QoS-VPN中的一个站点的export Route Target(输出路由目标)和另一个站点的import Route Target(输入路由目标)相同,则这两个站点之间存在访问关系。在VPN-CRC 10进行允许控制时,需要参考访问关系信息表。通过访问关系信息表,QoS-VPN站点之间可以组建全网状,Hub-Spoke或者其它拓扑关系。
拓扑和资源管理模块115,用于管理VPN-LBN的拓扑关系和资源。拓扑关系是VPN-LBN中各个节点的连接关系,资源主要是指这些连接关系上预留的带宽。VPN-LBN的拓扑和资源的记录和维护独立于基础网络,VPN-LBN的初始资源数据需要根据容量规划的结果手工配置。
路由管理模块116,用于统一管理所有QoS-VPN的路由关系。
自动发现信令模块117,用于变更的自动发现。自动发现是指访问关系信息并非人为配置在VPN-CRC 10中,而是由外部设备(如PE)自动提供的。当自动发现信令模块117得到的信息中包括了成员关系或者LBN拓扑关系的变化,则自动发现信令模块117将通知成员关系维护模块114或拓扑和资源管理模块115进行相应的修改。
为维护和传送QoS-VPN的访问关系信息,VPN-CRC需要维护QoS-VPN成员之间的访问关系,即QoS-VPN站点的拓扑,这可以通过(当然不限于)记录每个QoS-VPN的两个site列表,一个是允许发送的站点列表,一个是允许接收的站点列表。为支持QoS-VPN成员关系和访问关系信息的修改的自动发现,在增加或删除QoS-VPN中的站点时,相关的更新消息应该在PE和VPN-CRC之间传送,涉及到的VPN-CRC应该更新成员信息表和访问关系信息表。通过实现这种机制,可以实现单边配置,即在QoS-VPN站点增加或删除时或者站点之间的访问关系发生变化时,只需要对站点增删或者访问关系变化的一个站点的PE上进行配置,这些配置将触发更新消息在相关的VPN-CRC和PE上自动传送,接收到更新消息的VPN-CRC将更新对应的QoS-VPN成员关系信息表和访问关系信息表。
在增加QoS-VPN站点时,业务请求(包括VPN-ID,本地站点ID,远端站点ID,QoS要求)将传递到本域VPN-CRC,VPN-CRC(如果必须,需要相关VPN-CRC参与)将为增加的站点访问其它站点计算资源,如果允许这些站点的增加,将计算这些新增站点访问其它站点的路由,并将路由指示给相关PE,这些PE更新它们的QoS-路由信息表,当远端PE感知到这些站点的增加,将触发它们自己的本地站点访问这些新增站点的业务请求,VPN承载控制层将执行相同处理,最后所有站点将得知相互访问的路由信息。
在删除站点时,VPN-CRC除了更新相关的成员关系信息表和访问关系信息表外,将释放和删除的站点相关的资源,并通知相关PE删除QoS路由信息表中相关条目,当远端PE感知到站点的删除,将触发它们关于自己的本地站点访问这些已删除站点的资源删除。
拓扑和资源表118,用于存储VPN-LBN的拓扑关系和资源。
路由表119,用于存储QoS-VPN的路由(实质上是各个站点可被访问的目的地址集合)。该目的地址集合由若干个地址前缀或地址组成。
VPN-CRC从本域入口PE的业务请求(包括VPN-ID,本端站点ID,远端站点ID,QoS要求)或者其它VPN-CRC的资源请求时,将进行资源计算,路由选择和允许控制(如果需要,还要将资源请求传送到下游VPN-CRC),如果其中涉及到的某个VPN-CRC资源计算的结果是“拒绝”,需要将该响应一直向上游VPN-CRC传送,直到到达入口PE。否则,需要将本VPN-CRC确定的路由信息向上游传送,直到将全程的路由信息(标签栈)发送给入口PE。入口在转发从本端站点到远端站点的数据时,根据CE到PE的业务流的描述设置标签栈中所有标签的EXP位组,这样,从本端站点到远端站点的业务都从上述计算的路由上传送,但相同方向不同类型的业务通过EXP位组区分,按照MPLS-DiffServ机制传送。
下面说明对图4中VPN承载层中的PE、ITR和CR的功能需求。
PE应该支持静态LSP配置或者通过CR-LDP/RSVP-TE动态建立LSP以便实现预配置以及VPN-LBN的动态调整,而且应该支持流分类,以便能为从VPN-CRC接收到的标签栈设置EXP位组。PE中保存了QoS路由信息表,该表主要保存了以下信息:VPN-ID,本地站点,远端站点(远端站点中可以访问的目的地址集合),本地站点和远端站点之间的路由。
当从VPN-CRC接收到允许控制响应,如果响应是“允许接入”,路由和QoS信息将包含在内,入口PE在QoS信息表中将记录这些信息,它为每个QoS-VPN分别维护这些信息,根据VPN-ID索引,在每个QoS-VPN的信息中,为每个站点对(一个本地站点到一个远端站点)记录一个条目,根据QoS路由信息表,入口PE进行队列,调度,整形,标记,策略,MPLS封装,然后在VPN-LBN中根据标签栈确定的路由进行转发。
中间传送路由器ITR应该支持静态LSP配置或者通过CR-LDP/RSVP-TE动态建立LSP以便实现预配置以及VPN-LBN的动态调整,而且应该支持DiffServ-aware MPLS和按类型处理流。
IP骨干网络中的核心路由器CR只需要支持DiffServ-aware MPLS和按类型处理流。
下面说明借助VPN地址进行QoS-VPN之间隔离的方法。
VPN地址可以由VPN-LBN中全局唯一的VPN-ID和L3/L2/L1 VPN相关的私有地址组成,如,L3 VPN中的IPV4/IPV6/IPX地址,L2 VPN中的数据链路地址,L1 VPN中的交叉连接标识,在这种VPN地址方案中,不同QoS-VPN中各站点的地址可以重叠,由于VPN-ID在VPN-LBN中全局唯一,组成的VPN地址也将在VPN-LBN内唯一。
QoS路由信息表可以通过VPN-ID区分不同QoS-VPN的信息,从而实现QoS-VPN之间的隔离。
下面说明路由和转发的方法。
QoS-VPN路由在PE的QoS路由信息表中维护,其粒度是QoS-VPN的站点对,即一个本地站点到一个远端站点之间的所有业务的路由相同,在入口PE的路由查找是分为两级的,第一级根据不同VPN-ID索引,找到与本地站点所属的QoS-VPN,第二级查找搜索针对该QoS-VPN中的本地站点和远端站点对,和远端站点关联的是远端站点中的聚合地址,当业务流中的目的地址和站点对中与远端站点关联的聚合地址匹配时,认为搜索成功。在两级查找成功后,入口PE为该业务流确定路由信息(VPN-CRC指定的MPLS标签栈),并标记路由信息标签中的EXP位组。如果,两级查找之一失败,则入口PE可以拒绝该业务流。
QoS-VPN转发基于MPLS技术,使用VPN-CRC下发的标签栈和入口PE为业务流设置的EXP位组,根据外层标签采用MPLS-DiffServ机制,保证了业务带宽和转发优先级,从而保证了QoS-VPN的服务质量(带宽,时延,抖动,丢包率)。
下面说明各个设备之间的接口和信令需求,包括PE和CE之间、VPN-CRC和运营商路由器(包括PE,ITR,CR)之间,VPN-CRC和VPN-CRC之间的接口和协议。
PE和CE之间的接口传送用户信息,如拓扑,CE连接的站点的聚合的私有地址(如L3VPN中的私有IPv4/IPv6/IPX地址,L2VPN中的数据链路地址,L1VPN中的交叉连接标识),业务请求(包括流标识)。
VPN-CRC和PE之间的接口允许VPN-CRC指示PE处理每个站点的业务流,有必要为该借口规定相应的协议,可以在COPS基础上根据本文中的结构扩展。
该协议需要支持如下功能:
(1)入口PE向VPN-CRC发送业务请求(包括VPN-ID,本地站点ID,export Route Target,远端站点ID,QoS要求),QoS要求包括业务类型及其带宽,优先级,时延,抖动限制,丢失率限制,MTU等,它是根据用户和运营商之间的SLA确定的针对每个站点的服务质量要求。
(2)VPN-CRC根据业务请求中的站点ID和export Route Target确定本地站点和远端站点之间是否存在访问关系(VPN-CRC需要将业务请求信息传递到相关的VPN-CRC和出口PE),在存在访问关系时,无论VPN承载控制层的允许控制结果是“拒绝”或“接受”,都将该结果通知入口PE。
(3)在允许控制“允许”时,VPN-CRC将关于该站点对的路由(表示一组串联LSP的标签栈)通知给入口PE,PE在QoS路由信息表中为每个QoS-VPN的每个站点对创建该记录。
(4)在为QoS-VPN中增加或删除站点时,或者站点间的访问关系变化时,变化发生站点对应的PE应向本域VPN-CRC发送更新消息,VPN-CRC向相邻VPN-CRC传递该消息(VPN-CRC之间的接口在5.3节讲述),最终发送给对端PE,相关的VPN-CRC将更新成员关系信息表和访问关系信息表,相关的PE将更新QoS路由信息表中的相应表项。关于修改后引起的路由计算或资源申请/释放将4.4节中讲述。
(5)PE将它所连接站点的聚合VPN地址信息发送给VPN-CRC,VPN-CRC在VPN承载控制层中发布,并最终发布给相关的PE,该功能可以通过扩展现有的BGP协议实现,最后,所有PE将在QoS路由信息表中保存它所接入的QoS-VPN各站点的聚合VPN地址,当PE收到业务流时,可以根据QoS路由信息表和流标识确定路由和EXP位组。
而且,VPN-CRC和域内PE,ITR,CR之间的接口应该支持如下功能:
(1)允许VPN-CRC为每种业务类别配置MPLS DiffServ PHB。
(2)允许PE/ITR/CR等路由器向VPN-CRC报告LSP状态,当链路或路由器发生故障时,路由器将向本域VPN-CRC上报,VPN-CRC将这些故障信息在VPN承载控制层中发布,这些VPN-CRC重新为它们预留的路由计算资源,当一些路由需要更新时,VPN-CRC应该将新路由发送给相关入口PE。
VPN-CRC之间的接口用于实现跨域的QoS-VPN站点之间业务的资源分配和路由选择。
有必要为该接口定义单独的协议,可以对COPS或者BGP进行扩展来完成相应的功能。
该协议需要支持如下功能:
(1)允许VPN-CRC向下游VPN-CRC申请为跨域QoS-VPN站点之间的业务分配承载资源。
(2)允许VPN-CRC将域间的QoS-VPN业务标识信息(本地站点ID,远端站点ID,VPN-ID)通知给下游VPN-CRC。
(3)允许VPN-CRC将域间的QoS-VPN业务的QoS需求(包括业务类型及其带宽,优先级,时延限制,抖动限制,丢失率限制等)通知给下游VPN-CRC。
(4)允许VPN-CRC请求相邻的VPN释放为域间的QoS-VPN业务分配的承载资源。
(5)允许VPN-CRC向其它VPN-CRC查询它为域间QoS-VPN业务的资源分配状态。
(6)允许VPN-CRC向其他VPN-CRC通知查询响应。
(7)允许VPN-CRC和其他VPN-CRC交换域间业务等级规格(service levelspecification,简称“SLS”)和路由信息。
下面讨论混合QoS-VPN的情况。
在某些情况下,VPN的一些站点有QoS要求,而其他站点没有QoS要求,这种VPN称为混合QoS-VPN。混合QoS-VPN可以分为两部分,一部分由那些有QoS要求的站点组成,称为sub-QoS-VPN,另一部分由那些没有QoS要求的站点组成,称为sub-VPN。对于sub-QoS-VPN,其QoS保证可以采用上述集中资源控制保证QoS的MPLS NBVPN方案,对于sub-VPN,仍然遵循IETF L3VPN/L2VPN工作组的相关RFC和draft来实现。Route Target用于确定整个VPN(包括sub-QoS-VPN和sub-VPN)的访问关系,可以采用VPN-CRC来确定,另外引入QoS Route Target(有QoS需求的路由目标)来维护sub-QoS-VPN的访问关系信息表,QoS Route Targets和Route Targets格式相同,比较了Route Target确定站点之间的普通访问关系后,继续比较QoSRoute Target(如果两个站点之一的业务请求中存在),如果比较通过,则这两个站点之间的业务具有QoS要求,这两个站点都属于sub-QoS-VPN。否则将它们归为sub-VPN。
下面讨论域内QoS-VPN和域间QoS-VPN的情况。
域内QoS-VPN路由选择和域间路由是资源管理和允许控制的基础。
VPN-CRC通过在拓扑信息表和资源信息表中进行域内路由选择,路由选择的算法可以是固定的,例如时间相关路由(Time Dependent Routing,简称“TDR”)/状态相关路由(State Dependent Routing,简称“SDR”)。而且,VPN-CRC中应该维护一个域间路由表用于通过QoS信令协议确定域间LSP,以发现相邻的下游VPN-CRC。
VPN-CRC的域间路由表可以手工配置或运行动态路由协议自动产生。
下面讨论跨不同网络提供商如何提供QoS-VPN。
为了在不同提供商的网络中支持QoS-VPN,他们的自治系统边界路由器(Autonomous System Boundary Router,简称“ASBR”)应该互通以传送VPN业务请求信令和VPN业务。如果双方网络都部署了VPN-CRC,他们的VPN-CRC可以互通,此时,这些VPN-CRC之间仅交换和映射网间SLA,此时,VPN-CRC仅管理网内链路资源,ASBR通过规定的SLA管理网间链路资源,完成运营商内部QoS-VPN情况下的入口PE的功能,如果其中一个网络运营商没有部署VPN-CRC,而是采用了其他的QoS机制,两个ASBR应该相互映射QoS需求,则最终QoS保证的程度将依赖于其他网络提供商的VPN QoS实现机制。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。