IP QoS标准:DiffServ与MPLS的区别

2020-10-26 16:16:34 云杰通信 102

IP QoS标准:DiffServ与MPLS的区别

  尽管增加带宽能够改善因特网的服务质量,但简单地增加带宽无法满足新应用的特点与需求,因此需要为目前“尽力而为”的IP网引入服务质量(QoS)技术。IETF目前看好两个IP QoS标准:区分服务(DiffServ)和MPLS。文章研究了它们的特点、区别以及MPLS支持DiffServ的技术。

  因特网取得巨大成功的一个原因是它所使用的IP协议的简单性。因特网提供的是一种尽力而为的服务:IP网尽量把数据包从源端转发到目的端,但对所能够提供的包转发的服务质量(QoS)不做任何承诺。因此,IP网提供的服务质量是无法预知的。

  很多新出现的因特网业务是多媒体应用,要么要求巨大的带宽,要么需要严格的延迟保证,要么要求一点到多点或多点到多点的通信能力。这些新业务要求IP网除了提供简单的尽力而为服务以外,还需要新的服务方式,需要现在的“哑”IP网具有一定的智能。

  IETF目前看好两个IP QoS标准:区分服务(DiffServ)和MPLS。DiffServ取代了IP服务类型(TOS)字段改名为DS字段,并用它承载IP包服务所要求的信息,是严格意义上的三层技术,不涉及低层的传输技术。另一方面,MPLS规定了一种把三层流量映射到面向连接的二层传输技术(如ATM,帧中继)上的方法,它给每个IP包增加一个特定的选路信息,允许路由器为不同类型的流量指派不同的显式路由,提供与QoS没有直接联系的路由能力,如流量工程(TE),以改善IP路由的效率。

  一、区分服务

  DiffServ 起源于IntServ。DiffServ的目的是在因特网上为流量提供有区别的业务级别。与IntServ相比,DiffServ定义的是一个相对简单而粒度粗一些的控制系统。另外,DiffServ针对的是流聚合后的每一类QoS控制,而不是像IntServ那样针对每个流。因此,DiffServ具有可扩展性,能够在大型网络上提供QoS服务。

  DiffServ在其域的边缘对进入流进行分类,并为每一类型指定一个类型标志DiffServ代码点(DSCP)。域内的核心路由器查看DSCP值,并根据每一类的特定逐跳行为(PHB)调度包的转发。DiffServ把基于相同的PHB转发的一组包称为行为聚集(BA)。

  DiffServ工作组已经定义了DSCP与 PHB的映射关系,但同时也允许ISP自行定义具有本地意义的映射关系。

  1.加速转发(EF)

  EF PHB(或EF)的流量不受其它PHB流量的影响,确保包的离开速率高于所规定的值。与传统的租用线类似,EF PHB能够提供低丢包率、低延迟、低抖动和有保证的带宽服务。EF PHB转发只提供对已接受的固定流量以及对流进行最小程度的排队,并在边缘路由器丢弃掉任何超过EF指定数量的流。

  2.保证转发(AF)

  AF为IP包提供不同级别的转发特征,为四个级别AF中的每个都分配特定数量的转发资源(比如缓冲区和带宽),并且为每个包指派三种不同丢弃优先级中的一种。AF PHB允许在整个流量不超过预先设定速率的前提下以更高的可能性转发包。

  二、MPLS

  MPLS起源于IP交换和标记交换技术。因为MPLS定义了用新的路由协议封装IP流量的体系结构和协议,而DiffServ只关注与现有路由协议独立的IP包字段,所以它对传统IP网络的改变比DiffServ深刻得多。

  IP是无连接的网络,每台路由器根据所收到的每个包的地址查找匹配的下一跳,并做相应的转发。但路由器使用的是最长前缀匹配地址搜索(即搜索匹配前缀最长的一个作为入口),无法实现高速转发。MPLS在网络的入口边缘路由器为每个包加上一个固定长度的标签,核心路由器根据标签值进行转发,在出口边缘路由器再恢复成原来的IP包。因为根据固定长度的标签搜索目的地址,所以MPLS能够实现高速转发。根据标签确定的转发路径称为标签交换路径(LSP)。

  MPLS能够实现显式LSP,并且它能够根据流量的QoS要求选择一条优化的边缘到边缘的路径。MPLS也能够在网络范围内做负载均衡的流量工程,也可以做虚拟专用网(×××)。提出MPLS的初始动机是实现更高速的路由转发,但随着路由器性能的不断提高,这种理由已不复存在,但在IP网上建立连接实施流量工程以及组建×××正在越来越流行。

  在MPLS流量工程中可以使用下列标签分发过程建立LSP。

  1.约束路由标签分发协议

  约束路由标签分发协议(CR-LDP)是对已有的标签分发协议(LDP)的扩展,能够支持约束路由。CR-LDP可以在标签请求消息中建立一条LSP(通过LSR B和LSR C)。另外,CR-LDP允许在标签请求消息中设置流量参数,比如峰值速率、承诺速率和突发性等。但是,CR-LDP并不真正支持LSP流量的QoS保证机制。

  2.RSVP-TE

  RSVP-TE是从已有的RSVP协议扩展而来的标签分发协议。它使用了几个新的RSVP对象,如强制性LABLE-REQUEST对象和LABEL对象。RSVP-TE能够支持用以建立和维护LSP的附加功能,包括按需下游标签分发、显式LSP实例、为显式LSP分配网络资源、运用“中断之前先建立(make-before-break)”的思想重路由已建立的LSP隧道、跟踪LSP隧道的真正路由、诊断LSP隧道、结点摘要的思想、抢先选择和可控制的管理等。

  3.管理人员逐跳建立

  网络管理人员用网络管理系统,如简单网管协议(SNMP)、命令行接口(CLI)等,为每条LSP上的所有路由器建立MPLS用法信息。

  三、MPLS 支持的DiffServ

  MPLS用一个标签作垫层(shim)封装了IP包,核心路由器看不到DSCP,DiffServ与MPLS并不兼容。为此,IETF提出了一种MPLS支持DiffServ的方法。

  MPLS支持的DiffServ能够把DiffServ的多个BA映射到MPLS的一条LSP上,根据BA的PHB来转发LSP上的流量。LSP与BA的映射有两种方式: E-LSP和L-LSP。

  1.E-LSP

  E-LSP用EXP字段把多个BA指派到一条LSP上,使用MPLS垫层头的EXP字段表示一个包的PHB。最多可以把8个BA映射到EXP字段中。

  2.L-LSP

  L-LSP把一条LSP指派给一个BA(表现出多个包丢弃优先级),根据MPLS标签确定包的调度策略,根据垫层头或二层包丢弃机制确定丢弃优先级。纯ATM MPLS不能使用 EXP字段。

  由于MPLS网络设备会在每一跳中都交换标签值,因此管理标签与DSCP的映射比较困难。E-LSP比L-LSP更容易控制,因为E-LSP事先就可以确定整个网络中每个包的EXP字段和DSCP之间的映射关系。

  四、结语

  DiffServ提供的是一种区别对待不同业务的服务,为不同的业务设置不同的优先级和转发特性,但并不具体规定如何进行转发,也不设法消除拥塞。在网络没有拥塞时,即使是尽力而为型的IP包也能够得到很好的网络服务,因此有没有DiffServ都一样。而在DiffServ网络中也完全有可能发生拥塞,因为即使DiffServ在网络边缘做了流量调节,在网络核心路由器上也完全有可能因为流量汇聚而出现拥塞(负载不均衡)。这时,DiffServ是以牺牲低优先级的业务为代价换来高优先业务的QoS(拥塞严重时也可能损伤高优先级的业务),但并没有消除拥塞。MPLS提供的流量工程能够解决负载不均衡出现的拥塞问题。

  DiffServ不关心低层网络采用什么技术解决网络拥塞问题,而MPLS流量工程也不关心所承载的流量采用的是什么QoS机制。但在MPLS承载 DiffServ(或IntServ)时,因为标签封装的原因,核心路由器看不到IP包的头,因此IETF提出了一种MPLS能够支持DiffServ的技术。

  显然,解决IP网的QoS,仅仅依靠DiffServ和MPLS这两种技术仍然不够,还需要拥塞控制技术(如RED)、排队调度技术(如WFQ)、约束路由、应用层流量重定向和流量均衡技术等协同工作。