大规模MPLS网络中的新兴技术
发布时间:2006-10-14 7:10:03   收集提供:gaoqian
杨洋,伍俊洪,李惠杰,林孝康

清华大学 电子工程系 微波与数字通信国家重点实验室


  摘 要:随着网络规模越来越大,选择一个完善的网络管理框架并有效降低标签需求量对于MPLS网络而言显得十分重要。为此,探讨了基于策略的MPLS管理以及Trainet等近年来出现的大规模MPLS网络新兴技术,并与现有相关技术进行了比较。

  关键词:通信网;多协议标签交换;可扩展性;基于策略的MPLS管理;Trainet

一、引言

  多协议标签交换,即MPLS(Multiprotocol Label Switching),是一种在通信网内利用定长的标签来引导数据高速传输和交换的网络技术。自1997年由IETF(Internet Engineering Task Force)提出以来,MPLS技术得到了迅猛的发展,并被评为1999年十大热门通信技术之一。但是随着网络的规模越来越大,MPLS面临着一些问题亟待解决。首先,MPLS对于一个完善的网络管理框架的需求已经变得非常迫切。网络管理作为网络的重要组成部分,是保证网络高效、安全运行的必要支撑手段,这在大规模通信网络的运行中尤为明显。MPLS作为新一代的通信网络技术,必须借助完善的网络管理功能才能充分发挥其优势。但MPLS技术的实现比较复杂,除了对底层介质的要求很高之外,它还是一个软件密度很大的协议结构。此外,MPLS网络管理要针对MPLS网络的特点,如可变业务等级,多种业务类型,面向连接的环境等,还必须分离设备中软件和硬件的功能管理,因此MPLS网络管理框架的设计既是一个难点,同时又是一个研究热点。目前MPLS可采用的网络管理框架包括SNMPv3(Simple Network Management Protocol version 3)网络管理框架以及基于策略的MPLS管理框架等。SNMP在计算机网络中应用非常广泛,但由于SNMP基于轮询机制,是一种异步请求/响应协议,因此存在一定的性能问题,并不是大规模MPLS网络管理框架的理想选择。相比之下,随着基于策略的管理方法日渐成熟,基于策略的MPLS管理慢慢引起了人们的注意。它采用分层结构,将设备管理、网络管理和服务管理分离,较为适合大规模MPLS网络的管理,因此本文将重点讨论这种方案,并对其与传统网管方案的优劣进行分析比较。

  除了完善的网络管理框架,在保持甚至提高MPLS网络性能的基础上,如何有效减小每个LSR以及整个网络的标签需求量对于大规模MPLS网络来说也有着至关重要的意义。降低标签需求量,就意味着提高了整个MPLS网络的可扩展性。FEC(Forwarding Equivalent Class)聚合、标签合并等技术可以在一定程度上减小标签的需求量,且这些技术已经比较成熟,在其它很多文献中都有详细介绍,因此本文将重点探讨Trainet[1]这一最近出现的新技术,它可以有效降低标签需求量,提高整个网络的可扩展性,是在网络规模较大的情况下对MPLS技术的改进与发展。 二、基于策略的MPLS管理

    1.MPLS策略框架

  所谓策略,根据IETF的定义就是指一系列管理规则的集合。每条规则由条件和操作构成,当网络环境满足规则的条件时执行规则定义的相应操作。而基于策略的管理,就是指网络自动根据已确定的策略,去实施信息存取、传输以及网络设备的监控与配置,提供优化网络所必须的各项服务。



    IETF策略框架如图1所示,它由策略执行点(PEP,即Policy Enforcement Points)、策略决策点(PDP,即Policy Decision Points)、管理控制台以及用于存储策略集、用户和网络资源信息的目录服务器组成,其中PDP通常又称为策略服务器。PEP是执行和实现策略的实际网络装置,它接收来自设备的策略服务请求并转发给PDP,同时触发位于PDP中的策略决策引擎(PDE,即Policy Decision Engine),PDE将根据请求中的相关参数从目录服务器中读取资源信息和策略模式,通过推理和一致性的检测来进行策略决策,并把结果发往PEP,由PEP具体执行相关操作。而管理控制台主要用于输入和编辑策略,监控网络的状态。上述IETF策略框架主要通过对设备进行配置来管理基于DiffServ/IntServ的IP网络,并未考虑MPLS的技术特点,因此必须对现有的策略框架进行相应扩展以实现基于策略的MPLS管理。MPLS的策略框架[2]不能限于仅仅对单个设备进行管理,而是应该根据相关策略实现对网络元素的一致性配置以支持MPLS网络正常运行,并可实现自动的流量工程。

  首先需要建立一个MPLS网络模型以便进行探讨。MPLS的设计实际上就是面向区分服务模型的,因此可以将MPLS与DiffServ结合在一起保证网络QoS(Quality of Service)的实现。本文将基于单区域MPLS/DiffServ模型展开探讨。

  由于需在不同层次上对不同网络元素进行基于策略的管理,因此可在图1所示IETF策略框架的基础之上设计一个三层结构的策略服务器,从上至下依次为服务级策略、网络级策略和设备级策略。这样既可以明确不同层次的具体功能,又可以更好地定义PDE驱动事件。由于MPLS/DiffServ网络可提供的服务目前还在探讨之中,不很成熟,因此基于策略的服务级管理也还有待作进一步的研究与发展。下面将详细讨论设备级和网络级的管理技术。

    2.基于策略的设备级管理

  设备级管理主要是指对MPLS/DiffServ路由器的DiffServ部分进行配置。策略服务器需要根据路由器的性能信息来作出与设备相关的决策并对其进行合理的配置。在MPLS/DiffServ网络模型中,路由器的相关性能信息包括加权包调度器的可用性、可配置的队列、链路带宽、MPLS的信令协议信息等等,而策略服务器将要对转发包调度器的权重、队列的长度以及排队规则等作出合理决策。

    3.基于策略的网络级管理

  网络级管理主要针对标签交换路径(LSP,即Label Switched Path),包括生存周期管理、信令控制、从流量到LSP的映射、LSP之间的映射以及LSP角色指定等内容。

  生存周期管理是指将基于策略的管理思想植入LSP的整个生存周期,包括建立、释放和更新LSP等一系列操作。这些操作的触发和中止都应该由策略服务器来控制。



  信令协议必须在策略管理的控制下实现(参见图2)。举个简单的例子,当建立一条有QoS参数要求的LSP时,策略服务器根据网络资源情况以及其它性能参数将会做出允许、拒绝或者是更为精细的决策,例如提供一个较小的带宽值。

  流量映射主要由MPLS域的边缘LSR完成,但是如果建立了隧道,那么核心LSR也有可能建立流量到LSP的映射。流量映射的策略可以根据实际需要制定,例如可以将去往同一出口LSR的流量映射到同一条LSP上。

    MPLS的一个重要应用就是流量工程,在基于策略的MPLS管理技术中,流量工程的实现可以视为从LSP到其它LSP的映射。这种映射的原理和流量映射近似,只是在策略服务器中需要进行映射的对象不同而已,由此可以容易地实现自动流量工程。

    4.基于策略的MPLS管理与传统网管的比较

  通过对基于策略的MPLS管理和传统MPLS网管运行机制的分析可以将两者的优劣做如下比较:

    (1)在基于策略的管理方案中,整个网络被视为一个整体,可利用策略信息模型对其进行建模,策略信息存放在一个逻辑意义上集中的服务器内,易于进行全局管理。而在传统网管模式中,网络设备、接口、队列等对象的管理都基于设备级数据模型,其控制方式也彼此独立,难以进行全局管理与协调;

    (2)可以在基于策略的MPLS管理中引入面向对象的策略信息模型,这样网络发生的变化可通过策略结构体的形式进行描述。基于策略的管理系统可以自动修改网络行为,从而避免了在多个LSR中分别修改管理信息,提高了网管的效率。而在传统网管模式中,一旦网络状况发生变化或引入新的业务,相关LSP中所有LSR的管理信息库都要进行相应的修改,效率十分低下;

    (3)在基于策略的MPLS网络管理中,还可根据网络元素角色的不同制定相应的策略,这是传统网管所难以实现的。例如可以为每条LSP指定一个“LSP角色”,以便于策略服务器根据不同LSP的角色进行合理决策,实现相应的操作。一条LSP可以是“首要”、“次要”、“备份”以及“隧道”等不同角色。“次要”LSP可以用来分担“首要”LSP的流量,使网络资源的利用趋于均衡。当“首要”LSP出现故障时,可以启用“备份”LSP,这样网络将更加可靠。而“隧道”LSP可以用来为其它LSP提供路由服务,实现流量工程。

  通过上述比较可以发现,基于策略的MPLS管理降低了网管的复杂性,符合网络运行的内在规律,提高了大规模MPLS网络的性能。但是应当看到这种网管模式也存在着一些有待改进的问题。目前基于策略的MPLS管理框架中检测策略冲突的机制不够完善,同时策略条件和相应操作的定义通用性不强,因此在不同的网络区域内可能导致策略编辑出现不一致的现象。此外,还应该继续完善基于策略的服务级管理,实现用户请求到相关服务的映射,并且在多区域中实现互操作。

三、Trainet技术

    1.Trainet技术思想

    Trainet是MPLS的一个扩展方案,因其运行机制类似大型市区的地铁网络而得名。Trainet技术对MPLS的改进主要基于两点。首先,引入〈标签,跳数〉对代替传统MPLS网络中使用的标签,其中跳数表示在标签指定的LSP上数据包还要经过的LSR个数。这就如同地铁乘客在中途需要知道还有几站才能到达目的地一样,所以在Trainet方案中LSP被称作列车线路(TL,即Train-Line)。当跳数值为0时,数据包到达目的LSR。第二个改进思想是利用多个〈标签,跳数〉对组成序列使得不同TL前后衔接,构成一条多TL路由,就如同地铁乘客在到达目的地之前要多次换乘不同列车一样。下面将详细讨论拓扑驱动的TL建立和多TL路由技术。

    2.拓扑驱动的TL建立

  讨论拓扑驱动的TL建立有2个前提条件。首先,在Trainet中任意2个LSR之间都有TL直接互通;其次,这条TL由最短路径算法建立。

  根据上述条件,建立从源节点R到任意目的节点的TL需要构造一个以R为根的最短路径树。利用OSPF(Open Shortest Path First)的思想,可以通过在相邻LSR之间不断交换最短路径信息来更新当前的最短路径树,这样,TL可以随着网络拓扑的变化得到相应更新。在R的ILM(Incoming Label Map)表中,到达该最短路径树的任何一个叶子节点将有一条不同的TL,而在FEC表中对应于每个目的节点有一个〈标签,跳数〉对,其中标签所指定的TL会经过此目的结点,跳数表示数据包从R传到目的节点需要经过的LSR数目。可以证明,至少需要为最短路径树的每个叶子节点分发一个不同的TL标签,才能实现从根结点出发只经过一条TL就可到达任意目的结点。

    3.多TL路由技术

  在多TL路由的实现过程中利用了MPLS的堆栈机制。每个LSR都将对到达数据包头最上层〈标签,跳数〉对中的跳数值进行检查,在大于0的情况下对跳数值作减1处理并根据标签指定的TL继续转发,否则将弹出当前的最上层〈标签,跳数〉对,然后根据新的最上层标签所指定的TL对数据包进行转发。这种情况下也可以在TL的倒数第二跳就弹出标签,这样TL的目的LSR可直接将数据包在新的TL上进行转发,这通常被称作倒数第二跳弹出机制,已在MPLS网络中广泛采用。

  如果需要建立的显式路由所经过的路径都已经被网络已有的不同TL覆盖,那么根据每个LSR中TL信息存储的不同情况,可分别讨论2种多TL显式路由的建立技术。

  一种情况是每个LSR中都存有从自身经过的所有TL的详细信息,这包括每条TL的具体路由以及从该LSR到每条TL途经的各个LSR之间的跳数值等等。这种情况下建立多TL显式路由的算法是,在所有从源LSR经过的TL中选择一条在显式路由所在路径上延伸距离最长(即LSR跳数值最大)的TL,这就是组成多TL显式路由的第一段TL。将该TL的标签和相应跳数值以〈标签,跳数〉对的形式记入路由建立消息,并使其沿着这条TL传输到对应于最大跳数值的LSR。然后再以这个LSR为源节点,重复上述算法,直至最终到达显式路由的目的节点。此时应将路由建立消息传回源节点以完成显式路由的建立。路由建立消息中提供了一个〈标签,跳数〉对序列,它指定了从源节点到目的节点的显式路由。可以证明,对于给定的显式路由,上述算法所确定的TL数目最少。

  另一种情况是LSR中没有从自身经过的TL的详细信息,在这种情况下需要利用LSR中的ILM表和FEC表来建立显式路由。源LSR在路由建立消息中记入覆盖显式路由第一段链路的所有TL后将此消息传向下游LSR,后者在路由建立消息中保留那些仍然覆盖显式路由后续链路的TL,并继续向下游传递,直到某个LSR发现已经没有继续覆盖显式路由后续链路的TL,这时仍然留在路由建立消息中的TL就是显式路由的第一段TL。然后再以这个LSR为源节点,重复上述算法,直至最终到达显式路由的目的节点。

  在第一种情况中,由于无需携带TL集,因此路由建立消息数据量较小,但是每个LSR中的数据结构较为复杂;而在第二种情况中恰恰相反。实际应用中可以考虑将这两种方法混合使用,以使路由建立消息和LSR的数据结构都不至于太复杂。

  为了减少标签使用量,在TL的建立过程中,如果所在链路有一部分被已有的TL覆盖,并且该TL的末端LSR也在该链路上,那么在此LSR之前的所有节点都可以在新建TL中使用已有TL的相应标签。如何更好地利用网络已有的TL,使网络资源的使用更加均衡,同时降低路由的建立开销,这是一个复杂的优化问题,本文不作过多讨论。

    4.Trainet技术与现有相关技术的比较

  通过对Trainet技术思想和具体实现的分析和讨论,我们可以将其与传统MPLS等相关技术进行以下比较:

    (1)Trainet技术通过引入〈标签,跳数〉对代替了传统MPLS网络中使用的标签。这样,一个标签可以指定一条LSP的所有子路径,从而提高了每个标签的利用率。这项技术使得在一条LSP上传输的数据包可根据自身需要停止于其经过的任何一个LSR,而在MPLS网络里数据包必须到达LSP上的最后一个LSR。举个简单的例子,在环形MPLS网络中,需要为每一个可能的目的节点分发不同的标签。而在Trainet中不论环形网的规模如何,只需为顺时针和逆时针两个方向各分配一个标签,通过〈标签,跳数〉对中的跳数值即可确定目的节点;

    (2)拓扑驱动的TL建立方案可以有效减少每个LSR的标签需求,所节约的标签数量应等于最短路径树中全部节点与叶子节点数量之差。根据图论的相关理论可知,k元正则树中叶子节点与所有节点数量之比为(k-1)/k。如果以k元正则树结构来近似最短路径树的话,拓扑驱动的TL建立方案将比MPLS节省1/k的标签量。根据文献[3]中对Internet的统计数据可知,实际网络中k的典型值较小,以k=3估算则标签节省率达1/3;

  (3)MPLS可以通过显式路由实现流量工程,但是需要为每条显式路由分配不同的标签,这将大大增加系统内的标签需求量。在IP技术中实现显式路由需要在每个数据包头中记录该显式路由所要经过的所有路由器信息,这将增加包开销,并加重路由器的处理负担,显然也不能令人满意。而Trainet技术利用多个〈标签,跳数〉对组成序列使不同的TL前后衔接形成一条多TL路由,这样既能保持较小的包头开销,又可在基于标签的交换网络中降低标签使用量,是实现显式路由较为理想的选择。

  通过上述比较可以看出,Trainet技术减少了整个MPLS网络和每个LSR的标签使用量,对于给定的标签量,可以支持更多的业务流和更大的网络规模,此外Trainet技术还可以通过利用网络中已有的LSP进行数据传输从而减小LSP的建立开销。

  虽然具有诸多优点,但Trainet技术的应用必须满足下面2个条件:首先,由于引入了〈标签,跳数〉对,从而每个LSR都必须具有判断到达数据包中跳数值是否为0以及对跳数值进行减1的功能,因此这项技术必须得到LSR的硬件支持;其次,在多TL路由技术中,需要利用MPLS的堆栈机制,LSR应具有压入和弹出标签的功能。

四、结束语

  本文探讨了在网络规模越来越大的技术背景下,MPLS面临的问题以及相应的改进与发展。基于策略的MPLS管理突破了传统网管仅仅对设备进行配置的局限性,可根据网络实时资源情况,制定相关策略实现对网络元素的一致性配置,降低了网管的复杂性,提出了一个解决问题的新思路。而Trainet技术在MPLS的基础之上引入〈标签,跳数〉对的概念,有效降低了系统的标签需求量,在改善网络性能的同时提高了可扩展性。这些新技术无疑将推动MPLS网络向着更完善、更灵活、可用性更高的方向继续发展。

参考文献

[1]Yehuda Afek, Anat Bremler-Barr. Trainet: A new label switching scheme[A]. INFOCOM 2000[C]. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies, Proceedings(Vol.2).IEEE,2000.874~883.

[2]M Brunner,J Quittek. MPLS management using policies[A]. Integrated Network Management Proceedings[C].2001 IEEE/IFIP International Symposium on, 2001.515~528.

[3]M Faloutsos, P Faloutsos, C Faloutsos. On Power-law relationships of the internet topology[A]. Proceedings of the ACM SIGCOMM 1999[C].1999251~262.

[4]石晶林, 丁炜. MPLS宽带网络互联技术[M]. 北京: 人民邮电出版社, 2001.

[5]吴江, 赵慧玲. 下一代的IP骨干网络技术-多协议标记交换[M]. 北京: 人民邮电出版社, 2001.


摘自 北极星电技术网
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50