务类别的数据分组只能使用预先分配的队列缓冲资源。完全划分策略会带来很大的缓冲资源闲置。完全共享策略允许所有的数据流使用系统中所有的缓冲资源。完全共享策略会带来很大的缓冲资源利用率,但是其无法为用户应用提供服务质量支持,同时也无法提供公平性保障。部分共享策略介于前两种中,既允许系统中一部分缓冲资源被所有服务类别的分组共享,又为高优先级服务类别的分组预留一部分资源以满足其突发需求。 (2)、分组丢弃策略
分组丢弃策略主要有:尾部丢弃和头部丢弃、阈值丢弃、随机丢弃、非参数控制丢弃和选择性丢弃。
尾部丢弃是在缓冲区满时丢弃新到来的分组,相反,头部丢弃是在缓冲区满时丢弃队列最前端的分组以接纳新到来的分组。阈值丢弃是当队列长度超过设定的阈值时,随之而来的分组将被丢弃。阈值丢弃使得队列的长度不稳定。基于概率的随机丢弃避免将同一数据流中的分组丢弃,一定程度上保障了用户应用的公平性。非参数控制丢弃利用模糊控制的平滑过渡特性平滑分组丢弃行为,同时保持队列长度的稳定性。
4、 缓冲管理的典型算法
缓冲管理的典型算法主要有:早期随机丢弃RED算法及其改进算法、自适应虚拟队列AVQ算法、动态阈值算法、成比例丢失率控制算法、缓冲管理和调度联合算法和动态部分缓冲共享算法。
六、 分组调度 1、 分组调度概述
分组到达某个网络节点时,经过存储,再转发到下一节点。根据分组在系统中存储的位置,可以有三种分组排队策略。这三种策略分别是输出排队、输入排队和输入输出排队。输出排队是指分组到达输入接口时,被立即经过交换机转移到相应地输出接口进行缓存。输入排队是指把分组首先存储在输入接口中,交换机构只需以线速实现交换即可。输入输出排队是将以上两种方式结合起来形成的排队策略。
分组调度规定了分组从每个队列离开的瞬时特性,通过流隔离,使得不同业务类的分组得到不同等级的服务。分组调度在带宽分配、时延控制和相对优先级控制三个方面起到很大作用。调度器可以为特定的业务类提供最低的带宽保证或最高的带宽上限,使得带宽分配更加合理。根据不同业务对时延的要求不同,调度器可以将对时延要求严格的业务优先转发,将对时延要求宽松的业务延后转发,实现时延控制。调度器可以使得重要的分组得到最好的服务,次要分组得到较差的服务,即可以对业务相对优先级控制。
2、 分组调度算法的性能指标
分组调度算法的性能指标主要有三个:有效性、公平性和复杂性。
分组调度算法应该能够实现预期的控制目标,使得各个数据流能够得到事先约定的等级的服务。有效性包括资源利用率和时延特性等。
可以链路的带宽必须以公平的方式分配给共享此链路的各个业务流,而且必须隔离数据流,让不同的数据流只享用自己可以享用的带宽。
在高速网络中,分组调度算法必须能在很短的时间内完成分组的调度转发。
这要求分组调度算法比较简单,易于实现。然而,一般情况下,算法越有效,其考虑的信息越多,其复杂性越高。所以,分组调度算法通常在简单性和有效性之间进行折中。
3、 常用的分组调度算法
常用的分组调度算法可以归为以下几类:基于静态优先级的算法;基于轮询的算法;基于GPS模型的算法;基于时延的算法;分层链路共享算法;核心无状态算法;基于服务曲线的算法;比例区分算法;结合缓冲管理算法。
基于静态优先级的算法主要有PQ和QLT。PQ算法给每一个队列赋予不同的优先级,每次需要调度时,具有最高级别的非空队列中的分组优先被选择服务。PQ算法中优先级是静态配置的,不能动态适应变化的网络要求。QLT算法给每个队列设置一个阈值。当具有最高优先级的队列长度大于其阈值时,该队列头部的分组优先被服务。当具有最高优先级的队列长度小于其阈值时,不再服务该队列,而是检查具有次高优先级的队列,如此类推。通过设置合理的阈值,QLT算法在保证优先级关系的基础上,提高了公平性。
基于轮询的算法有RR和WRR。传统的轮询RR算法只是简单地对所有队列进行轮询调度,一次调度一个分组,使得不同队列在某种程度上平等地使用带宽资源。WRR对每个队列赋予不同的权值,通过改变权值,改变队列的服务速率,满足不同优先级业务的需求。
基于时延的算法有很多,它们是直接以排队时间作为参数,并以提供时延保证为目的。
分层链路共享把不同类型的业务流划分成不同级别的类,并同时考虑业务的实时性和链路共享的需求,按照不同层次进行分组调度,从而提供了在分层共享树内进行不同等级的共享链路带宽资源的方法。
比例区分服务是一种相对区分服务。在相对区分服务中,数据流被组合成服务类,这些服务类按照其分组转发的服务质量要求进行排序,以决定其排队延迟、分组丢失率等转发行为。网络不进行资源预留,用户或应用程序选择最符合它们质量要求和价格限制地服务类。在比例区分服务模型中,任意两个数据类在每一跳中获得的服务满足确定的比例。
七、 QoS路由
路由包含两个基本功能:一是搜集网络的状态信息并不断更新;二是根据所搜集的信息计算可行路径。QoS路由的基本任务是为一次连接寻找一条有足够资源、能满足QoS要求的可行路径。 1、 基本路由算法
Dijkstra最短路径算法也称D算法。D算法为集中式算法,需要完整的网络拓扑和链路权值,并由此计算出一个指定源节点到网络中所有其他节点的最短路径。网络图中,每一个节点都有一个标记,标出了从源节点开始沿着当前已知的最佳路径到达该节点的距离。初始时,所有的路径都不知道,所以,所有的节点都被标记为无限远。随着算法的不断进行,陆续有一些路径被找到,于是节点的标记有可能会被变化,以反映出更好的路径。每个标记可能是暂时的,也可能是永久的。当已经发现一个标记代表了从源节点到该节点的最短可能路径的时候,该标记变成永久的,以后不再改变。D算法总是不断检查与现已知点相邻的点到源节点的最小距离并修改标记,直至整个网络中的点都被检查完毕。
在距离路由矢量算法中,每个路由器维护一张表(即一个矢量),表中列出了当前已知的到每一个目标的最佳距离,以及所使用的线路。通过在邻居之间相互交换信息,路由器不断更新它们内部的表。
链路状态路由算法将每个路由器完成的任务分5个步骤完成:第一步,发现它的邻居节点,并知道其网络地址;第二步,测量到各邻居节点的延迟或开销;第三步,构造一个分组,分组中包含所有它刚刚知道的信息;第四步,将这个分组发送给所有其他的路由器;第五步,计算出到每一个其他路由器的最短路径。
2、 QoS路由问题
QoS路由选择有两个基本目标:①所选择的路径必须是满足QoS约束的可行路径;②所选择的路径必须尽量有效地使用网络资源并使网络资源利用率最大。
QoS路由问题一般由三个部分组成:①获得满足应用QoS请求所必须的QoS路由计算信息;②建立一条满足QoS请求的路径;③维护已建立的路由。对于第一个问题,可以扩充现有的链路状态协议(如OSPF),目前的OSPF协议将QoS编码位扩展为5位,分别指示路由度量指标为费用代价、可靠性、带宽和时延,全“0”表示无特殊要求。对于第二个问题,常用的路由算法都使用D算法,以带宽、传输时延和跳数为主要度量准则。对于第三个问题,目前尚无较好的办法,一般使用RSVP充当QoS路由请求和路由维护的信令协议。
3、 路由选择方法
路由选择有两种方法:集中式和分布式。
集中式路由选择方法假设存在一个全局网络管理器来维护所有已建立信道和网络拓扑的信息,因此能够对每个实时信道请求选择一个合适的路由。在集中式方法中,每个实时信道请求必须经过网络管理器的获准。
分布式路由选择方法主要分为两大类:洪泛法和优选邻居法。基于洪泛的算法属于静态路由算法,其思想是将收到的所有包,向除了该包到来的线路以外的所有输出线路发送。该算法以牺牲平均呼叫接收率为代价,在平均呼叫建立时间和平均路由距离方面具有优势。优选邻居路由方法基本上是使用基于返回的路由选择方法。当节点v收到一个呼叫建立分组时,它将该分组发送至最优选择的链路。如果链路的另一端送回一个拒绝分组,则节点v将该分组发送至次最优选择的链路,如此下去,直至呼叫分组到达终点为止,才表明该呼叫已成功建立链接。如果最后仍未能建立链接,则节点v向它收到呼叫建立分组的那个节点发送一个拒绝分组。
4、 Internet路由协议
根据Internet具有的结构特征,可以按照路由协议的作用范围将Internet路由协议分为内部网关协议和外部网关协议。
内部网关协议是由于自治系统内部的协议,其主要包括RIP、OSPF、IGRP、IS-IS等。开放最短路径优先协议OSPF是目前在Internet上最广泛使用的核心路由协议。OSPF将一个网络或一系列相邻的网络分为编号区域,一个区域的网络拓扑结构对于自治系统的其他部分是不可见的。OSPF的工作方式是,将实际的网络、路由器和线路抽象到一个有向图中,并且给图中的每条弧分配一个开销值,然后根据这些权值计算出最短路径。
外部网关协议或边界网关协议(BGP)是由于自治系统之间的协议。每一个BGP路由器保存它到每个目标的开销值和确切路径,并定期的把这些消息告诉它的邻居。每一个BGP路由器会根据它所有邻居传来的信息来找出一条到目标主机的最短路径。
5、 组播路由
QoS组播路由技术是网络多媒体信息传输的关键技术之一。组播路由通常采用树型结构,所以,组播路由算法可以保证信息到不同信宿的并行传输,并保证数据复制最少,减少了冗余信息的传递和降低了资源消耗。
组播路由算法中主要使用了两种分布树:最短路径树和共享树。最短路径树的方式针对于每个组播组的源来处理生成树。在共享树方式中,所有的包沿着分布树发送到组播组而不考虑发送的源,这种方式减少了处理时间,但是导致了较大的端到端延时。
组播路由协议用于发现组播组和建立每个组播组的分布树。组播路由协议有两种方式:密集方式路由和稀疏方式路由。如果网络中几乎所有的路由器都为每个组播组分发组播信息,则使用密集方式。密集方式为了维护分布树,每隔一段时间洪泛网络组播信息。稀疏方式路由协议用于每个组播只有很少的路由器,组播组成员被广泛地分散,如Internet上的组播。稀疏方式假设网络带宽有限,因而不使用洪泛方式,开始建立一个空的分布树,只有当成员请求加入组播组时,才向分布树添加分支。
第三部分 QoS的性能评价与应用扩展
一、 QoS控制的综合性能评价标准 1、 网络QoS控制策略的性能目标
网络QoS控制性能研究中常考虑的主要目标有:网络的整体效率性能、服务质量要求和公平性。这三个目标都可以通过网络的一些性能参数来体现和衡量。网络的整体效率性能可以用网络的吞吐率T来代表,要求有高的网络性能也就是希望网络中节点的吞吐率尽可能地高。应用服务的QoS要求主要包括带宽、延迟、丢失率和延迟抖动等,其中延迟D和丢失率L是两个常用的参数。公平性F要求比较复杂,很难用固定的参数进行表达。
2、 综合性能评价标准 (1)、综合性能评价标准1:吞吐率T+延迟D
网络中两个基本参数——吞吐率和延迟,可以作为研究分组调度策略有效性评价标准的一个很好的出发点。一个QoS控制策略增加吞吐量的做法是让尽可能多的分组通过网络,让底层的驱动达到较高的利用率,但在这种情况下,随着网络分组的增加,每个路由器等待队列的长度也会增加,而队列变长也就意味着等待时延的增加。所以,吞吐率T和延迟D可以作为网络性能评价标准的两个参数。 (2)、综合性能评价标准2:QoS要求+公平性F
在相对区分服务中,网络中的流被分成一个个服务类,不同的服务类可以得到不同的服务质量。这种情况下,网络不能完全保证应用程序或使用者的服务质量,但网络能够保证高级别的类享有比低级别的类更好的服务。所以QoS要求和公平性F可以作为综合性能评价标准的参数。
由于实时应用和多媒体应用主要QoS要求在于延迟D和丢失率L,所以QoS要求和公平性F作为综合性能评价标准的参数时可以分为两大类。第一类是延迟D和公平性F,第二类是丢失率L和公平性F。 (3)、综合性能评价标准3
评价网络QoS控制系统的性能,包含有效性和公平性两个方面。有效性的评价有两类,分别是针对流的评价和针对类的集合的评价。公平性的评价主要从两个层次来进行,分别是流之间的公平性和类之间的公平性。
二、 Web QoS控制 1、 Web QoS概述
Web QoS是一种面向Web客户和HTTP请求以提供性能保证和服务区分的技术。Web流量在Internet总流量中所占比例超过了60%,是Internet信息传输的主流。Web流量中,HTTP请求呈现出指数增长,使得Internet上很多热门站点经常面临服务器超载问题。由于服务器超载问题,Web服务器已经在某种程度上成为实现端到端QoS的瓶颈。因此,在Web服务器系统实现有效的QoS控制,为用户提供满意的性能保证,已经成为一个急需解决的问题。
当前Web QoS技术主要有:Web服务器应用软件的QoS控制技术、操作系统的Web QoS控制技术、中间件的Web QoS控制技术、Web 服务器集群系统中的QoS控制技术、Web QoS控制策略和算法的性能分析与评价技术等。