首页 理论教育下一代计算机网络技术中的MPLS网络环境下QoS控制技术

下一代计算机网络技术中的MPLS网络环境下QoS控制技术

【摘要】:MPLS技术正是目前业界看好的解决IP骨干网络中QoS问题的最佳途径,利用MPLS集成模型在第二层上实现对第三层的QoS的控制,其MPLS环境下QoS实现模型如图3.14所示。

最初,QoS是与ATM技术联系在一起的,近年来,随着IP网络服务的发展,网络研究者提出了综合服务体系结构IntServ及其相应的信令协议RSVP,每个发送者在控制面利用RSVP信令进行QoS协商,在传输路径上的每个节点预留相应的资源。因此,Intserv要求路径上的每个路由器都支持RSVP,保存每个连接的状态,据此对该连接传输的数据进行处理以保证QoS。IntServ虽然能提供不同的QoS保证,但复杂了网络核心路由器,在处理大量连接的核心路由器上实现IntServ是不理想的,其可扩展性和强健性不能令人满意。在此基础上,业界又提出了区分服务模型DiffServ,它将每个连接的接入控制都交给边界路由器处理,边界设备根据用户和网络服务提供者预先协商的流规格对注入网络的单流进行分类,整形,标签,侦察等处理,而核心路由器根据不同的聚合业务类型进行转发处理,无须保存每个连接状态,这样大大简化了核心路由器的处理量,从而获得较好的扩展性和强健性。

多协议标签交换MPLS是一种集成路由技术,它相对于传流的路由技术而言具有更多的可控性,并且与ATM结合起来能充分发挥流量管理和QoS方面的作用。MPLS技术正是目前业界看好的解决IP骨干网络中QoS问题的最佳途径,利用MPLS集成模型在第二层上实现对第三层的QoS的控制,其MPLS环境下QoS实现模型如图3.14所示。

3.4.2.1 综合服务模型Intserv的QoS机制

RFC1633对综合服务模型(Intserv)进行了定义,该模型是IETF提出的一个基于IP的QoS协议模型,它引入了RSVP资源预留协议,利用RSVP综合协议建立一条从源到目的地之间的数据传输通道,并在该道上的和节点进行资源预留,从而保证了沿着通道传输的数据流能够满足QoS要求。目前,Intserv定义了3种业务模型如以下几点:

图3.14 MPLS环境下QoS模型图

(1)保证型业务模型:该类业务模型提供时延,带宽与包丢失率等参数的保证,它使用加权公平排队(WFQ)算法

(2)负荷受控型业务:该类型提供最小时延,但没有固定的排队时延上限,它对排队算法没有特别要求。

(3)尽力而为型业务:这实际上就是传统的因特网所提供的业务,该类型业务不提供任何QoS保证。

Intserv的优点是具有很好QoS保障,使用RSVP的软状态特性可以支持网络状态的动态改变与组播业务中组员的动态加入,同时利用RSVP PATH与RESV的刷新,还可以判断网络中相邻节点的产生与退出,并实现网络资源的有效分配。

3.4.2.2 Intserv在MPLS网络中的实现

要在MPLS网络中实现综合业务,关键在于把标签请求和标签捆绑与一定的QoS参数结合起来,从而在建立LSP的过程中进行适当资源的预留,使得建立起来的LSP具有一定QoS保证。为此,IETF工作组制定了CR-LDR协议或经过扩展后RSVP协议实现。

RSVP协议是一种可以提供音频、视频、数据等混合服务的互联网络综合服务(IIS Internet Integrated service)[RSVP97,RFC1633]。通过它主机端可以向网络申请特定的QoS,为特定的应用程序提供有保障的数据流服务。同时,RSVP在数据流经过的各个路由器节点上对资源进行预留,并维持该状态直到应用程序释放这些资源。

RSVP对资源的申请是单向的,所以RSVP在申请资源的过程中发送端和接受端是逻辑上完全不同的两个部分。(虽然发送端和接受端可以运行在同一个进程下)。RSVP工作在IPv4或IPv6上,处于OSI 7层协议中的传送层,但是,RSVP并不处理传送层的数据,从本质上看,RSVP更像是网络控制协议,如ICMP(Internet Control Message Protocol),IGMP(Internet Group Management Protocol)或是路由协议。和路由协议及管理协议的实现相同,RSVP的实现通常在后台执行,而不是出现在数据传输的路径上。

RSVP协议具有下列特性:

(1)RSVP可以在点对点传播和多点组播的网络通信应用中进行预留资源的申请,它可以动态调节资源的分配以满足多点组播中组内成员的动态改变和路由状态改变的特殊需求。

(2)RSVP比较简单,例如,它只为单向的数据流申请资源。

(3)RSVP是面向接受端的,由数据流的接受端进行资源申请并负责维护该数据流所申请的资源。

(4)RSVP在路由器和主机端维持软状态,解决了组群内成员的动态改变和路由的动态改变所带来的问题。

(5)RSVP并不是一种路由协议,它依赖于目前或将来出现的路由协议。

(6)RSVP本身并不处理流量控制和策略控制的参数,而仅把它们送往流量控制和策略控制模块。

(7)RSVP提供几种资源预留的模式供选择以适应不同的应用需求。

(8)RSVP对不支持它的路由器提供透明的操作。

(9)RSVP支持IPv4和IPv6。

基于MPLS端一端综合业务信息模型如图3.15所示,发送方在传送数据之前首先发出RSVP的路径消息,表明本次传输的流量信息和所希望的QoS服务;MPLS的入口节点LER1收到路径消息后,触发一个含有标签请求(Label1-Req)的消息,该消息中包含相应的流量信息(Traffic-Inf)和QoS请求信息(QoS-Req);当含有标签请求的消息传到MPLS的出口节点LER2后,LER2据此向接收方发出RSVP路径消息;接收方收到路径消息后,向节点LER2发回相应的预留消息;LER2一方面根据预留消息进行相应的资源预留,另一方面根据Label-Req2的要求进行标签分配,并把捆绑标签Label2和相应的预留消息(RESV-Inf)一起向上游节点发送。中间节点LSR除了根据预留信息进行资源预留以及把消息中的标签作为相应的数据流的出口标签外,还要根据所收到的标签请求(Label-Req1)分配一个新标签(label1)和预留消息一起继续向上游节点发送,当含有捆绑标签的消息到达LER1时,表明一条具有一定QoS保证的LSP已经建立起来了。这时LER1向发送方发回RSVP的预留消息,通知发送可以开始传输数据。

图3.15 MPLS IntServ模型图

3.4.2.3 DiffServ QoS保证机制

DiffServ是根据不同信息流需求而提供不同层次网络服务的一种有效的QoS机制,DiffServ模型的思想来源于IPv4包头的TOS(Type of Service)字段,其中0~2位用于设定IP包的优先级(共8个优先级),3~6位用于特定所需的服务,例如,低时延高吞吐量,或低丢失率等。但到目前为止,主机的IP软件以及大多数路由器制造商都没有实现上述功能。

IETF的分类业务工作组对IPv4的TOS字节以及IPv6的通信类型(Treffic Class)字节进行了重新定义,并把它们称为IP包头的DS域。

图3.16 IP包头的DS域结构图

IP包头的DS域的结构如图3.16所示,其中DSCP(Differentiated Services Code Point)分类业务编码,CU当前未定义。DiffServ的结构使得IP网络能支持通过业务流聚类而实现业务分类。DiffServ的模型是在网络边缘基于流分类与流的条件化(应用策略与标签)而建立的。用户端可通过对IP包头的DS域的DSCP进行设置,仅标明希望获得的服务等级,DSCP也可以通过与用户主机直接相连的叶子路由器(leaf router)或客户域的边缘路由器,根据数据流分类结果来进行设置。

PHB(Per-Hop Behavior)是对每一个聚类流在DS节点所获得的转发特性描述,转发行为定义单个IP报文应接收的处理。PHB是分类业务模型的核心,不同的PHB对应不同QoS保证。DS路由器根据IP包头的DSCP,选择相应PHB对其进行处理,从而实现了不同QoS服务水平业务。DSCP用于选择PHB,在IP报头中体现,在分类业务域中,DS路由器根据数据包的DSCP来选择适当的PHB对其进行处理,从而实现了不同QoS等级的服务。在同一DS域,所有的DS路由器对同一数据流提供的PHB应该是一样的,而在不同的DS域中其PHB可以有所不同。

目前,IETF DiffServ工作组正致力于DiffServ标准的制定。RFC2425和RFC2474分别定义了DS域和DiffServ模型的结构体系,RFC2597和RFC2598则定义了AF(Assured Forwarding)和EF(Expedited Forwarding)PHB。这些标准和讨论中的IETF草案对DiffServ模型的基本组成模块(流分类,转发,PBH流量控制)以及相关的路由器设计均提出了概念性模型或建议,为设计、开发PHB和支持DiffServ的网络设备奠定了基础。用于DiffServ模型中的一些基本概念如以下几点:

(1)DS域(Differentiated Services Domain)与DS区(DS Region):DS域是一系列相连的DS节点构成的集合,这些节点遵循统一的服务提供策略并实现一致的PHB组。一个DS域有明确定义的边界,边界由边界节点构成,其主要功能是实现传输的分类(Classify)与调节(Condition)机制,保存流的状态信息,根据预定的流规格对进入或离开区域的流进行调节,包括度量(metering)、标签(marking)、整形(sharping)、丢弃(dropping)等,从而使输出流符合预先制定的流量调节协定(Traffic Condition Agreement,简称TCA),并在包头标签DSCP值,分类归入相应的聚合数据流。连续的DS域构成了DS区,区内支持跨越多个域的区分服务。区内的各域可以支持不同的PHB组,并且各个域的DSCP到PHB的影射函数也可能不同;如果有不同的DS域,则域间必须有服务等级协定(Service Level Agreement,简称SLA)与TCA定义域间的调节规则,协调相互间的服务语意。

(2)TCA和SLA:DiffServ体系为了保持网络内部控制简单的同时能进行QoS保证,提出用协定的方式对用户的流量和对用户的服务类型做出限定。TCA是通过对边界节点的分类和调节规则进行限定来控制进出流量;SLA是特定用户与ISP之间的一个服务协定,该协定规定了用户可以享受的转发服务类型。

(3)流量调节器和分类器:流量分类器和调节器主要存在于DS域的边界节点中。流量分类器的主要功能是依据每个数据包的DS值将其分类,以便根据SLA进行不同的调节和影射到一种或多种服务类型集合(Differentiated Service Behavior Aggregate,简称DSBA)中,以在内部节点中接收不同等级的转发服务。流量调节器则由测量模块、标签模块、整形模块和丢弃模块构成。测量模块对分类器所选择的数据流按照TCA规定的指标进行测量,并将测量结果传送给调节器的其他模块,以触发相应的操作。标签模块给每个DS域段赋值,将其归入特定的DSBA之中。整形模块和丢弃模块分别对部分或全部的分组进行时延或丢弃,以使数据流满足TCA要求。如图3.17所示,给出了边界节点中的分类器和调节器的框图。

(4)DSBA和PHB:DSBA是DS行为集合即一条链路中一定方向的具有相同DS值的分组集合。PHB指对于某种DSBA,实际上是DiffServ网络节点给不同DSBA分配资源的方法,不同的PHB对应不同的缓冲区管理和分组调度机制。区分服务是针对不同应用为分类服务提供的一种简单、粗糙的方法,它根据每跳行为(PHB)的标准来将IP分组转发划分多个模型。目前,IETF定义了4种PHB。

图3.17 分类器和调节器框图

1)默认转发(Default Forwarding,简称DF):包含一个PHB(DF PHB)是对Best Effort数据包转发行为的描述。DF PHB所对应的DSCP为“000000”,这与目前IP包头的TOS字节的用法保持一致。当发生拥塞时,最先丢弃的DF分组。(www.chuimin.cn)

2)确保转发AF(Assured Forwarding):该区分服务中,定义了4级AF(AF1~AF4),每级AFx定义了3个等级,即包含了12个PHB,在DS节点中为每一级AF都分配一定数量的转发资源(如带宽、缓冲区)。对于属于同一种AF的数据包,每个DS节点对它们都采用FIFO策略进行调度,同时对于同一类AF的数据包,又可以有3种不同的拥塞丢弃优先级,级别越高的AF越早被节点处理,当发生拥塞时,其转发成功率越高。值得注意的是,确保转发能确保IP分组能转发出去而不丢失,即当IP分组数据流超过本地策略规划的流量时,IP分组数据流将被降级,转发时延会增加,但不会丢弃。

3)迅速转发模式(Expedited Forwarding,简称EF):该模式中包含1个PHB,利用EF PHB可以在DS域中实现低时延,低时延抖动和低丢弃率,并具有一定带保证的端到端业务,这种业务也称之为优质业务(Premium Services)。

4)Class Selector(CSx,x=1,2,…,8),包含了8个PHB。在历史上,根据标准REC791的规定,IPv4包头的TOS字节的0~2位是用于确保IP包转发的优先级的,也称为IP的优先级域。为了使分类业务编码能够与IP优先级域在一定程度上保持兼容,而又不牺牲将来应用的灵活性,分类业务工作组定义了一组DSCP,用于根据IP优先级域来选择适当的转发处理(PHB),并称为类型选择编码(Class Selector Code,简称CS)。分类业务工作组并没有直接定义与类型选择编码CS相互对应的PHB。

3.4.2.4 MPLS下DiffServ转发行为模型

DiffServ定义了一组行为集合(Behavior Aggregate,简称BA),该集合的相同约束条件形成一个有序集合(Ordered Aggergate,简称OA)。而具有相同队列要求、调度行为,但丢弃优先级不同的PHB形成PHB调度类(PHB Scheduling Class,简称PSC)。

MPLS和DiffServ有一个共同之处是将复杂处理推向网络边缘,中间节点仅做简单处理,以加快分组转发速度。MPLS和DiffServ的结合是IP网络中实施QoS的理想方法,然而,MPLS和DiffServ结合的关键问题是,MPLS域的中间节点不检查IP分组头,即看不到IP DSCP,为此需将其映射到MPLS头的EXP域中。而EXP域仅有3位,并不能完全复IP头中DS字段6位的PHB。为了解决这个问题,将采用下面的策略。

当网络中PHB的数量不多于8个的时候,就可以用MPLS头标中3位EXP字段来完全标识在它上面进行转发的BA的区分服务信息(PSC和丢弃级)即每一跳行为PHB,每一类BA的PHB唯一对应一个EXP字段值。这种由EXP导出的PSC LSP(EXP-Infered-PSC LSPs)称为E-LSP。一个在该LSP上传输的分组,其PSC取决于该分组的EXP域的值。对于E-LSP,标签代表一个FEC和E-LSP上传输的行为集合组的结合。

当网络中PHB的数量多于8个时,MPLS头标中3位EXP字段就不能完全表示BA的DiffServ信息(PSC和丢弃级),就要让Label字段来携带部分DiffServ信息,使用EXP字段来表示该分组的丢弃优先级。将PSC信息和FEC信息都写入Label字段,这样MPLS头标就可以表示全部的DiffServ信息。这种由标签导出的PSC的LSP(Label-Only-Infered-PSC LSPs)称为L-LSP。在L-LSP中,PSC在路径建立时已经由Label值字段唯一确定。

1.LDP为支持DiffServ而进行的扩展

LDP协议用来在MPLS网络域中建立标签交换路径,为了支持DiffServ服务的LSP,必须对LDP进行扩展,扩展后的LDP协议即引入新的LSP TLV,通过DiffServ TLV实现。其Diffserv TLV的格式如图3.18所示。

图3.18 区分服务TLV格式图

在标签请求消息中,在FEC TLV后添加DiffServ TLV,根据这两个TLV的作业请求,在请求返回后,根据PHB中的丢弃优先级的不同,标记映射消息中就又包含一个或多个(可选)Label TLV,它们按照丢弃优先级从低到高排列。同样,在标签释放消息和通知消息的格式中也添加了DiffServ TLV,使近邻的发现、会话的维护、标签的分发与回收、事件处理及其状态报告等都能按QoS的要求进行。

U为“未知TLV”位,F为转发“未知TLV”,U和F字段表示当无法识别该TLV时的相应处理方式(拒绝转发、返回通知消息等)。

T:指示LSP类型,0为E-LSP。

Reserved:27位,保留位,发送者必须将其设为0,在接收处被忽略。

MAPnb:4位,指示MAP条目的数目,目前可以从1到8任意设置。

MAP:32位,每一个MAP条目定义一个EXP域值到PHB之间的映射,起具体结构如下:

Reserved:13位,保留位,发送者必须将其设为0,在接收处被忽略。

EXP:3位,实验域值,PHBID:16位,对应的PHB代码。

当建立的是L-LSP时,类型字段表示的是PSC TLV;长度字段表示的是该TLV的长度;T字段为1表示建立的LSP是L-LSP;MAPnb字段表明该TLV携带的PSC的数量,指示LSP支持的PHB调度类型,当PSC包含一个PHB时,字段的前六位直接使用该PHB的DSCP值,当PSC包含多个PHB时,前6位使用该PHB集合所设即该PHB推荐的DSCP值,后10位中除最后第二位为1外,其余都为0。

另外,也可以用扩展的RSVP信令在MPLS中支持区分服务,支持DiffServ的消息格式如下:

2.DiffServ Over MPLS模型的QoS机制

为了尽量减少标签数量,最大限度地携带DiffServ的信息,可以用L-LSP、E-LSP或两者结合起来来传送一个给定的FEC中的多个BA。LSP的选择由网络管理员根据特定域中的DiffServ和流量工程等方面的信息进行仔细权衡决定。

在MPLS域的边界节点,当收到业务请求时,LER完成标准的MPLS和DiffServ规程。如果建立的是E-LSP,分组的处理完全是决定于EXP字段和PHB的映射,这和标准的DiffServ网络中的处理是一致的。如果建立的是L-LSP,分组的处理就要按照规定的映射规则将PHB映射成PSC与EXP的结合。根据这些信息,扩展的LDP信令为具有相同的FEC和PSC的分组建立一条相同的LSP,其IP分组在MPLS网络中的处理过程如图3.19所示。

图3.19 IP分组在MPLS中处理过程图

当建立L-LSP时指定需求的带宽时,指定的带宽和L-LSP的每跳转发行为调度分类相关。标签交换路由器利用指定带宽在区分服务的资源上完成接纳控制,并通过每跳转发调度分类的权重来保证带宽。

当建立E-LSP时指定需求的带宽时,指定的带宽和整个LSP以及每跳转发行为调度分类集相关。这样,基于所有每跳转发行为调度分类集共享的资源,标签交换路由器LSR用指定的带宽来接纳控制。

从以上可以看出:这种IP QoS机制融合了多种QoS控制模型,有效地实现了在第二层上实现了对第三层的QoS控制。从目前来看MPLS结合区分模型是实现IP QoS的理想方案。

3.分类业务机制实施中注意的问题

为了保证在分类业务机制实施中的关键业务或用户的服务质量要求,需要充分考虑业务分类和拥塞控制技术等问题,主要应考虑如下问题:

(1)业务矩阵。服务质量的参数设计应与预先周密估计的业务矩阵和实际测量获得的业务矩阵为依据,该业务矩阵包括需要的业务等级和相应的业务量大小。

(2)速率限制。在接入路由器和拨号访问接入服务器的接收端口上设计合理的速率限制参数和根据业务进行IP优先级指定。通过速率限制,还可以在一定程度上保证网络骨干的过盈设计目标。

(3)分类映射。分类映射要以IP优先级为基础,对IP优先级在整个网络中赋予一致的含义,并尽量采用习惯性优先顺序安排,并且在该一致含义下设计路由器设备中的排队调度和拥塞控制等配置参数。

(4)排队调度。路由器可以采用不同的调度算法,例如,采用DRR,WFQ等排队调度法,让最高优先级享有绝对优先权,而VOIP,Videoconference等关键业务则享有剩余资源50%的调度权。

(5)拥塞管理。在路由器可以采用加权随机早期检测(WRED)等技术来管理拥塞,WRED试图通过提前从队列头丢弃少量报文来避免队列的拥塞。选择性丢包与优先权相对应。