MPLS的研究发展及其关键技术综述(李珂、顾尚杰、诸鸿文)
摘要:MPLS技术正在快速发展以提高Internet的转发速度和可扩展性以及提供更
好的服务能力。本文介绍MPLS的总体框架,论述了MPLS目前急需解决的关键技术及其
最新研究进展情况。
关键词:ATM IP 多协议标记交换(MPLS) VC合并路由环
一、概述
近年来,随着WWW的巨大成功和日益普及,Internet在全球范围内呈爆炸性增长,
Internet上的主要业务由传统的文件传送、电子邮件和远程登录等转向多媒体应用丰
富的WWW。网上信息流的持续增加,由多层路由器构成的传统网络趋向饱和,多媒体
通信的迅猛发展(如网络电话、电子商务、视频会议等),要求网络能提供具有不同
QOS等级的综合业务(如时延、带宽、分组丢失率的保证),由于Internet采用面向
无链接的IP协议,只能提供尽力而为(best-effort)服务,因此无法提供QOS保证。
当现有Internet规模扩充到一定限度后,将在许多方面(带宽、路由、网络扩展性、
QOS)面临挑战。
ATM技术的出现为解决Internet困境带来了契机,IETF制定了经典的IPOA(Class
ic IP overATM),ATM论坛制定了局域网仿真和MPOA(MultiProtocol over ATM),
有的已经得到了广泛的应用。但这些方案均不够理想。由于在早期的方案中,所采用
的是叠加式(Overlay)模型。其优点是减少了ATM与IP的相互限制,有利于它们独立
地发展并向未来的B-ISDN过渡;但缺点是IP技术和ATM技术不能有效地结合,无论是
分组的封装效率、建链的时延、对组播的支持以及对QOS的支持都不理想。
近几年的发展已清楚表明IP将是下一个世纪网络的主宰。因此,如何使ATM技术
融入IP,如何将路由和交换结合起来,如何解决IP无连接和ATM面向连接的矛盾,以
支持规模日益增长的Internet和多媒体业务,成为目前研究的热点。众多厂商和学者
提出了许多新方案、概念和名词,如IP交换、CSR、Tag交换、ARIS、MPLS等。
本文将简要介绍MPSL技术的基本原理及其急需解决的关键技术。
二、MPLS的总体框架
1997年,由多家公司联合向IETF提交了MPLS(多协议标记交换:Multiprotocol
LabelSwitching)框架及体系结构两个草案文档,它以Cisco公司的Tag交换为基础而
又综合各家之长。MPLS中引入了非常多的新概念和术语,其中比较关键的有:①Lab
el(标记):用于表示FEC的固定长度的标识符,仅具有局部意义;②LSR(标记交换
路由器):支持第三层前传的MPLS节点;③FEC(等效前传类):以相同方式(如:
通过同一条路径,受到LSR相同的前传处理)进行前传的一组IP分组;④Label Sta
ck(标记堆栈):一组有序的标记,不同位置的标记代表着不同的层次;⑤LSP(标
记交换路径):一个特定的FEC在同一层次上经过LSRS所形成的路径;③LDR(标记分
发协议):一个 LSR通知其它LSRS关于标记/FEC绑定信息的一系列过程。
在面向无连接的网络中,每个路由器通过分析分组头来独立地选择下一跳;而分
组头中含有比需要用来判断下一跳多得多的信息。选择下一跳的工作可分两部分:将
分组分成FECs和为FEC选择下一跳;在传统IP前传中,每个路由器对同一个FEC的每个
分组都要进行分类和选择下一跳;而在MPLS中,对于一分组,只是在它进入网络时进
行FEC分类,并分配一个相应的标记;网络中的LSR则不再需要对网络层头进行分析,
直接根据标记进行处理。有些传统路由器在分析分组头时,不但决定分组的下一跳,
而且要决定分组的业务类型(COS:Class of Service),以给予不同的服务规则。
MPLS可以(但不是必须)利用标记来支持COS,此时标记用来代表FEC和COS的结合。
MPLS可以支持任何网络层协议,但实际上,MPLS工作组仅考虑IP协议。
来自路由协议的信息用于分配和分发标记。一般来说,由下游节点向上游节点分
发标记,连成一串的标记就构成了LSP。在单播中,LDP有两种方式产进行标记的分发:
独立方式(Independent)和受控方式(Ordered)。在独立方式中,任何节点可以在
任何时候为每一个它认识的流进行标记分发;受控方式中,一个流的标记分发从这个
流所属的出口节点开始,这样可以保证整个网络内标记与流的映射是完整一致的。
标记分配由下游执行,而下游节点由路由决定,也有两种发配方式:下游(dow
nstream)分配和下游按需(downstream-on-demand)分配。前者由下游分配标记,
并分发到邻近的LSRS;后者则由上游LSR为一个流向下游LSR提出标记分配请求,这在
ATM网络中很有用,因为ATM不能进行LSPs的合并。
不论是独立还是受控方式,可以采用自由模式(liberal mode)或保守模式(co
nservative mode)分发标记。在自由模式中,向所有邻近的LSRS分发一个FEC的标记,
而不管自己是否是这些节点在此FEC上的下一跳。这样做的优点是当路由发生变化时,
可以立即使用预先分发好的标记,但这将消耗更多的标记。保守模式只分发给下一跳
是自己的那些节点,这样可以节省标记空间。
MPLS中一个关键部分就是可以将同一个标记(或LSP)分配到多个流上。MPLS支
持标记的不同层次的颗粒化(granularity)。根据对共享标记和最大程度获得交换
的好处之间的折中,可以选择不同的颗粒化。常用的颗粒化有:
·IP地址前缀(IP Prefix):具有相同的目的网络地址将共用同一个LSP,与自
由方式配合使用,可以使标记一次性完成分配;
·出口路由器(Egress Router):有同一个出口路由器的所有IP地址共用相同
的LSP,扩展性最好;
·应用流(Application Flow):扩展性最差,但保证了端到端的交换。
因此,典型的LSP是一棵多点到点的树,多个流在某些节点上汇聚成一个流,这
使得MPLS可以用O(n)数量级的标记来进行流量交换,极大地增加了扩展性;但前提
是LSRs必须支持流合并,这在ATM网络中存在问题。
MPLS通用头(shim)可以灵活地封装到不同的位置,可以在第二层头或第三层头
中,甚至可以在第二层与第三层头之间,而且根据不同的数据链路层将有不同的格式:
例如在点到点网络中,就封装到PPP头的后面;而在ATM网络中,则将标记映射到VPI
/VCI中。Shim的格式支持标记堆栈,进入网络的数据可以携带多个标记;这些标记
采用先进先出的难栈方式,这使得MPLS支持层次化操作。例如在域内(intra-domain)
用第一个标记,而在域间(inter-domain)用第二个标记;而且LSRs对于标记的处理
方式与标记堆栈完全无关,它永远是对最上面一个标记进行操作。
三、MPLS的关键技术
1.VC合并(VC Merging)
MPLS通过对标记不同粗细程度的分类和流合并两种方法将网络的连接数从0(n2)
降到0(n),从而极大地增加网络的可扩展性。当MPLS运行在基于帧的媒质上时,流
合并很简单,所要做的仅仅是要求节点将多个上游标记对应到同一个下游标记,这也
称为帧合并。但是在ATM上就会产生问题。在ATM中,MPLS的标记对应于ATM信元中的
VPI/VCI域,因此流合并意味着VPI/VCI合并。但是标准的ATM交换机不支持VC合并。
如果直接将不同的VC合并成同一个出口 VC,不同分组的信元就会交错在一起,而且
接收方没有办法能分辨出来。一种可行的方法是用VP而不是VC来进行流合并,通过对
每个VP分配不同的VC空间来解决信元交错问题;但这样将极大地降低VPI/VCI的利用
率,而且需要机制来进行VC空间的分配。
VC合并要求ATM交换机对不同人口 VC进来的分组先进行串行化,这就要求ATM交
换机中有额外的缓存。对此MPLS工作组在1999年9月指定的标准中提出了一种解决方
案,并初步研究了在输出缓存采用FIFO时它的性能。研究结果表明,这种方案十分可
行。
2.路由环(Loop)的防止与检测
由于LSP的建立基于路由信息,因此LSP有可能也形成环路。在传统的IP网络中,
IP通过TTL域来减轻进入路由环的分组对整个网络的影响。但是ATM和Frame Relay均
不支持TTL。因此MPLS工作组提出:“必须要有某种机制,防上路由环产生,或者(
并且)保留一些网络资源可以用于路由环所产生的消耗。”有两种方法来处理路由环:
检测和防止。对于检测方式,允许路由环存在,但MPLS将会检测到它并进行删除或弃
用;对于防止方式,MPLS将提供机制来杜绝路由环的生成。
可以通过在MPLS消息中加入路径矢量域来检测路由环。路径矢量域中包含了前传
某个流的每个节点的标识符。当某个节点收到这个域时,就检查自己的标识符是否已
经在路径矢量域中:如果已经有了,则表明产生了回路;如果没有,则将自己的标识
符加到路径矢量域中并前传MPLS消息。
ARIS提出了一种扩散算法(diffusion)来防止路由环。对于某个流,当某个节
点的下一跳发生变化时,首先用diffusion算法来判断是否会产生路由环。在执行完
毕之前,仍沿用旧的路径来发送数据。MPLS工作组也在考虑其它扩展性更好的机制。
在1999年5月提出的Internet草案中提出了一种线程机制(Threads Mechanism)。
当一个节点(比如入口节点)想建立LSP或它的下一跳发生改变时,它向下游节点发
送一个thread,thread由唯一的颜色(color)、跳数(hop count)和TTL三部分组
成。如果节点收到了由它先前发出的thread,则说明有回路产生;如果它收到出口节
点发回的确认消息,则说明不会形成回路。虽然线程机制功能强大,但操作过于复杂,
而且节点必须保留经过它的所有thread的信息。由于目前的LDP(标记分配协议)有
路由环的检测功能,因此1999年6月提出的Internet草案中提出了一种简单的防止机
制来配合LDP:其工作原理与数据流的流向和树的类型无关,可以很好地支持组播。
通过向树的根节点发送标记合并消息(label splice message),并等待根节点的确
认消息来判断是否存在环路。它没有提供检测控制消息的环路的方法,不过LDP已有
相应的解决办法。MPLS工作组目前仍未决定究竟选哪种机制。
3.RSVP与MPLS
已有人提出通过直接路由将RSVP和MPLS结合起来,并可以用于流量工程(traff
icengineering)。草案规定了如何对RSVP流进行标记的分配和绑定,并通过RSVP的
消息(PATH和RESV消息)来传送相应信息。其中需要解决的问题有:当ATM不支持流
合并时,要为每个发送方分配一个标记,此时如何将一组标记作为整个来进行资源预
留;如何在ATM中进行TTL处理;如何在共享煤质上进行标记分区等。
当RSVP路径因某种原因发生故障时,RSVP将采用普通的best-effort路由来前
传,而这与流量工程的目的相矛盾:因为当一部分流量采用预定的路径时,另一部
分流量却采用动态路由。而且,当一条路径的一部分采用预定的路径,而其它部分
采用动态逐跳路由时,有可能出现永久路由环。
4·MPLS在共享媒质中
现已提出两种方案,一种是将shim头放在MAC头和网络层头之间,当数据在共享
媒质中前传时,不使用shim头,而仅在共享媒质的边界路由器使用;另一种机制是
通过重新定义目的MAC地址的语义,将标记编码到MAC头中,这样就不需要象第一种
方案那样要对帧进行分段,而且网桥可以具有路由功能。但它的缺点是无法和现有
的LAN互通。
四、结束语
除了以上提到的,MPLS工作组对一些方面的问题还没有充分涉及到。例如与其
它许多已比较成熟的IP over ATM技术之间的互操作性等。总之,MPLS还是一项非常
不成熟的技术,许多方面仍在进行标准化过程,仅有草案。到目前为止,在1999年3
月通过了RFC2547(提出了一种ISP如何利用MPLS和BGP在主干网上为企业提供VPN的
方案);1999年9月通过了RFC2682(提出一个实现VC合并的简单模型,并进行了初
步性能分析)、FRC2702(给出了在MPLS中提供流量管理的要求)。对许多关键问题
仅提出粗略的解决方案,也没有任何性能上的测试和验证;有些则还处于初步阶段,
如:组播、路由跟踪(traceroute)、O&M、用于政策路由的直接路由以及安全性等
方面。预计相应的标准要到2000年才能制定出来。
|