admin 管理员组

文章数量: 1086019


2024年6月2日发(作者:fwrite错误)

MPLS技术基本原理

什么是MPLS?

-- 多协议标签交换(MPLS)是一种用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由、

转发和交换等能力。更特殊的是,它具有管理各种不同形式通信流的机制。MPLS 独立于第二和第三层协议,诸

如 ATM 和 IP。它提供了一种方式,将 IP 地址映射为简单的具有固定长度的标签,用于不同的包转发和包交

换技术。它是现有路由和交换协议的接口,如 IP、ATM、帧中继、资源预留协议(RSVP)、开放最短路径优先

(OSPF)等等。

什么是MPLS?

MPLS是一个可以在多种第二层媒质上进行标记交换的网络技术。这一技术结合了第二层的

交换和第三层路由的特点,将第二层的基础设施和第三层的路由有机地结合起来。第三层的路由

在网络的边缘实施,而在MPLS的网络核心采用第二层交换。

MPLS通过在每一个节点的标签交换来实现包的转发。它不改变现有的路由协议,并可以在

多种第二层的物理媒质上实施,目前有ATM、FR(帧中继)、Ethernet以及PPP等媒质。

通过MPLS,第三层的路由可以得到第二层技术的很好补充,充分发挥第二层良好的流量设

计管理以及第三层 “Hop-By-Hop(逐跳寻径)”路由的灵活性,以实现端到端的QoS保证。

让我们来打一个比方。最简单的无外乎我们日常的走路。

我们从A地走到B地的方法大体有三种:一种是大概朝着一个方向走,直到走到了为止,就

像我们所熟知的“南辕北辙”的故事;另外一种方式却截然相反,就是每过一个街区就问一次路,

“我要去B地,下一步怎么走?”,就像我们去一个陌生的地方,生怕走错了路会遇到危险;最后

一种情况就是在出发前就查好地图,知道如何才能到达B地,“朝东走5个街区,再向右转第6

个街区就是”。

这三种情况如果和我们的包传输方式关联的话,不难想像分别是广播、逐跳寻径以及源路由。

当然,如果我们是跟在向导后面走,就会存在第四种走法。向导可以在走过的路上做好标记,

你只要沿着标记的指示走就可以了。而这,就是“标记交换”,如图1所示。

实际上,我们在以往的多个网络中,都已经使用过标记,只不过标记的重要程度不同而已。

我们很容易想起,在ATM网中,使用VPI/VCI作为标记;而在FR中,采用DLCI作为网络的

标记;而X.25网中的LCN及TDM的时隙,都可以看做是标记。

那么,基于标准的标记交换应该包括哪些部分呢?

从IETF的众多草案中可以看出,其组成大致可以分为以下几个部分:

● 框架和结构 (Framework and Architecture),主要定义MPLS所涉及的范围、部件

以及相互之间的联系。

● 封装 (Encapsulation),定义在数据层面用来转发判断的包封装格式。

● “信令”协议 (Signaling Protocol),负责如何分配标记,以建立标记交换路径(LSP)。

● 流量设计 (Traffic Engineering),描述如何设计流量管理。

为什么需要MPLS?

MPLS自提出以来就引起了各方面的广泛注意,各个厂商都相继投入大量的精力进行MPL

S的研究和开发。由于不同的解决方案侧重点不同,因而所带来的好处也就不同。但至少有一点

可以肯定,MPLS的快速转发将为运营商和大型企业带来众多的利益。

国内外的一些运营商以及大型企业已经开始在它们的骨干网内部利用MPLS来提高网络资

源的利用率。作为一个大规模运营商网络的未来关键技术,MPLS可以为运营商或者大企业带来

如下一些好处:

● 功能上的独立性。按照MPLS的思想,转发功能和路由功能是分开的,这样MPLS的核

心只简单地执行转发功能,而无需检查包的全部内容,这就允许仅在网络的边缘实施一次路径及

策略的选择。

● 性能的优化。MPLS很好地结合了第二层交换的高效以及第三层路由的灵活,既简化了I

P路由的操作,也高效地利用了网络的资源,从而使网络的性能得到优化。

● 资源的控制。MPLS可以很好地控制资源,可以通过不同的服务等级(COS),来提供原来

无法提供的IP增值业务。

● 网络的演进。MPLS正在演进到一个强大的骨干网络中去。在这个网络中,MPLS作为

惟一一个运行在多种第二层媒质之上的协议,将成为承载第三层业务(IP)的一项关键技术。

当然,MPLS的好处还有很多,随着MPLS技术的逐步成熟,相信将会有更多的商业价值被开

发出来。

MPLS是怎样工作的?

MPLS是一种特殊的转发机制,它为进入网络中的IP数据包分配标记,并通过对标记的交

换来实现IP数据包的转发。标记作为IP包头在网络中的替代品而存在,在网络内部MPLS在

数据包所经过的路径沿途通过交换标记(而不是看IP包头)来实现转发;当数据包要退出MPLS

网络时,数据包被解开封装,继续按照IP包的路由方式到达目的地。

如图2所示,MPLS网络包含一些基本的元素。在网络边缘的节点就称做标记边缘路由器(L

ER),而网络的核心节点就称做为标记交换路由器(LSR)。LER节点在MPLS网络中完成的是I

P包的进入和退出过程;LSR节点在网络中提供高速交换功能。在MPLS节点之间的路径就叫

做标记交换路径。一条LSP可以看做是一条贯穿网络的单向隧道。

MPLS的工作流程可以分为几个方面,即网络的边缘行为、网络的中心行为以及如何建立标

记交换路径。

1.网络的边缘行为

当IP数据包到达一个LER时,MPLS第一次应用标记。首先,LER要分析IP包头的信息,

并且按照它的目的地址和业务等级加以区分。

在LER中,MPLS使用了转发等价类(FEC)的概念来将输入的数据流映射到一条LSP上。

简单地说,FEC就是定义了一组沿着同一条路径、有相同处理过程的数据包。这就意味着所有F

EC相同的包都可以映射到同一个标记中。

对于每一个FEC,LER都建立一条独立的LSP穿过网络,到达目的地。数据包分配到一个

FEC后,LER就可以根据标记信息库(LIB)来为其生成一个标记。标记信息库将每一个FEC都

映射到LSP下一跳的标记上。如果下一跳的链路是ATM,则MPLS将使用ATM VCC里的VC

I作为标记。

转发数据包时,LER检查标记信息库中的FEC,然后将数据包用LSP的标记封装,从标记信息

库所规定的下一个接口发送出去。

2.网络的核心行为

当一个带有标记的包到达LSR的时候,LSR提取入局标记,同时以它作为索引在标记信息

库中查找。当LSR找到相关信息后,取出出局的标记,并由出局标记代替入局标签,从标记信

息库中所描述的下一跳接口送出数据包。

最后,数据包到达了MPLS域的另一端,在这一点,LER剥去封装的标记,仍然按照IP包

的路由方式将数据包继续传送到目的地。

3.如何建立标记交换路径

建立LSP的方式主要有两种:

(1)“Hop by Hop”路由

一个Hop-by-Hop的LSP是所有从源站点到一个特定目的站点的IP树的一部分。对于这些

LSP,MPLS模仿IP转发数据包的面向目的地的方式建立了一组树。

从传统的IP路由来看,每一台沿途的路由器都要检查包的目的地址,并且选择一条合适的

路径将数据包发送出去。而MPLS则不然,数据包虽然也沿着IP路由所选择的同一条路径进行

传送,但是它的数据包头在整条路径上从始至终都没有被检查。

在每一个节点,MPLS生成的树是通过一级一级为下一跳分配标记,而且是通过与它们的对

等层交换标记而生成的。交换是通过LDP的请求以及对应的消息完成的。

(2)显式路由

MPLS最主要的一个优点就是它可以利用流量设计“引导”数据包,比如避免拥塞或者满足业

务的QoS等。MPLS允许网络的运行人员在源节点就确定一条显式路由的LSP(ER-LSP),以规

定数据包将选择的路径。

不像Hop-by-Hop的LSP,ER-LSP不会形成IP树。取而代之,ER-LSP从源端到目的端

建立一条直接的端到端的路径,如图3所示。MPLS将显式路由嵌入到限制路由的标记分配协议

的信息中,从而建立这条路径。

MPLS术语的缩写

● LDP(Label Distribution Protocol),标记分配协议

● LSP(Label Switched Path),标记交换路径

● FEC(Forwarding Equivalence Class),转发等价类

● LSR(Label Switching Router),标记交换路由器

● LER(Label Edge Router),标记边缘路由器

● CR-LDP(Constraint Route Label Distribution Protocol),限制路由的标记分配协议

的技术

多协议标志交换(MPLS)技术的提出 Internet业务量的飞速增长以及宽带技术的不断出现,

对Internet服务提供商(ISP)的网络带宽提出了严峻的挑战。这种挑战不仅是对高带宽的要求,

也是对目前Internet所基于的传统路由交换模式的要求。

要建立这样一种服务质量较好且具备扩展性支持的新一代路由系统,需要由各单个路由器来

维持大容量的路由信息,并能建立一种路由信息的分层结构;在增强路由器对IP分组包转发性

能的同时,还需要增加对多目广播的路由支持,提供分层式的路由信息结构;此外,未来的路由

体系还必需具有灵活的适应能力以满足将来可能出现的各种新型需求。

从Internet的维护及应用角度考虑,如何对Internet实行合理而简便的流量控制(TrafficEng

ineering),实现基于IP业务的虚拟专网(VPN),保证IP级的服务质量(IP-levelQoS),也对目前

基于传统网络拓扑及IP路由系统的ISP骨干网络提出了挑战。

的技术原理

2.1MPLS协议和功能

(1)路由和交换概念

在对MPLS技术进行详细描述前,首先回顾几个与交换技术相关的概念。

路由协议(如RIP,OSPF)是一种机制,使网络中的每台设备都知道在将一个分组送向其目

的地时,传送这个分组的下一跳级(Next-Hop)是哪里。路由器使用路由协议构建路由表,当它们

接收到一个分组而必须进行转发判决时,路由器用分组中的目的地址IP地址作为索引(Index)查

寻路由表,利用特定算法获得下一跳机器的地址。路由表的构造和它们在转发时的查寻基本上是

两个独立的操作。

交换概念通常用来描述从一个设备内的输入端口到输出端口的数据传递,这种传送一般是基

于第二层的(如ATMVPI/VCI)信息。

控制部件为一个节点建造并维护一个路由转发表(ForwardingTable)。它与其它节点的控制部件

共同协作,持续并正确地交换分布路由信息,同时在本地建立转发表。标准的路由协议(如OSP

F、BGP和RIP)用于在控制部件之间交换路由信息。

转发部件执行分组转发功能。它使用转发表、分组所协携带的地址等信息及本地的一系列操

作来进行转发判决。在传统路由器中,最长匹配算法将分组中的目的地地址与转发表中的条项进

行对比,直到获得一个最优的匹配。更为重要的是,从源到目的地的沿路节点都要重复这一操作。

在一个标志交换路由器中,(最佳匹配)标志交换算法使用分组的标志和基于标志的转发表来为分

组获取一个新的标志及输出端口。

路由转发表包含若干条项,提供信息给转发部件,执行其交换功能。转发表必须将每个分组

与一个条项(传统条项为目的地址)相关联起来,为分组的下一步路由提供指引。

转发同等类(FEC)定义了这样一组分组,从转发的行为来看,它们都具有相同的转发属性。

一种FEC是一组单目广播分组,其目的地地址均与一个IP地址前缀相匹配。另一种FEC是分

组的源及目的地地址都相同的一组分组。FEC可在不同的级别上进行定义。

标志(label)相对较短,长度固定且无结构标识,可在转发进程中使用。标志通过一种绑定操

作与一个FEC关联起来。标志正常情况下,对于一个单一数据链路来说仅具有本地意义,不具

有全局意义。在ATM环境中相当于它们的VPI/VCI。由于ATM使用固定短区域进行交换,因此

可以相信标志交换能成为一种IPoverATM应用的有效方案。在某种事件驱动下,标志与FEC进

行绑定,从而具有一定意义,这种事件可分为以下两种类型:

一种是数据驱动绑定,即在数据流开始产生时进行绑定。标志绑定仅在需要时建立,在转发

表中只存在很少的几个条项。标志被分配给不同的IP数据流。在一个ATM网络环境中,它需

要使用大量的虚电路资源,不易于扩展。

另一种是拓扑驱动绑定,当在控制平面激活时来建立与数据流的产生无关。标志绑定可能与路由

的更新或RSVP消息的接收有关。拓扑驱动绑定较数据驱动绑定更易于扩展,因此用于MPLS

中。

(2)标志交换转发部件

标志与分组的绑定有若干种方式。对一些网络可以将标志嵌入到链路层的头端(ATMVCI/VP

I,和帧中继的DLCI)。有时也可以将它嵌入至位于数据链路头端和数据链路协议数据单元(PDU)

之间的小标志头端(如位于第二层头端与第三层数据负载之间),称为“Shim”。

这种标志信息能够在链路层进行承载,“Shim”结构可以用于Ethernet,IEEE802.3,或点对

点(PPP)链路上,其中一个是为单目广播,另一个是为多目广播(Multicast)。每个标志为4字节。

在MPLS骨干网络边缘,边界LSR对进来的无标志分组(正常情况下)按其IP头端进行归类

划分(Classification)及转发判决,这样IP分组在边界LSR被打上相应的标志,并被传送至到达

目的地地址的下一跳。

在后续的交换过程中,由LSR所产生的固定长度的标志替代IP分组头端,大大简化了以后

的节点处理操作。后续节点使用这个标志进行转发判决。一般情况下,标志的值在每个LSR中

交换后改变,这就是标志转发。

如果分组从MPLS的骨干网络中出来,出口边界LSR发现它们的转发方向是一个无标志的

接口,就简单地移除分组中的标志。这种基于标志转发的最重要的优势在于对多种交换类型只需

要唯一一种转发算法,可以用硬件来实现非常高的转发速度。

(3)标志交换控制部件

标志由标志交换路径(LSP)的上游LSR(Upstream LSR)节点来附加至分组中,下游LSR(D

ownstream LSR)收到标志分组后判决处理,这由标志交换的控制部件来完成。它使用标志转发

表中的条项内容作为引导。

标志交换控制部件除了基本的表的建立和维护外,还负责以一种连续的方式在LSR之间进行路

由的分布及进行将这些信息生成为转发表的操作。标志交换控制部件包括所有的传统路由协议

(如,OSPF,BGP,PIM等等)。这些路由协议为LSR提供了FEC与下一跳地址的映射。

标志信息的分布(Distribution)

标志交换转发表中的条项内容最少应能提供输出的端口信息和下一个新的标志,当然也可以

包含更多的信息。例如,它可以为被交换的分组产生一种输出队列原则。输入分组必须在转发表

中有唯一的条项与之对应。

每一个分配的标志必须与转发表中的一个条项相关联起来。这种绑定可以在本地LSR执行

或在远端LSR执行。目前MPLS版本使用下游绑定,这种情况下,本地关联的标志用作进入分

组标志,而远端关联标志用作输出标志。另一种方式为上游绑定,与下游绑定相反,也是一种可

行的方法。在MPLS技术中,转发表又称为标志转发信息库(LFIB),LFIB的每一个条目中包括

输入标志,输出标志,输入接口 和输出端口MAC地址,由输入标志对条项进行检索查找。另

外LFIB既可以在一个标志交换路由器上也可以存在于一个接口上。

(4)标志交换路由器(LSR)

MPLS的设备按其在MPLS路由网络中所处的位置可分为边界标志交换路由器和中间标志

交换路由器。边界LSR除对分组的标志进行符加或移除外,还负责对流量进行分类。标志的分

配除了基于目的地地址外还有其它很多因素。边界LSR判定流量是否为一个长持续流,采取管

理政策和访问控制,并在可能的情况下将普通业务流汇聚成较大的数据流。这些都是在IP与M

PLS的边界处所要具有的功能,因此边界LSR的能力将会是整个标志交换环境能否成功的关键

环节。对于服务提供者而言,这也是一个管理和控制点。

(5)MPLS和ATM协议关系

MPLS为公共的转发算法,基于标志的交换技术,在与ATM技术的结合上,MPLS使用A

TM的用户平面(user plane),以ATM的VPI/VCI作为其标志;MPLS的控制功能部件,以网络

层的动态路由协议(如:IS-IS,OSPF,BGP,PIM)及标志分配协议(LDP)来替代ATM传统的控

制平面,完成对整个MPLS网络的控制功能。

3 MPLS的特点

传统的IP数据转发是基于逐跳式的,每个转发数据的路由器都要根据IP包头的目的地址查

找路由表来获得下一跳的出口,这是个繁琐又效率低下的工作,主要的原因是两个:1、有些路

由的查询必须对路由表进行多次查找,这就是所谓的递归搜索;2、由于路由匹配遵循最长匹配

原则,所以迫使几乎所有的路由器的交换引擎必须用软件来实现,用软件实现的交换引擎和AT

M交换机上用硬件来实现的交换引擎在效率上无法相抗衡。

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-dri

ven)的标志分配技术有别于其它基于流驱动(flow-driven)的分配技术,在MPLS中所分配的标

签仅随路由前缀的变化而变化,其变化频率相对会低得多。显然,因为这种技术实现独立于数据

流,而采用目的地地址,因此具有很强的可扩展性。在某种程度上,标志交换有些类似于帧中继

采用数据链路连接标志符(DLCI)来执行高速的交换功能。当被标志的分组最终到达标志网络

的出口时,就被移去标志,分组由传统的第3层路由进行转发。

4 MPLS协议和功能

标志交换转发部件

标志与分组的绑定有若干种方式。对一些网络可以将标志嵌入到链路层的头端(ATM VCI/

VPI,和帧中继的DLCI)。有时也可以将它嵌入至位于数据链路头端和数据链路协议数据单元

(PDU)之间的小标志头端(如,位于第二层头端与第三层数据负载之间),称为“Shim”。这

种标志信息能够在链路层进行承载,“shim”结构可以用于Ethernet, IEEE802.3, 或点对点(PP

P)链路上,其中一个是为单目广播(Unicast),另一个是为多目广播(Multicast)。

在MPLS骨干网络边缘,边界LSR对进来的无标志分组(正常情况下)按其IP头端进行

归类划分(Classification)及转发判决,这样IP分组在边界LSR被打上相应的标志,并被传送

至到达目的地地址的下一跳。在后续的交换过程中,由LSR所产生的固定长度的标志替代IP分

组头端,大大简化了以后的节点处理操作。后续节点使用这个标志进行转发判决。一般情况下,

标志的值在每个LSR中交换后改变,这就是标志转发。

在中间LSR中MPLS的转发步骤如下:第一步:从分组中获取一个标志;第二步:从LFIB中

查找一条其进入标志等于分组标志的条目;第三步:将条目中的出口标志替代分组中的标志;第

四步:将分组从条目中所指定的输出端口送出。当中间LSR收到标志分组,该分组标志首先被

提取出来,并做为索引在LSR中的转发表中进行查寻检索,一旦发现了与输入标志匹配的条项,

就提取出条项中的输出标志重新加到分组,并将新组合的分组送到条项中指向下一跳的输出接口

(对于多目广播要涉及到多个输出端口)。标志转发表可以在节点级(即每个节点一个表)或在

接口级(每个接口一个表)来实现。

如果分组从MPLS的骨干网络中出来,出口边界LSR发现它们的转发方向是一个无标志的

接口,就简单地移除分组中的标志。这种基于标志转发的最重要的优势在于对多种交换类型只需

要唯一一种转发算法,可以用硬件来实现非常高的转发速度。

IP分组包在边界路由器处被标志上一个“标签”,并按照这种标签在标志交换机中进行转发。

这些标签的值在每一个跳级(Hop)只具有本地意义,进入分组上的标签用来决定该分组的路径

并在下一个跳级被包装上新的相应的标签。在到达标志交换路径的最后一个标志边界路由器时

(即下一跳级不支持标志交换),标签就被剥除,分组被正常转发。由于沿路转发节点仅读非常

简单的标签,而不是在分组头端上的IP地址信息细节来进行转发判决,IP通过网络的交换速度

将大大增加,并且在同一个消息中的所有其它分组也会沿着相同的路径通过网络。

标志交换控制部件

标志由标志交换路径(LSP)的上游LSR(Upstream LSR)节点来附加至分组中,下游L

SR(Downstream LSR)收到标志分组后判决处理,这由标志交换的控制部件来完成。它使用

标志转发表中的条项内容作为引导。标志交换控制部件除了基本的表的建立和维护外,还负责以

一种连续的方式在LSR之间进行路由的分布及进行将这些信息生成为转发表的操作。标志交换

控制部件包括所有的传统路由协议(如,OSPF,BGP,PIM等等)。这些路由协议为LSR提

供了FEC与下一跳地址的映射。另外,LSR还必须:在标志与FEC之间建立绑定;将这些绑

定向其它LSR分布;构建它自己的转发表。

绑定技术有多种选择,建立标志流的决定可以基于多个标准(如数据源地址)。数据驱动(dat

a-driven)的标志绑定技术仅当有需求时才建立激活的标志绑定。当网络拓扑和流量的变化时,

绑定信息都需要重新分布。拓扑驱动(topo-driven)又称为控制驱动 (control-driven) 绑定,是

基于对路由处理和资源预留所产生的管理信息。尽管两种方法目前都有使用,但新出现的MPL

S标准应该基于控制驱动的模式。

标志信息的分布(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版本。

标志交换路由器(LSR)

MPLS的设备按其在MPLS路由网络中所处的位置可分为边界标志交换路由器(Edge Lab

el Switching Routers)和中间标志交换路由器(Transit LSR)。边界标志交换路由有进口/

出口边界交换路由器,进口边界LSR负责在标志交换路径(LSP)的起始处对正常分组封装标

志;出口边界LSR在LSP的未端负责对标志分组剥除标志封装还原为正常IP分组,向目的地

传送。而网络中的其它LSR仅负责基于到达分组的标志进行快速准确的路由。

边界LSR除对分组的标志进行符加或移除外,还负责对流量进行分类。标志的分配除了基

于目的地地址外还有其它很多因素。边界LSR判定流量是否为一个长持续流,采取管理政策和

访问控制,并在可能的情况下将普通业务流汇聚成较大的数据流。这些都是在IP与MPLS的边

界处所要具有的功能,因此边界LSR的能力将会是整个标志交换环境能否成功的关键环节。对

于服务提供者而言,这也是一个管理和控制点。边界LSR应能具备以下能力:

线速(wirespeed)IP流分类能力:这可以允许这些产品在不降低转发性能的情况下来分配

服务质量(QoS)值及向IP流分配标志;扩展的VPN能力:利用MPLS来提供VPN服务,这

要求能有多个转发表运行,来区别不同的VPN用户。

MPLS和ATM协议关系

MPLS为公共的转发算法,基于标志的交换技术,在与ATM技术的结合上,MPLS使用A

TM的用户平面(user plane),以ATM的VPI/VCI作为其标志;MPLS的控制功能部件,以

网络层的动态路由协议(如:IS-IS,OSPF,BGP,PIM)及标志分配协议(LDP)来替代AT

M传统的控制平面,完成对整个MPLS网络的控制功能。

5 MPLS的优势

基于MPLS的思想框架,MPLS的优势主要体现在以下几点:

将传统的基于IP分组中头端信息进行IP的路由转发的机制淘汰下来在一种公共转发算法

(标志交换)上提供了多种路由方案(如基于目的的显式路由等)将ATM技术与IP技术灵活地结合

起来,从控制平面看具有MPLS功能的ATM交换机则更像是一台路由器。

使用MPLS使各种IP的业务应用成为可能,如:基于IP的VPN,IP级业务服务质量保证,

骨干网络流量控制。

6 MPLS技术总结

MPLS交换主要目的是为下一代的多用户,多服务的Internet骨干网络提供一种路由交换的

技术基础。它的主要特征为高性能,可灵活扩展,能最大可能地满足用户对服务质量的需求。I

nternet网络的飞速发展也为MPLS的发展带来了十分显著的推动作用。

MPLS技术也为一些目前IP网络急待提供的应用服务如流量控制(traffic engineering)、虚

拟专网(VPN),服务类别质量保证(COS)等提供了一套更为合理有效的解决方案。

各网络厂商纷纷推出基于各自特点的MPLS的技术实现及设备,MPLS必然会在不久的几

年内完成各种方面的标准制定,真正成为下一代Internet的路由技术主流。

MPLS交换路由器的设计与实现

Internet业务量的飞速增长以及宽带技术的不断出现 ,对 Internet的网络结构以及互连的核心

设备路由器的性能提出更高的要求。而由IETF提出的MPLS(多协议标签交换)技术以其在以下

几个方面的绝对优势而成为目前最为看好的核心网技术:能够提供对QoS业务的灵活支持;能

够支持流量工程以提高网络资源的利用率;能够灵活支持将来Internet上第一大业务VPN;能

够有足够快的转发速率。 

高端路由器厂商Cisco、Juniper等都推出了自己的MPLS产品,但是并没有公开其详细的

设计细节。我们的目的是设计一种支持多种接口和多种协议的高速交换路由器,该路由器既可以

应用于校园网/企业网的骨干,也可以应用于大型ISP的边缘接入。我们的设计吸取了近年来国

际上对宽带IP路由器技术前沿的研究成果,设计思想主要包括 4个方面:将路由引擎 (Routin

g Engine)和转发引擎 (Forwarding Engine)分开;用快速的硬件实现IP分组的头处理、路由和

转发;用多个分布式的接口单元加中央控制器的模式取代中央处理器加接口卡的模式;用交换结

构 (Switch Fabric)提高各接口单元之间的数据通信速度。 

基于以上的设计思想,本文描述的MPLS交换路由器包括以下组件: LDP/CR-LDP、MPL

S分类器、业务分类器、地址分类器、接纳控制、资源管理、分组排队和调度以及交换结构Fa

bric。该MPLS路由器的模块化设计不仅能够提高分组转发率,提供灵活的QoS支持、流量规

划以及故障恢复能力,还具有很好的可扩展性。 

一、 MPLS基本概念及标签交换路由器 

MPLS即多协议标签交换技术,是一种在开放的通信网上利用标签引导数据高速、高效传输

的新技术,它的价值在于能够在无连接的网络中引入连接模式。MPLS采用传统的IP路由,但

将路由与分组转发分离开来,这使得在MPLS网中可以通过修正转发方法来推动路由技术的演

进。而且,网络中分组的转发基于定长标签,简化了转发机制,使得路由器容量很容易扩展到太

比特级。实际上当前推出的几乎所有高速路由器都支持MPLS。

MPLS还是一种与链路层无关的技术,它同时支持FR、ATM、PPP、SDH、DWDM等,保

证了多种网络的互联互通,可以将各种不同的网络传输技术统一在同一个MPLS平台上,最大

限度地兼顾原有的各种技术,保护现有投资和网络资源。而MPLS能够灵活地支持流量工程、C

oS、QoS和VPN的能力则是MPLS实用中最据吸引力的亮点。 

1. MPLS标签交换过程 

图1所示为分组在MPLS网络中的转发过程,主要经过以下3个步骤: 

(1)入口LSR在FIB(Forwarding Information Base)表中按照传统的最长匹配算法对FE

C进行查找,找到要压入的标签5和相应的出接口,然后压入标签发送分组到相应的端口; 

(2)核心LSR根据标签栈顶层的标签5查找ILM(Incoming Label Map)表,找到要进行

的操作为标签的交换,交换使用的标签为9,执行标签交换,然后发送分组到相应的接口; 

(3)出口LSR根据ILM查找的结果进行标签的弹栈(POP),然后再按照第三层IP地址进

行转发。 

在拓扑驱动的模式中,FIB和ILM是在路由协议(BPG、OSPF或RIP)建立路由表的同时

建立起来的。 

2. MPLS路由器的结构 

MPLS路由器采用高速交换、分布式转发和集中式管理相结合。当前路由器设计采用的主流

结构由接口卡、交换结构和CPU卡组成。CPU卡的主要功能是运行路由协议(BGP、OSPF

或RIP)和MPLS信令(LDP/CR-LDP),负责各接口卡上的路由表、FIB表以及ILM表的更

新以及同步,同时它还完成接纳控制、资源管理以及某些设备管理功能。接口卡完成物理层处理、

MAC层处理、IP层处理,主要包括MPLS分类、业务分类以及排队和调度功能。 

图2给出的是MPLS交换路由器的概念模型,由以下主要组件组成:CR-LDP/LDP、MPLS分

类器、业务分类器、地址分类器、接纳控制、资源管理和队列管理器等。各模块主要功能如下:

LDP/CR-LD:产生和处理LDP/CR-LDP消息; 

MPLS分类器:为进入的分组分类,并为相应的分组执行标签的操作,如压栈、弹栈和标签

交换; 

业务分类器:根据标签、入接口以及MPLS头中的CoS对分组进行业务分类,并把分组与

相应的队列关联起来; 

接纳控制:检查CR-LDP中携带的流量参数,并判断该路由器是否有足够的资源来满足所

需的QoS要求; 

资源管理:管理资源信息以及队列的参数,主要包括带宽和缓存等; 

队列管理器:管理队列中的分组,完成分组的调度,使其获得相应的服务。

 

二、 标签交换路由器的设计 

1. MPLS标签交换以及流量处理 

MPLS标签交换以及流量处理主要在接口卡上完成,本节介绍接口卡详细功能,我们在此不

讨论物理层和MAC层的处理。如图3所示,当MPLS路由器接收到一个分组后,它执行如下的

操作: 

(1)MPLS分类器首先判断接收到的分组是带标签的还是不带标签的。如果携带了标签,MP

LS分类器就通过查询ILM表得到相应的标签,然后对分组执行标签交换。如果未携带标签,则

查询FIB表,若其对应的LSP存在,就与携带标签一样处理。否则,分组被发送到地址分类器。

 

(2)地址分类器根据路由表对分组执行第三层转发。

(3)如果分组的下一跳就是自己,分组就被送到端口分类器中,然后根据端口号送往相应的

上层应用处理程序,如LDP/CR-LDP、OSPF、BGP等。否则,就根据查询的结果进入队列管

理器进行排队,等候服务。 

(4)当业务分类器接收到来自MPLS分类器的分组后,查找ERB表得到相应的ServiceID,Serv

iceID指示了分组应该被怎么排队。然后根据ServiceID以及输出接口信息,分组被发送到相应

的队列中,并得到相应QoS的服务。来自地址分类器的分组就直接发送到相应输出接口的最低

优先级队列进行排队。 

从以上分组转发的过程我们看到,分组处理时需要以下4个表: 

FIB表只有在入口LSR上保存该表,它记录了FEC到标签的映射信息;

ILM表每个LSR上都保存该表,它记录了已建立的LSP的信息,为携带标签的分组进行标

签交换提供信息,它主要包括入/出标签和入/出接口; 

ERB表主要维护分组的排队信息,为不同等级的业务提供不同QoS的保证;

路由表与传统的路由表相同,由路由协议维护,主要完成第三层转发信息的存储。

2. 资源预留 

接纳控制和资源管理器组件是为了实现资源管理而设计的。资源管理器负责为队列管理器创

建和维护队列提供参数信息并且负责资源信息的管理(如资源表)。 

图4所示为MPLS路由器对资源预留消息的处理过程。当LDP/CR-LDP组件接收到CR-L

DP的Request消息时,它调用接纳控制来检查路由器是否有足够的资源。如果有,接纳控制模

块通过更新资源表来预留资源,然后LDP的Request消息被发送到下一个节点。 

当LDP/CR-LDP组件接收到CR-LDP的Mapping消息后,在ILM表中记录标签和接口信

息,并且在ERB中记录CR-LSP的信息(如LSPID),产生ServiceID。然后,调用资源管理

器修改此CR-LSP对应队列的参数,并且在ERB表中记录ServiceID。最后,CR-LDP的Map

ping消息被发送到上游节点。


本文标签: 标志 交换 分组 路由 转发