分类:
2012-06-13 10:27:21
原文地址:深入分析MPLS思想、机制及其原理 作者:bolix
一、网络的发展
然而,在二十多年后的今天,无论是网络的基础下部结构通信,还是上部推动力消费需求,都已发生了很大的变化。从通信技术的发展看,目前的主干网络达到了每秒几十个吉比特的速度,带宽瓶颈已得到了很大的缓解,已有能力提供更好的服务;从客户角度看,用户对网络的需求已不仅仅限于数据,而是进一步上升为语音、视频等的传送。用户对传送的可靠性、时延、时延变化等传输质量有了更明确的要求;从网络服务商的角度看,提供高层次的服务,推出新的业务(如VPN等)以开发高层次用户的消费,也是开发新的利润点的来源。所有这些因素,都说明传统的IP网络已不太适应时代的要求,都推动了下一代网络的发展。作为下一代网络,对以下技术的支持是必不可少的:
(1)服务水平(QoS)保证如,语音需要低的延迟和小的时延变化,视频需要很高的带宽等。
(2)流量工程(Traffic Engineering)能力 :从网络管理者的角度看,他总是要使网络资源尽可能地被利用。因而,如何使网络流量均衡地在网络中分布,而不是总是沿着传统的OSPF最短路径(容易造成网络部分拥塞,部分却利用不足),是下一代网络必须要解决的问题之一。
(3)对虚拟私有网(VPN)的支持 :VPN是正在兴起的应用。VPN允许客户通过公共网络,组成一个私有局域网,而不受地域的限制。服务提供商们保证这个私有网内传送的质量及传送的安全保密。
支持以上3种技术要求一个网络是基于限制 (constrainbased)的,并且支持确定路由(explicit route)。基于限制的特征使网络能够为一个连接保留带宽等资源,从而保证传输质量。支持确定路由意味着网络具有按照预先确定的路径建立真正的传输路径的能力。这保证了网络具有流量工程的能力。?
二、MPLS介绍
MPLS(Multiprotocol Label Switching)是20世纪90年代末出现的网络技术。名称中的多协议是指该协议支持多种协议的传送,标记交换是指该系统的转发依赖于标记。标记是一个长32b,其位置和值依赖于具体的物理网络的不同而不同的值,目前,对标记的位置和值有3种不同的规定:
(1)在ATM网络中,标记的值是ATM的VCI/VPI,其位置位于IP包的第二层地址。
(2)在帧中继中,值是DLCI,位置位于IP包的第二层地址。
(3)在最普通的情形中,标记的值未作规定,其位置位于IP包的第三层地址与第二层地址之间。如图1所示。
与传统的网络相似,MPLS系统也包含以下4个部分:
(1)一个信息交换机制用来提供网络资源信息。传统IP网络利用IGP协议,让每个路由器广播自己的连接信息,来达到互相之间拓朴信息交换的目的。MPLS扩展了IGP协议,让其还携带诸如最大连接带宽、最大可保留带宽、目前带宽保留率等信息。
(2)一个路径选择过程利用上述信息挑选一个满足用户数据流需求,同时符合流量工程需求的路径。这个过程能用一个基于限制的路由计算算法实现。
(3)一个信令过程用来建立路径和保留该路径的资源。
(4)一个包转发机制用来转发数据包。
上述4个过程中,第1个过程实现较简单。第2个过程与流量工程算法有关,依赖于不同的评价指标及算法。第3,第4过程是MPLS转发机制的主要实现部分。目前,用来做MPLS信令协议的主要有2个,即:资源保留协议流量工程(RSVPTE)[1],基于限制的标记分配协议(CRLDP)。两种协议的实现过程大体相同,细节上则有很多区别,这里不赘述。?
三、标记的思想
映射
传统的IP转发机制需要对IP头标进行分析,以确定目的地的网络地址。然后根据路由表找到对应的下一驿站网络地址,然后据此转发。标记转发只需根据转发状态表就可以找到去往下一站的端口,无需分析。标记转发相比传统的IP转发要简单,然而却可实现更多的功能如QoS,流量工程等,这是什么原因呢?总结前面的介绍可看出,标记转发的思想其实是将包转发过程中所需的复杂的信息(QoS,路由等)映射到一个简单的可自由分配的标记中,即:(Layer2ID;Layer3ID;QoS)Lable
MPLS利用该标记的简单性,实现转发的快捷性;利用标记对QoS的映射,实现QoS能力;利用标记对第三层地址的映射,使标记能象IP地址那样,具有兼容各种不同物理网的能力。此外,标记本身也可直接包含网络的第二层地址,如ATM VCP/VPI(这种情况下标记的转发速度可达到第二层的转发速度);标记也可直接具有物理意义等。总之,标记通过映射实现了简单性与复杂性的结合。
工作的转移
与基于路由表的传统IP转发机制相比,用标记转发仅需分析IP头标一次,因而包转发速度可得到提高。然而与传统的IP机制比,建立和维护路径的开支却大了许多。可以这样认为:MPLS其实是把一部分正常转发过程中所需要做的重复的工作,转移到了路径的建立过程中。 这样做,对于需要一次传输大量数据的转发而言,是可以大大地提高效率的。但对于那些一次只需传输很少数据的传输而言,则是得不偿失的。这种工作的转移其实也是造成MPLS可扩展性问题的根本原因。
局部路径
对一个普通的IP包而言,在一个自治系统内,每个路由器都必须能识别他的目的地地址,否则就无法转发。而由于目的地地址可能是全局中的任何网络,因而每个路由器必须建立和维护一个庞大的目的地路由表(其表项数为整个自治系统内的网络数,其实自治系统的机制也是为了解决路由表过大的问题)。除了维护代价之外,路由表太大造成的问题是:为了找出一个IP包的下一转发站,必须进行的平均匹配操作次数也随着增大。这样就加大了路由器的负担,也造成了更长的转发延时。
然而对MPLS的标记转发而言,标记却是局部的。MPLS的路径其实是由一连串的局部标记组成的。每一个标记只负责局部的路径转发工作。这样,就造成了一种可能:许多总体不同,但局部相同的路径在局部可以合并,即:在局部他们拥有相同的标记。例如,假设图2存在着两条路径分别为:D-E-B-C-D和F-E-B-C-A,则在LSR B上,这两条路径的转发状态表可以是一致的。 ?局部路径的合并能大大的减小转发状态表的规模,同时也能减少转发时的匹配操作次数。
标记值
仔细考虑标记的意义发现,标记值其实是用来表示2个路由器之间约定的连接及其连接特性的。如图3所示,标记值50存在于上游路由器的出端口,下游路由器的入端口中。这样,标记值50表示的是这2个路由器之间的一个连接。
理论上,表示这个连接的可以是任何数只要不与其他连接混淆。然而实际上,标记值可被进一步用来表示这个连接的物理属性。例如,在光纤网络中,标记值常用来表示这个连接的波长、频率等。
与传统IP网络的关系
值得注意的是,MPLS并没有取代IP协议。相反,MPLS还依赖于IP协议在MPLS路径建立之前的信令过程必须运行于IP协议之上。MPLS也与目前的IP网络相容,即2个协议可以互不干扰地在一起工作。此外,在某些场合,仅需改变软件就可以使目前的路由器变成MPLS标记交换路由器(LSR),这无疑可以大大地节省投资。?
四、结束语
MPLS在传统的IP网络基础上,不但提高了包转发速度,而且还使传统的IP网络具有了QoS和流量工程的能力。MPLS能够满足现代网络的要求。目前,影响MPLS进入大规模应用的主要问题是扩展性问题。
MPLS主要是通过将第2层、第3层IP地址及QoS等信息映射成一个简单的标记来实现上述功能的。标记的局部性使得路径在局部合并成为可能,这样大大地减少了转发状态表的规模。MPLS与传统的IP网络的兼容性为其进入实际部署提供了可靠的保障。