多协议标志交换基本原理
摘 要:就当前网络发展趋势,阐述了多协议标志交换(MPLS)技术的起因,原理及其优势。
要害词 IP ATM Routing 路由 Switching 交换 MPLS 多协议标志交换 LSR 标志交换路由器 LSP 标志交换路由
MPLS的特点
传统的IP数据转发是基于逐跳式的,每个转发数据的路由器都要根据IP包头的目的地址查找路由表来获得下一跳的出口,这是个繁琐又效率低下的工作,主要的原因是两个:1、有些路由的查询必须对路由表进行多次查找,这就是所谓的递归搜索;2、由于路由匹配遵循最长匹配原则,所以迫使几乎所有的路由器的交换引擎必须用软件来实现,用软件实现的交换引擎和ATM交换机上用硬件来实现的交换引擎在效率上无法相抗衡。
MPLS技术的提出主要是为了更好地将IP与ATM的高速交换技术结合起来,发挥两者的优势,充分利用目前ATM网络的各种资源,实现IP分组的快速转发交换;对传统的IP动态路由进行一些扩展,基于控制的动态路由(Constraint-Based Routing)实现IP业务流量控制、虚拟专网应用(BGP/MPLS VPN)及IP级的服务质量(IP Cos)。
多协议标志交换(MPLS)技术与其它技术相比具有三个特点:
(1) MPLS交换与传统IP路由不同,它是基于一种显式的路由交换(eXPlicit routing),源地址路由方式。
(2)MPLS中所使用的标志(label)没有固定的格式,随着下层媒体的变化而变化,对于ATM媒体,标志是ATM的VCI/VPI,对于帧中继为DLCI,对于X.25为LCN。
(3)MPLS的路由控制治理是一种面向网络拓扑的实现,网络拓扑驱动(topo-driven),只有当整个网络拓扑发生变化时,MPLS的路由转发表才会发生变化,而不且随网络中某个应用服务、某台工作站的改变而变化。
在基于ATM的MPLS交换技术中,“标签包装”的原型与ATM交换机转发信元非常相似;从另一角度看,在一个标志交换的环境中,ATM交换机将更像是一台快速的路由器。MPLS的典型方法是,为第3层路由表中的路由前缀分配一个特定含义的标签。这种拓扑驱动(topology-driven)的标志分配技术有别于其它基于流驱动(flow-driven)的分配技术,在MPLS中所分配的标签仅随路由前缀的变化而变化,其变化频率相对会低得多。显然,因为这种技术实现独立于数据流,而采用目的地地址,因此具有很强的可扩展性。在某种程度上,标志交换有些类似于帧中继采用数据链路连接标志符(DLCI)来执行高速的交换功能。当被标志的分组最终到达标志网络的出口时,就被移去标志,分组由传统的第3层路由进行转发。
MPLS协议和功能
(2)标志交换转发部件
标志与分组的绑定有若干种方式。对一些网络可以将标志嵌入到链路层的头端(ATM VCI/VPI,和帧中继的DLCI)。有时也可以将它嵌入至位于数据链路头端和数据链路协议数据单元(PDU)之间的小标志头端(如,位于第二层头端与第三层数据负载之间),称为“Shim”。这种标志信息能够在链路层进行承载,“shim”结构可以用于Ethernet, IEEE802.3, 或点对点(PPP)链路上,其中一个是为单目广播(Unicast),另一个是为多目广播(Multicast)。
在MPLS骨干网络边缘,边界LSR对进来的无标志分组(正常情况下)按其IP头端进行归类划分(Classification)及转发判决,这样IP分组在边界LSR被打上相应的标志,并被传送至到达目的地地址的下一跳。在后续的交换过程中,由LSR所产生的固定长度的标志替代IP分组头端,大大简化了以后的节点处理操作。后续节点使用这个标志进行转发判决。一般情况下,标志的值在每个LSR中交换后改变,这就是标志转发。
在中间LSR中MPLS的转发步骤如下:第一步:从分组中获取一个标志;第二步:从LFIB中查找一条其进入标志等于分组标志的条目;第三步:将条目中的出口标志替代分组中的标志;第四步:将分组从条目中所指定的输出端口送出。当中间LSR收到标志分组,该分组标志首先被提取出来,并做为索引在LSR中的转发表中进行查寻检索,一旦发现了与输入标志匹配的条项,就提取出条项中的输出标志重新加到分组,并将新组合的分组送到条项中指向下一跳的输出接口(对于多目广播要涉及到多个输出端口)。标志转发表可以在节点级(即每个节点一个表)或在接口级(每个接口一个表)来实现。
假如分组从MPLS的骨干网络中出来,出口边界LSR发现它们的转发方向是一个无标志的接口,就简单地移除分组中的标志。这种基于标志转发的最重要的优势在于对多种交换类型只需要唯一一种转发算法,可以用硬件来实现非常高的转发速度。
IP分组包在边界路由器处被标志上一个“标签”,并按照这种标签在标志交换机中进行转发。这些标签的值在每一个跳级(Hop)只具有本地意义,进入分组上的标签用来决定该分组的路径并在下一个跳级被包装上新的相应的标签。在到达标志交换路径的最后一个标志边界路由器时(即下一跳级不支持标志交换),标签就被剥除,分组被正常转发。由于沿路转发节点仅读非常简单的标签,而不是在分组头端上的IP地址信息细节来进行转发判决,IP通过网络的交换速度将大大增加,并且在同一个消息中的所有其它分组也会沿着相同的路径通过网络。
(3)标志交换控制部件
标志由标志交换路径(LSP)的上游LSR(Upstream LSR)节点来附加至分组中,下游LSR(Downstream LSR)收到标志分组后判决处理,这由标志交换的控制部件来完成。它使用标志转发表中的条项内容作为引导。标志交换控制部件除了基本的表的建立和维护外,还负责以一种连续的方式在LSR之间进行路由的分布及进行将这些信息生成为转发表的操作。标志交换控制部件包括所有的传统路由协议(如,OSPF,BGP,PIM等等)。这些路由协议为LSR提供了FEC与下一跳地址的映射。另外,LSR还必须:在标志与FEC之间建立绑定;将这些绑定向其它LSR分布;构建它自己的转发表。
绑定技术有多种选择,建立标志流的决定可以基于多个标准(如数据源地址)。数据驱动(data-driven)的标志绑定技术仅当有需求时才建立激活的标志绑定。当网络拓扑和流量的变化时,绑定信息都需要重新分布。拓扑驱动(topo-driven)又称为控制驱动 (control-driven) 绑定,是基于对路由处理和资源预留所产生的治理信息。尽管两种方法目前都有使用,但新出现的MPLS标准应该基于控制驱动的模式。
标志信息的分布(Distribution):标志交换转发表中的条项内容最少应能提供输出的端口信息和下一个新的标志,当然也可以包含更多的信息。例如,它可以为被交换的分组产生一种输出队列原则。输入分组必须在转发表中有唯一的条项与之对应。
每一个分配的标志必须与转发表中的一个条项相关联起来。这种绑定可以在本地LSR执行或在远端LSR执行。目前MPLS版本使用下游绑定,这种情况下,本地关联的标志用作进入分组标志,而远端关联标志用作输出标志。另一种方式为上游绑定,与下游绑定相反,也是一种可行的方法。在MPLS技术中,转发表又称为标志转发信息库(LFIB),LFIB的每一个条目中包括输入标志,输出标志,输入接口和输出端口MAC地址,由输入标志对条项进行检索查找。
MPLS体系结构既使用了本地控制(LSR无需等待接收到从邻居发来的FEC绑定,就可以决定创建并广播一个FEC的绑定信息),也使用了出口控制(LSR在分配一个标志并向它的上游广播前必须等待从它的下游节点邻居接收到绑定信息)。FEC与标志的绑定信息向邻居进行广播,来建立各自的转发表。在转发表中的信息也必须持续地跟踪变化,这样不会导致基于标志的交换出现错误。
标志信息分配的两种方式:
在传统路由协议上承载(piggybacking)——MPLS标志绑定信息符加在传统的路由协议中进行分布,这只能由控制驱动的方案来支持。在正常的路由协议操作上承载,确保了转发信息的一致性,避免使用其它附加协议。不足处在于,并非所有子网都使用路由,也并非所有路由协议轻易对标志进行处理,因此这不是对标志分配比较完善的解决办法。
使用标志分配协议(Lable Distributing Protocol)——Cisco基于其标记交换(Tag switching)技术提出了标记分配协议(TDP),MPLS工作组以它为基础又定义了一种新的标志绑定信息的分布,称为标志分布协议(LDP)。LDP可以适用于控制驱动和数据驱动两种方案。而LDP的缺点就是它增加了实现的复杂性(对新协议的支持),并且它仍需与相关的动态路由协议配合使用。
MPLS中LDP的定义还尚未完全,更为深入的研究还在进行中,目前已经有了LDP的V1.0版本。
(4)标志交换路由器(LSR)
MPLS的设备按其在MPLS路由网络中所处的位置可分为边界标志交换路由器(Edge Label Switching Routers)和中间标志交换路由器(Transit LSR)。边界标志交换路由有进口/出口边界交换路由器,进口边界LSR负责在标志交换路径(LSP)的起始处对正常分组封装标志;出口边界LSR在LSP的未端负责对标志分组剥除标志封装还原为正常IP分组,向目的地传送。而网络中的其它LSR仅负责基于到达分组的标志进行快速准确的路由。
边界LSR除对分组的标志进行符加或移除外,还负责对流量进行分类。标志的分配除了基于目的地地址外还有其它很多因素。边界LSR判定流量是否为一个长持续流,采取治理政策和访问控制,并在可能的情况下将普通业务流汇聚成较大的数据流。这些都是在IP与MPLS的边界处所要具有的功能,因此边界LSR的能力将会是整个标志交换环境能否成功的要害环节。对于服务提供者而言,这也是一个治理和控制点。边界LSR应能具备以下能力:
线速(wirespeed)IP流分类能力:这可以答应这些产品在不降低转发性能的情况下来分配服务质量(QoS)值及向IP流分配标志;扩展的VPN能力:利用MPLS来提供VPN服务,这要求能有多个转发表运行,来区别不同的VPN用户。
2. 3 MPLS和ATM协议关系
MPLS为公共的转发算法,基于标志的交换技术,在与ATM技术的结合上,MPLS使用ATM的用户平面(user plane),以ATM的VPI/VCI作为其标志;MPLS的控制功能部件,以网络层的动态路由协议(如:IS-IS,OSPF,BGP,PIM)及标志分配协议(LDP)来替代ATM传统的控制平面,完成对整个MPLS网络的控制功能。
结束语
基于MPLS的思想框架,MPLS的优势主要体现在以下几点:将传统的基于IP分组中头端信息进行IP的路由转发的机制淘汰下来;在一种公共转发算法(标志交换)上提供了多种路由方案(如基于目的的显式路由等);将ATM技术与IP技术灵活地结合起来,从控制平面看具有MPLS功能的ATM交换机则更像是一台路由器。使用MPLS使各种IP的业务应用成为可能,如:基于IP的VPN,IP级业务服务质量保证,骨干网络流量控制。 MPLS交换主要目的是为下一代的多用户,多服务的Internet骨干网络提供一种路由交换的技术基础。各网络厂商纷纷推出基于各自特点的MPLS的技术实现及设备,比较成功的有Cisco、Juniper、LUCent等厂家。看其发展趋势,MPLS必然会在不久的几年内完成各种方面的标准制定,真正成为下一代Internet的路由技术主流。