智能光网络技术及应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 MPLS

多协议标签交换(MPLS,Multi-Protocol Label Switching)最初是为了提高路由器的转发速度而提出的,后来因出现了线速转发的路由器使它一度被冷落;但由于它在流量工程TE、服务质量QoS与构建VPN方面的卓越表现,所以仍然是现代数据通信领域的热点技术之一。MPLS的最大特点是引入了标签交换,这一点与ATM类似;但与ATM不同的是,MPLS是基于目前广泛应用的IP技术,它把链路层的标签交换与网络层灵活的路由技术完美地结合起来,可大大改善现有网络技术的许多不足,所以一提出便引起了业界高度重视并得到了迅速发展。

2.4.1 MPLS概述

如前所述,无论是以太网通信还是IP通信都属于面向非连接的通信,数据分组每经过一个结点都要进行头部分析,进行路由计算,以便确定下一跳等,所以导致了传送效率低下、传送质量难以保证。而面向连接的通信可以在通信建立时就规定好数据分组的传送路径、所需要的带宽、确定优先级等,所以大大提高了网络传送效率与传送质量。MPLS是由IETF提出、采用标签交换、面向连接的通信技术,它将面向非连接的业务移植到面向连接的标签交换业务上。它有两项关键技术,即标签交换技术、控制与转发相分离。

1.标签交换技术

MPLS使用了标签交换技术。每个数据分组的头部都附有标签,标签就是分组进行转发(交换)的依据。结点设备只需要根据标签、按规定好的路由进行转发,避免了每个结点都要重复进行头部分析的弊病,所以大大提高了传送速度、保证了通信质量、简化了设备的复杂性。

2.控制与转发相分离

与以前所讲的三层交换类似,MPLS把控制部分与转发部分互相分离。控制部分主要使用软件,负责对数据分组的FEC分类、路由的选择、标签的分发、标签信息库LIB (Label Information Base)的建立、控制协议的执行等;控制协议有路由协议如OSPF、IS-IS协议、信令协议如RSVP、LDP协议,但进行了一些流量工程方面的扩展。转发部分主要根据LIB建立标签转发表,对数据分组进行比较简单的转发操作。

2.4.2 MPLS基本概念

1.MPLS标签

标签(label)是一个短而定长(4字节),且只具本地意义的标识符;用于标识数据分组所属的转发等效类FEC,一个标签代表一个FEC,标签是数据分组进行转发的依据。标签交换是MPLS的核心技术,其作用就是在MPLS域内建立标签交换通道LSP。被贴上标签的数据分组便一直沿着建立的LSP进行传送,每经过一个结点都不再需要进行重复、烦琐的头部分析,只需要进行标签切换,这种标签切换就像在IP网中的报头不断变换一样。通过对标签的操作,不仅解决了网络的传送效率问题,而且还可以完成其他一些功能,如对数据分组进行分类、确定优先级、为特定数据分组加密及更好地利用带宽资源等。MPLS标签是一个添加在数据分组报头前的“垫片”(shim),它位于链路层报头与网络层报头之间,具体格式如图2-7所示。

图2-7 MPLS标签格式

(1)标签值Label

20bit的标签值由专门的标签转发算法确定,用于标识不同的转发等效类FEC,可以用简单的数字来表示。

(2)实验字段EXP

EXP(Experience)为3bit,通常用于标识载荷的业务类型CoS(Class of Service)。3bit的CoS可指示8种业务类型。

(3)堆栈指针S

S(Stack)为1bit,用于表示标签在堆栈中的位置。S=l时表示标签位于栈底,是堆栈中的最后一个标签,S=0时表示堆栈中仍有标签。

(4)生存时间TTL

8bit的TTL为数据分组跨越结点的计数器。它是为了防止出现死循环而设置的,最大值为28=256,每经过一个结点,TTL数值减1,当TTL值为0时,该数据分组作为无效而剥离。

2.转发等效类(FEC)

FEC(Forwarding Equivalence Class)是在MPLS域中以等效方式进行转发的数据分组集合。为了便于进行标签分配,特地把进入MPLS域中的数据分组按照一定规则(标签转发算法)进行分类,每一种类型的数据分组就称为一个FEC。

每个FEC分配一个不同的、定长为4字节的MPLS标签,称为FEC/标签绑定。同一FEC的数据分组在MPLS域中遵循相同的转发路径。控制部分负责形成与FEC绑定的标签信息库LIB,它类似于IP网络中的路由表,是数据分组进行转发的关键。LIB包括入标签、FEC信息、标签转发表、出标签、出接口、下一跳结点、出接口的数据分组封装形式等。通过对标签进行索引可以找到相应的LIB。

但FEC的分类可以基于不同的规则,粒度也可能有所区别。如可以把具有相同传送路径的分组划一个FEC,也可以按目的地址划分,还可以基于源地址、源端口、目的端口、协议类型、业务类型等来划分,甚至可以把具有相同目的地址的分组按QoS划分为具有不同的FEC等。

3.标签交换通道(LSP)

LSP(Label Switched Path)就是某FEC在MPLS域中所过走的路径,在功能上和ATM的虚通路连接VPL是等价的。一个FEC可能会携带多个标签,每经过一个结点,标签交换路由器LSR就根据标签转发一次,一直到目的地为止。于是从起始的路由器开始到目的路由器为止,构成了一个LSP。一个LSP可能建立在两个结点设备(LSR)之间,也可能跨越多个结点甚至整个MPLS域。

2.4.3 MPLS路由选择与路由协议

MPLS本身并不具备自动路由选择功能(显式路由除外),它是利用了三层的路由选择功能。

1.路由选择

如果是在以太网或IP网基础上实现MPLS,则需要进行路由选择。路由选择是指为某FEC选择一条传送路径、建立LSP的方法,需要运行路由协议。

1)逐跳路由

顾名思义,逐跳路由方法就是每个结点独立地为FEC选择下一跳;它是基于目的地址路由协议的方法,与传统IP网络使用的路由选择方法相类似。因传统的IP路由选择技术是基于目的地址、“跳数”、链路费用的简单度量,所以在大规模网络应用时,难以保证合理地选择路由。

2)显式路由(ER)

ER(Explicit Routing)的路由不是通过运行路由协议以“逐跳”方式选择的,而是整个网络拓扑中的一种特殊路径,其典型应用是由某结点为特定数据流规定明确的路由。

在ER中,每个LSR不能独立地选择下一跳,而是由入口路由器或出口路由器为每个FEC规定LSP中所有的或中间的几个结点。若入口或出口路由器规定了LSP中所有的结点,则称为“严格”显式路由;若入口或出口的路由器只规定了LSP中的几个结点,则称为“松散”显式路由。

因为ER可以预先确定而不依赖于IP路由,所以LSP的构建可以增加一些约束条件如QoS、管理策略等,从而可以最大限度地利用网络资源和优化网络性能,以实现流量工程。

2.路由协议简介

在MPLS技术中,通常使用两种路由协议,即OSPF-TE与IS-IS-TE路由协议。它们是在传统IP路由协议的基础上进行了扩展,扩展的内容主要是增加了流量工程TE功能。

1)OSPF-TE路由协议

原用于IP的OSPF协议的特点是:它是一个链路状态路由协议,路由器之间相互交换的是链路状态信息而不是路由表,所以网络中传播的路由信息量少、收敛性好、运行速度快。链路状态信息的交换是通过发布多种类型的链路状态公告LSA实现的。OSPF把AS自治域分成多个OSPF域和一个骨干域,每个域都有一个链路状态数据库LSDB,路由器通过它使用SPF算法构建最短路径树SPT。每个OSPF域都有一个汇总本域路由消息的边界路由器ABR,ABR通过骨干域和其他域交换汇总路由信息。利用SPT与ABR的汇总路由信息就可以计算出AS自治域中的任何一条路由。此外,OSPF协议的路由不受物理跳数的限制,所以可用于大、中型网络。

但OSPF协议是以逐跳方式计算路由的,并不适用于面向连接的MPLS技术,而且它采用最短路径优先的原则来计算路由,易造成网络的负载不均衡,因为可能会有过多的业务流量集中在最短路径上,而其他路径上的业务流量反而很少。

为此,MPLS对OSPF协议进行了扩展,主要是增加了流量工程TE功能,即OSPF-TE协议。所谓流量工程,简单地讲就是根据当前网络的资源状态与网络的拓扑结构,合理地控制业务流量在网络中的流向,使业务流量均衡地分布在整个网络中,避免造成网络资源的不均衡使用,从而达到优化网络性能的目的。

MPLS的流量工程,就是根据业务流对网络资源的需求和网络可用资源的情况,合理地为业务流计算、选择路由。它根据从入口或出口LSR计算得到的显式路由建立LSP,实现对业务流向和网络资源使用的合理控制,提供QoS保证。

MPLS对OSPF协议扩展的实质是扩展链路属性,即在LSA的信息中增加了链路参数方面的信息。原OSPF协议LSA中的链路状态信息只包括链路端口的ID、路由器ID及权值等有限的几种链路状态信息;MPLS最重要的扩展是增加了一个重要的TE-LSA,它通告的信息增加了链路类型、链路ID、链路两端接口的IP地址、链路带宽等链路方面的参数。这些新增参数与原来的链路状态信息一起存入数据库,为实施基于约束条件的路由算法提供依据。此外,为了适用TE-LSA,还对OSPF协议进行一些其他扩展,如对LSA分发域的定义,对收到LSA之后的处理流程,对广播过程和管理数据结构等进行了修改。

在运行OSPF-TE协议进行路由计算与选择时,采用的是基于约束条件的最短路径优先CSPF(Constrained SPF)算法,即根据给定的约束条件来计算显式路由ER。在给定约束条件时已经全面考虑了业务流向的合理性、网络资源使用的均衡性、融合了一些管理策略等多方面因素,以保证网络性能的优化,即实现TE功能。

2)IS-IS-TE协议

IS-IS(Intermediate System-Intermediate System)即中间系统到中间系统路由协议,也是一个链路状态路由协议。它根据最佳路径信息生成路由选择表,并通过一级路由器实现对区域内的路由搜索与选择,而通过二级路由器实现不同区域之间的路由搜索与选择。IS-IS-TE是扩展的IS-IS协议,扩展的内容也是主要增加了流量工程功能。IS-IS-TE与OSPF-TE的区别是,后者只支持IP协议,而IS-IS-TE是支持多协议的路由协议;但因为IP技术成熟、应用广泛,所以目前支持OSPF-TE的网络设备较多。

2.4.4 MPLS信令协议

为FEC选定路由之后,还需要使用信令协议完成连接,以建立标签交换通道LSP。MPLS主要使用两种信令协议,即RSVP协议与LDP协议,两者的实现功能虽然相似,但在工作原理、信令结构、协议特性等方面存在明显差别。

1.资源预留协议(RSVP-TE)简介

1)RSVP协议概述

RSVP(Resourcereser Vation Protocol)是用于IP网的协议。顾名思义,RSVP协议的主要功能是为IP报文会话预留网络资源,它通过所谓“消息”来传送有关信息以达到预留资源的目的。RSVP有两大基本类型消息,即Path(路径)消息与ResV(资源预留)消息。但同一类型消息可以包含不同的内容,具体由消息中附加的“对象”(Object)决定。Path消息一般由发送端沿路由的下游方向,向接收端发送,主要是向接收端提出要求,具体要求由消息中的附加“对象”来描述。ResV消息一般由接收端沿路由的上游方向,向发送端发送,主要是向路由中的各结点提出预留资源的要求等,它也是通过在消息中附加上一些“对象”来实现。

2)RSVP-TE协议

为了支持流量工程TE,MPLS对RSVP协议进行了扩展即所谓RSVP-TE协议。当路由选定之后,RSVP-TE根据连接的有关要求如所需带宽、优先级、QoS等,从接收方开始,沿已选路由的反方向向各结点申请预留资源。RSVP-TE协议扩展的主要内容是以显式路由方式建立LSP、LSP的平滑重路由、资源抢占与环路检测等。

(1)显式路由ER。

ER路由不是利用路由协议以“逐跳”方式选择的,而是由路由的源端或宿端确定的。因为路由可以预先确定而不依赖于IP路由,如可在入口结点确定整个LSP的路径;因此可以附加一些约束条件如QoS要求,融合一些管理策略等来构建LSP,从而可最大限度地利用网络资源和优化网络性能,有利于流量工程TE的实现。

RSVP-TE通过在Path消息中增加显式路由对象ERO来实现ER功能,采用“下游按需”(DoD)的标签分发方式。

(2)LSP操作。RSVP-TE主要使用显式路由对象、标签请求对象、标签对象等消息,实现对LSP的操作。

· 显式路由对象ERO(ExPlicit Route Objeet)。

ERO附加在Path消息中,它包括一系列子对象,每个子对象都包括一组显式路由的结点,以及沿途进行的操作。

· 标签请求对象LRO(Label-Request Object)。

路由选定之后,发送结点创建一条包含有“标签请求”对象LRO(Label-Request Object)的Path消息。该对象的作用是申请绑定到该LSP的标签。

· 标签(映射)对象LO。

LO(Label Object)附加在ResV消息中,该消息是对收到包含有“标签请求”对象的Path消息的响应。其内容是具体的标签值,范围为0~1048575。

当LSP中的所有结点路由器(包括发送端)收到包括标签对象的ResV消息后,它们将会根据要求为某FEC预留资源,所以对应于该FEC的LSP就建立起来。

(3)LSP的平滑重路由。

对于MPLS而言,重路由就是重新建立一条与已存在的LSP相对应的新LSP,然后把业务流转移到新建LSP之中。而所谓平滑重路由,就是采用“先建后拆”(make before break)方式进行重路由,即在拆除旧LSP之前先建立一条新的LSP,然后把业务转移到新建LSP之中,最后再拆除旧的LSP。但进行平滑重路由时,新、旧LSP可能会在某些公用网段上争抢资源,这种争抢很可能因资源不足而导致无法建立新的LSP,利用SE资源预留方式可以比较好地解决这个问题。

(4)资源预留方式。

RSVP-TE有三种资源预留方式,它们是:适用于点到点应用、预留资源不能共享的固定过滤方式FF;支持平滑重路由、预留资源可以共享的共享显式SE;适用于多个业务在同一路由中,但并非在同一时间传送的通配过滤方式WF。

2.标签分发协议(LDP)

1)LDP协议概述

标签分发协议(LDP,Label Distribution Protocol)也是用于MPLS的信令协议,路由确定之后它为各结点的路由器分发标签与FEC的绑定信息。

(1)LDP消息。

标签交换路由器LSR彼此之间利用LDP消息相互交换信息。LDP主要有如下几种消息:

· 通知消息,用于通告和维护网络中LSR的存在;

· 会话消息,用于建立、维护、结束LDP对等体之间的会话连接;

· 通告消息,用于创建、改变和删除FEC与标签的绑定;

· 通知消息,用于提供建议性的消息与差错通知。

除发现消息之外,LDP消息都采用“类型—长度—值”,(Type—Length—Value)编码体系的结构,简称TLV格式。它包括类型、长度与“值”三部分内容。

· 类型T,表示消息的TLV类型,如0x0100表示FECTLV、0x0lO3表示跳数TLV等;

· 长度L,表示后面“值”域的长度;

· “值”V,表示消息的具体内容,如FECTLV的“数值”指示具体的FEC单元。

(2)LDP协议的简单处理过程如下:

① 发现对等体LDP协议有两种发现机制,基本发现机制用于发现通过链路层相互连接的LSR;扩展发现机制用于发现不通过链路层相连,而在网络层潜在可达的LSR。

② 会话LDP会话用于在LSR之间进行标签信息交换。它通过相互交换“Hello”消息来启动LDP会话进程;LDP会话进程包括建立传输连接与会话初始化两个步骤。

③ 标签分发建立了会话关系的LDP对等体就可以进行标签信息的交换即分发FEC/标签绑定消息;LDP协议既支持下游按需标签分发方式,也支持下游自主标签分发方式。标签分发完毕,对应于某FEC的标签交换通道LSP就建立起来了。

2)CR-LDP协议

CR-LDP(Constraintbased Routing-LDP)即基于约束路由的标签分发协议,是MPLS为了支持流量工程功能,对普通LDP协议进行了扩展的协议。扩展的主要内容是增加了约束路由技术、路由抢占与环路检测功能等。

(1)约束路由功能。

一般LSP的构建很难保证路由选择的合理性与均衡性。而CR-LDP协议的约束路由功能就是建立基于约束条件的LSP即CR-LSP,它是在网络边缘的结点上,以一些约束条件为前提、采用显式路由建立LSP,通过选择约束条件,可以实现业务流向的合理性与网络负载的均衡性。CR-LDP协议可以对网络资源进行分类与管理,用“颜色”来表示网络资源的级别(共有32个级别),在建立CR-LSP时,可以指示使用哪些级别的网络资源。CR-LDP还可以用TLV格式传送、修改流量中继的流量参数,流量中继参数的修改更有利于建立CR-LSP;修改的流量参数包括业务流量的峰值速率、峰值突发长度、承诺速率、承诺突发长度、超额突发长度与业务颗粒(包括颗粒大小、时延与抖动方面的性能要求)等。

(2)路由抢占功能。

所谓路由抢占,就是如果不能找到足够资源的路径来建立CR-LSP,可以对现存路径进行重新选择。该功能可以为那些重要业务优先建立CR-LSP,包括抢占现有的路由。

(3)环路检测。

CR-LDP协议具有环路检测功能,它提供了一种检测LSP环路发生与避免标签请求消息发生环路的机制。

2.4.5 MPLS的流量工程TE

1.流量工程TE简述

TE(Traffic Engineering)的主要目的是在保证网络高效、可靠运行的同时,对网络资源的利用率与流量性能进行优化,或者说是利用现有的网络资源来获取最佳服务。

TE与一般的网络拥塞控制技术并不相同,TE主要解决的是网络性能优化,如业务流向的不合理与网络负载的不均衡问题;而拥塞控制技术主要解决的是因资源不足引起的网络拥塞问题。

1)与TE相关的性能指标

与TE相关的性能指标可以分为两类,即面向流量的与面向资源的性能指标。面向流量的性能指标主要是影响流量QoS性能的指标,如分组丢失的最小化、延时的最小化、吞吐量的最大化、对服务等级的加强等。面向资源的性能指标主要是对网络资源利用的优化,如在其他可选路径上还有网络资源可以利用时,某路径上的网络资源不要过度使用等。

2)网络拥塞问题

如何避免网络发生拥塞是TE的重要课题。概括起来讲,发生网络拥塞的原因主要有两方面,即网络资源不足与负载的不均衡分配;其中后者是TE需要解决的问题。

(1)网络资源不足。

由于网络资源的不足,它难以承载当前的业务负载,所以易发生拥塞。解决方法之一是网络进行升级扩容、增加带宽资源以满足业务需求;解决方法之二是使用经典的拥塞控制技术,即对业务请求加以控制以保证负载与现有可用网络资源的匹配,如流量整形、速率限制、队列缓存、反压控制、合理调度(牺牲低优先级业务,保证高优先级业务的流控调度)等。

(2)网络负载的不均衡分配。

它将会导致一部分网络资源过度地被使用,而另一部分网络资源却没有被充分利用。这类网络拥塞问题通常需要使用TE来解决。

3)TE的解决方法

TE通过业务流量的合理分配来解决网络负载的不均衡问题,有多种控制手段可以使用:

· 对流量参数进行修改;

· 对资源的相关属性进行修改;

· 对路由的相关参数进行修改;

· 利用显式路由技术,融合管理策略、增加或修改约束条件等。

2.在MPLS上实现TE

TE主要解决的是负载均衡分配问题,也就是如何把业务流量合理、均衡地分配到MPLS网络的LSP中。为此,一是需要了解业务流量的一些相关属性与特征,并对其进行统计分析;二是需要了解网络的拓朴状态,以及现有网络资源的一些相关属性与特征;最后在此基础上再采取相应的策略与措施,如显式路由技术。

1)流量中继的属性

所谓流量中继(Traffic trunk),是指具有同一业务等级、在一个LSP传送的一组业务流。流量中继具有多方面的属性与特征,其中与实现流量工程相关的有以下两方面内容。

(1)业务量参数。

业务量参数包括峰值速率、承诺速率、平均速率、业务颗粒等,它们反映了流量中继对网络资源的需求,是实现TE必须考虑的条件,必要时还应该对其进行修改。

(2)路径选择属性。

路径选择属性包括如下内容:

· 指定路径。指定路径可以是完整的端到端路径,也可以是整个路径的一部分。

· 多路径优先规则。有时可能需要为一个流量中继选择多条路径,并为它们定义优先级。

· 资源亲和性。它决定某流量中继在选路过程中,哪些资源可以使用,哪些资源不能使用。

· 适应性。它是指流量中继是否需要随网络状态与特征的变化而变化。

· 平行流量中继之间的负荷分配。平行流量中继是指两结点之间的多条流量中继,需要对它们的负荷比例进行合理分配。

· 优先权属性。它定义了流量中继之间的相对重要性,利用它可以决定流量中继进行路径选择的顺序。

· 抢占权属性即某流量中继是否能抢占另一条流量中继的路径。抢占权也有级别问题,它是根据流量中继的优先权属性决定的。

2)流量中继的操作

· 建立,创建一个流量中继;

· 激活,使某流量中继开始传送业务;

· 去激活,使某流量中继停止传送业务;

· 更改属性,对某流量中继的某些属性进行更改;

· 重新路由,为某流量中继重新选择路由;

· 拆除,从网络中拆除一个流量中继。

除上述基本操作之外,还可能有一些附加操作,如流量规划与流量整形等。

3)网络资源的特征与属性

这里所说的网络资源主要是指带宽资源。

(1)网络资源的等级。

等级代表带宽资源在网络中的级别,可由网管系统进行配置。网络资源的等级可以用“颜色”(color)来标识,具有相同“颜色”的资源属于同一等级。从流量工程的角度看,利用这一属性可以实现一些优化网络性能的策略。

(2)网络资源的分配因子。

所谓分配因子,是指网络资源可为流量中继所使用的比例。对网络资源的分配使用可以是“不完全分配”,也可以是“过量分配”。

4)约束路由技术

约束路由技术是一种由命令驱动、具有资源预留能力、对流量中继的选路提出各种限制条件的路由算法。约束路由技术并非是MPLS的必要组成部分,但它与TE的实现密切相关。它不但有利于现有网络性能的优化,而且还大大降低了网管的配置工作量与人工干预工作量。约束路由技术将借助于以下数据、技术来实现:

(1)流量中继的各种属性;

(2)网络资源的各种属性;

(3)网络的拓扑状态信息;

(4)显式路由技术;

(5)某些管理策略等。

在综合以上信息的基础上,约束路由技术将对在各结点发起的每一流量中继自动计算出一条确定的路由。利用显式路由技术可以控制从入口结点到出口结点的路径,流量中继的各种属性将对网络资源提出各种需求及限制,而网络资源的各种属性、网络拓扑状态信息与管理策略等将对路由的选择既提供条件又提出限制,约束路由技术的最后计算结果将是一条能满足上述各种要求的标签交换通道LSP。路由的约束条件是多方面的,如基于各种业务流的峰值速率与承诺速率、业务颗粒的大小与性能要求(主要是延时与抖动性能)、流量中继所需带宽容量、流量中继的抢占权与优先权、带宽资源的分配因子、网络资源的等级与类别等。