三、MPLS原理及其应用
Internet业务量的飞速增长以及宽带技术的不断出现,对Internet服务提供商(工SP)的网络带宽提出了严峻的挑战。这种挑战不仅是对高带宽的要求,也是对目前Internet所基于的传统路由交换模式的新的要求。要建立一种服务质量较好且具备扩展性支持的新一代路由系统,需要各单个路由器维持大容量的路由信息,并能建立一种路由信息的分层结构;在增强路由器对IP分组包转发性能的同时,还需要增加对多目广播的路由支持,提供分层式的路由信息结构;路由体系还必需具有灵活的适应能力以满足将来可能出现的各种新型需求。
MPLS技术的全称是多协议标交换技术,是在Cisco公司所提出来的TagSwitching技术基础上发展起来的,属于第三层交换技术。它引入了基于标签的机制,把选路和转发分开,由标签来规定一个分组通过网络的路径,数据传输通过标签交换路径(LSP)完成。
3. 1与MPLS相关的几个概念及定义
a)路由协议:路由协议(如RIP, OSPF)是一种机制,使网络中的每台设备都知道在将一个分组送向其目的地时,传送这个分组的下一跳级(Next-Hop)是哪里。路由器使用路由协议构建路由表,当它们接收到一个分组而必须进行转发判决时,路由器用分组中的目的IP地址作为索引(Index)查寻路由表,利用特定算法获得下一跳机器的地址。路由表的构造和它们在转发时的查寻基本上是两个独立的操作。
b)交换:交换概念通常用来描述从一个设备内的输入端口到输出端口的数据传递,这种传送一般是基于第二层的(如ATMVP工/VCI)信息。
c)控制部件:控制部件为一个节点建造并维护一个路由转发表(ForwardingTable)。它与其它节点的控制部件共同协作,持续并正确地交换分布路由信息,同时在本地建立转发表。标准的路由协议(如OSPF, BGP和R工P)用于在控制部件之间交换路由信息。
d)转发部件:转发部件执行分组转发功能。它使用转发表、分组所携带的地址等信息及本地的一系列操作来进行转发判决。在传统路由器中,最长匹配算法将分组中的目的地址与转发表中的条项进行对比,直到获得一个最优的匹配。更为重要的是,从源到目的地的沿路节点都要重复这一操作。在一个标志交换路由器中,(最佳匹配)标志交换算法使用分组的标志和基于标志的转发表来为分组获取一个新的标志及输出端口。
e)路由转发表:路由转发表包含若干条项,提供信息给转发部件,执行其交换功能。转发表必须将每个分组与一个条项(传统条项为目的地址)关联起来,为分组的下一步路由提供指引。
f)转发同等类(FEC):转发同等类(FEC)定义了这样一组分组,从转发的行为来看,它们都具有相同的转发属性。一种FEC是一组单目广播分组,其目的地址均与一个IP地址前缀相匹配。另一种FEC是分组的源及目的地址都相同的一组分组。FEC可在不同的级别上进行定义。
g)标志(label):标志(label)相对较短,长度固定且无结构标识,可在转发进程中使用。标志通过一种绑定操作与一个FEC关联起来。标志正常情况下,对于一个单一数据链路来说仅具有本地意义,不具有全局意义。在ATM环境中相当于它们的VPI/VCI。由于ATM使用固定短区域进行交换,因此可以相信标志交换能成为一种IPoverATM应用的有效方案。在某种事件驱动下,标志与FEC进行绑定,具有一定意义,这种事件可分为以下两种类型:一种是数据驱动绑定,即在数据流开始产生时进行绑定。标志绑定仅在需要时建立,在转发表中只存在很少的几个条项。标志被分配给不同的IP数据流。在一个ATM网络环境中,它需要使用大量的虚电路资源,不易于扩展。另一种是拓扑驱动绑定,当在控制平面激活时其建立与数据流的产生无关。标志绑定可能与路由的更新或RSVP消息的接收有关。拓扑驱动绑定较数据驱动绑定更易于扩展,因此用于MPLS中。
h)标志交换转发部件:标志与分组的绑定有若干种方式,对一些网络可以将标志嵌入到链路层的头端(ATMVCI/VPI和帧中继的DLC工),有时也可以将它嵌入至位于数据链路头端和数据链路协议数据单元(PDU)之间的小标志头端(如位于第二层头端与第三层数据负载之间),称为“Shim"。这种标志信息能够在链路层进行承载,"Shim”结构可以用于Ethernet, IEEE802.3,或点对点(PPP)链路上,其中一个是为单目广播,另一个是为多目广播(Multicast),每个标志为4字节。
3. 2 MPLS的工作流程
在MPLS骨干网络边缘,边界LSR对进来的无标志分组(正常情况下)按其工P头端进行归类划分(Classification)及转发判决,这样IP分组在边界LSR被打上相应的标志,并被传送至到达目的地址的下一跳。
在后续的交换过程中,由LSR所产生的固定长度的标志替代IP分组头端,大大简化了以后的节点处理操作,后续节点使用这个标志进行转发判决。一般情况下,标志的值在每个LSR中交换后改变,这就是标志转发。如果分组从MPLS的骨干网络中出来,出口边界LSR发现它们的转发方向是一个无标志的接口,就简单地移除分组中的标志。这种基于标志转发的最重要的优势在于对多种交换类型只需要唯一一种转发算法,可以用硬件来实现非常高的转发速度。
MPLS网络由核心部分的标签交换路由器(LSR)、边缘部分的标签边缘路由器(LER)组成。LSR可以看作是ATM交换机与传统路由器的结合,由控制单元和交换单元组成;LER的作用是分析IP包头,决定相应的传送级别和标签交换路径(LSP)。由于MPLS技术隔绝了标签分发机制与数据流的关系,因此,它的实现不依赖于特定的数据链路层协议,可支持多种的物理和链路层技术 (工P/ATM、以太网、PPP、帧中继、光传输等)。MPLS使用控制驱动模型初始化标签捆绑的分配及分发,用于建立标签交换路径(LSP),通过连接几个标签交换点来建立一条LSP。一条LSP是单向的,全双工业务需要两条LSPo
标签交换的工作流程如下:
1)由LDP(标签分发协议)和传统路由协议(OSPF等)在LSR中建立路由表和标签映射表;
2)在MPLS入口处的LER接收IP包,完成第三层功能,并给IP包加上标签;
3)在MPLS出口处的LER将分组中的标签去掉后继续进行转发;
4) LSR不再对分组进行第三层处理,只是根据分组上的标签通过交换单元进行转发。
3. 3 MPLS技术的实现细节
标签结构
IP设备和ATM设备厂商是在各自原来的基础上实现MPLS技术的。对于IP设备商,它修改了原来工P包直接封装在二层链路帧中的规范,在二层和三层包头之间插了一个标签(Label):而ATM设备制造商利用了原来ATM交换机上的VP工/VC工的概念,使用Label来代替了VPI/CVI,当然ATM交换机上还必需修改信令控制部分,引入路由协议。ATM交换使用路由协议来和其它设备交换三层的路由信息。
498)this.style.width=498;" border=1>
标签的结构如图
20比特的LABEL字段用来表示标签值。由于标签是定长的,所以对于路由器来说,可以分析定长的标签来做数据包的转发,这是标签交换的最大优点。定长的标签就意味可以用硬件来实现数据转发,这种硬件转发方式要比必须用软件实现的路由最长匹配转发方式效率要高得多!
3比特的EXP用来实现QOS。
1比特S值用来表示标签栈是否到底了,对于VPN, TE等应用将在二层和三层头之间插入两个以上的标签,形成标签栈。
8比特TTL值用来防止数据在网上形成环路。
498)this.style.width=498;" border=1>
于是完整的带有标签的二层帧就成了如图形式
498)this.style.width=498;" border=1>
在ATM信元模式下,信元的结构形式如图
LSR设备的体系结构
通过修改,能支持标签交换的路由器称为LSR(Label Switch Router),而支持MPLS功能的ATM交换机一般称为ATM-LSRo
498)this.style.width=498;" border=1>
LSR设备的体系结构如图
LSR的体系结构分为两块:
a)控制平面(Control Plane)
该模块的功能是用来和其他LSR交换三层路由信息,以此建立路由表和交换标签对路由的绑定信息,以此建立Label Information Table(LIB)标签信息表。同时再根据路由表和LIB生成Forwarding Information Table(FIB)表和Label Forwarding Information Table(LFIB)表。控制平面也就是我们一般所说的路由引擎模块!
b)数据平面(Data Plane)
数据平面的功能主要是根据控制平面生成的FIB表和LFIB表转发IP包和标签包。
对于控制平面中所使用的路由协议,可以使用以前的任何一种,如OSPI",RIP, BGP等等,这些协议的主要功能是和其他设备交换路由信息,生成路由表,这是实现标签交换的基础。在控制平面中导入了一种新的协议——LDP,该协议的功能是用来针对本地路由表中的每个路由条目生成一个本地的标签,由此生成LIB表,再把路由条目和本地标签的绑定通告给邻居LSR,同时把邻居LSR告知的路由条目和标签绑定接收下来放到LIB表里,最后在网络路由收敛的情况下,参照路由表和LIB表的信息生成FIB表和LFIB表。具体的标签分发模式如下叙述。
标志交换控制部件
标志由标志交换路径(LSP)的上游LSR (Upstream LSR)节点来附加至分组中,下游LSR(Downstream LSR)收到标志分组后判决处理,这由标志交换的控制部件来完成,它使用标志转发表中的条项内容作为引导。
标志交换控制部件除了基本的表的建立和维护外,还负责以一种连续的方式在LSR之间进行路由的分布及进行将这些信息生成为转发表的操作。标志交换控制部件包括所有的传统路由协议(如OSPF, BGP, PIM等等)。这些路由协议为LSR提供了FEC与下一跳地址的映射。标志交换转发表中的条项内容最少应能提供输出的端口信息和下一个新的标志,当然也可以包含更多的信息。例如,它可以为被交换的分组产生一种输出队列原则。
输入分组必须在转发表中有唯一的条项与之对应。每一个分配的标志必须与转发表中的一个条项相关联起来,这种绑定可以在本地LSR执行或在远端LSR执行。目前MPLS版本使用下游绑定,这种情况下,本地关联的标志用作进入分组标志,而远端关联标志用作输出标志。另一种方式为上游绑定,与下游绑定相反,也是一种可行的方法。在MPLS技术中,转发表又称为标志转发信息库(LFIB) , LFIB的每一个条目中包括输入标志、输出标志、输入接口和输出端口MAC地址,由输入标志对条项进行检索查找。另外LFIB既可以在一个标志交换路由器上也可以存在于一个接口上。
标志交换路由器(LSR)
MPLS的设备按其在MPLS路由网络中所处的位置可分为边界标志交换路由器和中间标志交换路由器。边界LSR除对分组的标志进行符加或移除外,还负责对流量进行分类,标志的分配除了基于目的地址外还有其它很多因素。边界LSR判定流量是否为一个长持续流,采取管理政策和访问控制,并在可能的情况下将普通业务流汇聚成较大的数据流,这些都是在IP与MPLS的边界处所需具有的功能。因此边界LSR的能力是整个标志交换环境能否成功的关键环节,对于服务提供者而言,这也是一个管理和控制点。
MPLS和ATM协议关系
MPLS为公共的转发算法,基于标志的交换技术,在与ATM技术的结合上,MPLS使用ATM的用户平面(user plane),以ATM的VPI/VCI作为其标志。MPLS的控制功能部件,以网络层的动态路由协议(如:IS-IS, OSPF, BGP, PIM)及标志分配协议(LDP)来替代ATM传统的控制平面,完成对整个MPLS网络的控制功能。
MPLS的优势
基于MPLS的思想框架,MPLS的优势主要体现在以下:
将传统的基于IP分组中头端信息进行IP路由转发的机制淘汰后在一种公共转发算法(标志交换)上提供了多种路由方案(如基于目的的显式路由等)将ATM技术与IP技术灵活地结合起来,从控制平面看具有MPLS功能的ATM交换机更像是一台路由器。
使用MPLS使各种IP业务应用成为可能,如基于IP的VPN, IP级业务服务质量保证、骨干网络流量控制。
MPLS技术总结
MPLS交换主要目的是为下一代的多用户、多服务的Internet骨干网络提供一种路由交换的技术基础。它的主要特征为高性能,可灵活扩展,能最大可能地满足用户对服务质量的需求。Internet网络的飞速发展也为MPLS的发展提供了十分显著的推动作用。
MPLS技术也为一些目前IP网络亟待提供的应用服务如流量控制(traffic engineering) ,虚拟专网(VPN)、服务类别质量保证(COS)等提供了一套更为合理有效的解决方案。
3. 4基于MPLS的VPN实现
MPLS/VPN体系结构
基于MPLS方式组建VPN网络时,所需设备是路由器,可以利用网络上己有的路由器升级,也可以新建。在全网各路由器配置MPLS,各接入点的路由器配置成MPLS VPN PE(边界)Router,其余路由器配置成MPLS VPN P(核心)Router。全网路由器运行内部网关协议IS-IS及MPLS LDP协议。PE Router之间运行MP-BGP协议,并且建立Full-mesh的 BGP连接。各VPN用户的路由设备CE连到网络接入点PE Router。用户与PE Router之间运行EBGP(或RIP2,OSPF)协议。VPN用户的地址空间由用户确定,可采用私有保留地址。[22}
MPLS VPN限制VPN路由信息仅在VPN内部传播,具体过程如下:
1)在PE路由器上有两种互相隔离的路由表。一种是包含所有P和PE路由器路由的普通路由表,一种是与它相连的VPN的路由表,即VRF。每个VPN对应一个VRF。
2) PE路由器将VPN用户地址(多为私有地址)转换成VPN-V4的地址,其中包含RD, S00等新增属性,存储在相应VRF中。
3)同一VPN两端的PE通过RSVP-Tunnel或LDP建立LSP (Label Switch Path) ,并用MP-iBGP交换此VPN的路由。
4)当PE接到本地VPN用户Packet的时候,此PE在相应的VRF中查找相应路由,找到下一跳,此下一跳应为将目的VPN用户地址通过MP-iBGP广播给它的那台PE。
5)本地PE路由器通过先前建立的LSP将此Packet转发到异地PE路由器。
6)异地PE路由器再在其相应的VRF中找到需要从哪个用户端口转发到目的地。
PE路由器的改造和VRF的导入
为了让PE路由器能区分是哪个本地接口送来的VPN用户路由,在PE路由器上创建了大量的虚拟路由器,每个虚拟路由器都有各自的路由表和转发表,这些路由表和转发表统称为VRF(VPN Routing and Forwarding instances)。一个VRF定义了连到PE路由器上的VPN成员,VRF中包含了IP路由表,IP转发表(也称为CEF表),使用该CEF表的接口集和路由协议参数和路由导入导出规则等等。
在VRF中定义和VPN业务有关的两个重要参数是RD (Route Distinguisher)和RT (Route Target) , RD和RT长度都是64比特。有了虚拟路由器就能隔离不同VPN用户之间的路由,也能解决不同VPN之间IP地址空间重叠的问题。
MP-BGP协议对VPN用户路由的发布
498)this.style.width=498;" border=1>
MPLS路由演示图
正常的BGP4协议只能传递工Pv4的路由,由于不同VPN用户具有地址空间重叠的问题,必须修改BGP协议。BGP最大的优点是扩展性好,可以在原来的基础上再定义新的属性,通过对BGP修改,把BGP4扩展成MP-BGP。在MP—— IBGP邻居间传递VPN用户路由时打上RD标记,这样VPN用户传来的IPv4路由转变为VPNv4路由,这样保证VPN用户的路由到了对端的PE上,能够使对端PE区分开地址空间重叠但实际并不相同的VPN用户路由。举例如下:
在PE1, PE2, PE3上分别配置VRF参数,其中VPN1用户的RD=6500:1,RT=100:1, VPN2用户的RD=6500:2, RT=100:2。所有VRF可以同时导入和导出所定义的RT。
以PE2为例,PE2从接口SO上获得由CE4传来的有关10. 1. 1. 0/8的路由,PE2把该路由放置到和SO有关的VRF所管辖的IP路由表中,并且分配该路由的本地标签,注意该标签是本地唯一的。通过路由把VRF所管辖的IP路由表中的路由重新发布到BGP表中,此时通过参考VRF表的RD, RT参数,把正常的IPv4路由变成VPNv4路由,如10. 1. 1. 0/8变成6500:1:10. 1. 1. 0/8,同时把导出(Export) RT值和该路由的本地标签值等等的属性全部加到该路由条目中去。通过MP-IBGP会话,PE2把这条VPNv4路由发送到PE1处,PE1收到T两条有关10. 1. 1. 0/8的路由,其中一条是由PE3发来的,由于RD的不同,导致该两条路由没有可比性。MP-BGP接受到该两条路由后的后继工作是:去掉VPN4路由所带的RD值,使之恢复IPv4路由原貌,并且根据各VRF配置的允许导入(Import;的RT值,把工Pv4导入各个VRF管辖的路由表和CEF表中,也就是说带有RT=100:1的10. 1. 1. 0/8的路由导入VRFl所管的路由表和CEF表中,带有RT-100:2的10. 1. 1. 0/8的路由导入VRF2所管辖的路由表和CEF表中。再通过CE和PE之间的路由协议,PE把不同的VRF管辖的路由表内容通告的各自的相联的CE中去。
目前PE和CE之间可支持的路由协议只有四种BGP, OSPF, RIP2或者静态路由。
基于MPLS的VPN的优势
1) MPLS VPN提供一个可快速部署实施增值IP业务的平台,包括内部网、外部网、话音、多媒体及网络商务:
2) MPLS VPN通过限制VPN路由信息的传播仅在VPN成员内部,可提供与第二层VPN相同的私密性及安全性;
3) MPLS VPNs提供与用户内部网的无缝集成;
4) MPLS VPNs扩展性好,每个服务提供商可以设定数十万VPN,每个VPN可有数千个现场;
5) MPLS VPNs提供IP业务类别,支持VPN内部多级别业务,VPN间的优先级,灵活的服务级别选定:
MPLS VPNs提供方便的VPN成员管理及新VPN创建功能以利于业务的快速实施;
MPLS VPNs提供可伸缩的any-to-any连接以扩展内部网及外部网从而含盖多业务。
MPLS的流量管理功能可以保证网络资源得到合理利用,保证用户申请的服务质量得到满足。