H3C以太网交换机支持的QoS之队列调度

| No Comments | No TrackBacks

当网络拥塞时,必须解决多个报文同时竞争使用资源的问题,通常采用队列调度加

以解决。

下面介绍SP(Strict-Priority,严格优先级队列)、WFQ(Weighted Fair Queue,

加权公平队列)和WRR(Weighted Round Robin,加权轮询队列)。

(1)   SP 队列

SP 队列调度算法,是针对关键业务型应用设计的。关键业务有一个重要的特点,即

在拥塞发生时要求优先获得服务以减小响应的延迟。以端口有8 个输出队列为例,

优先队列将端口的8 个输出队列分成8 类,依次为7、6、5、4、3、2、1、0 队列,

它们的优先级依次降低。

在队列调度时,SP 严格按照优先级从高到低的次序优先发送较高优先级队列中的分

组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业

务的分组放入较高优先级的队列,将非关键业务(如E-Mail)的分组放入较低优先

级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业

务数据的空闲间隙被传送。

SP 的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么低优先

级队列中的报文就会由于得不到服务而"饿死"。

(2) WFQ 队列

在介绍加权公平队列前,先要理解公平队列FQ(Fair Queuing)。FQ 是为了公平

地分享网络资源,尽可能使所有流的迟延和延迟抖动达到最优而推出的。它照顾了

各方面的利益,主要表现在:

1 不同的队列获得公平的调度机会,从总体上均衡各个流的延迟;

2 短报文和长报文获得公平的调度:如果不同队列间同时存在多个长报文和短报

文等待发送,应当顾及短报文的利益,让短报文优先获得调度,从而在总体上

减少各个流的报文间的延迟抖动。

与FQ 相比,WFQ 在计算报文调度次序时增加了优先权方面的考虑。从统计上,

WFQ 使高优先权的报文获得优先调度的机会多于低优先权的报文。WFQ 能够按流

的"会话"信息(包括协议类型、源和目的TCP 或UDP 端口号、源和目的IP 地址

及ToS 域中的优先级等)自动进行流分类,并且尽可能多地提供队列,以将每个流

均匀地放入不同队列中,从而在总体上均衡各个流的延迟。在出队的时候,WFQ 按

流的优先级来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。

优先级的数值越大,所得的带宽越多。最后,轮询各个队列,按照带宽比例从队列

中取出相应数量的报文进行发送。

用户可以用WFQ 的队列调度算法为0~7 队列中的每个队列指定带宽,然后根据每

条流的CoS 值和队列的映射关系决定哪条流进哪个队列,也决定了哪条流分得多大

的带宽。

(3) WRR队列

WRR 队列调度算法在队列之间进行轮流调度,保证每个队列都得到一定的服务时

间。以端口有8 个输出队列为例,WRR 可为每个队列配置一个加权值(依次为w7、

w6、w5、w4、w3、w2、w1、w0),加权值表示获取资源的比重。如一个100M

的端口,配置它的WRR 队列调度算法的加权值为5、5、3、3、1、1、1、1(依次

对应w7、w6、w5、w4、w3、w2、w1、w0),这样可以保证最低优先级队列至少

获得5Mbit/s 带宽,避免了采用SP 调度时低优先级队列中的报文可能长时间得不到

服务的缺点。WRR 队列还有一个优点是,虽然多个队列的调度是轮询进行的,但对

每个队列不是固定地分配服务时间片----如果某个队列为空,那么马上换到下一个

队列调度,这样带宽资源可以得到充分的利用。

No TrackBacks

TrackBack URL: http://tech.bestjoin.net/MT/mt-tb.cgi/456

Leave a comment

About this Entry

This page contains a single entry by 风海林土 published on April 4, 2009 7:23 PM.

windows平台下真正的数据同步系统 was the previous entry in this blog.

禁用TCP调谐功能,解决Vista下浏览网页问题 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.