分享
 
 
 

Internet路由器主动式队列管理机制综述(4)

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

9 AQM提供QoS以及在区分服务中的应用

伴随着Internet的高速增长的便是ip业务的多样化和快速增长。现有的Internet所提供的"极力而为"(best-effort)服务显然不能满足不同用户、不同业务对不同服务质量的(Quality of Service QoS)的要求。因此IP QoS已成为当前的研究热点。

IP QoS体系结构可以分为两种基本类型:

基于资源预留:网络资源按照某个业务的QoS要求进行分配,制定资源治理策略。IETF提出的综合服务(IntServ)体系结构便是基于这种策略。

图:RIO算法示意图

基于优先级:对业务流进行分类、整形、标记。按照资源治理策略分配资源,对QoS要求高的业务给以优先处理。IETF提出的区分服务(DiffServ)便是基于这种策略。

由于综合服务存在着扩展性等问题,使得其发展碰到了很大障碍,因此导致了区分服务的产生。区分服务的目标在于简单有效,以满足对可扩展性的要求。

9.1 区分服务

在区分服务网络中,边界路由器根据用户的流规格(stream PRofile)将用户流划分为不同的级别,再聚合成流聚集(stream aggregate),聚集信息存放在IP包头的DS标记域,称为DS标记(Differentiated Services CodePoint,DSCP)。内部节点则根据DSCP提供不同质量的调度转发服务,其外部特性称为每跳行为(Per-Hop-Behavior,PHB)。DiffServ的服务类型除了传统的极力而为的服务外,还有确保服务(Assured Service)和奖赏服务(Premium Service)。它们分别对应快速转发(EXPedited Forwarding, EF) 型PHB和确保转发(Assured Forwarding, AF)型PHB。

9.1.1 确保服务

奖赏服务严格保证用户的带宽,为用户提供低延迟、低抖动、低丢失率和保证带宽的所谓"三低一保证"的端到端或网络边界到边界的传输服务,是目前区分服务中服务级别最高的种类。

与奖赏服务的严格保证不同,确保服务是从统计上保证用户的带宽。确保服务最具吸引力的是其实现机制较为简单,只要采用简单的标记和丢弃机制就能实现IP QoS。在发生拥塞时,确保服务通过控制丢弃优先级,提供了比"极力而为"服务更好的服务。确保服务的基本思路是:

边界路由器标记包,预约带宽内的标为IN,否则标为OUT。

发生拥塞时,Out包的丢弃率大于In包。

9.2 RIO(RED with In and Out?/strong?

RIO的基本思想是:边界路由器监视每个进入网络的用户数据流,根据它们的服务规格对包进行标识,预约带宽以内的标为IN(in profile), 超出的标为OUT(out profile)。在拥塞的路由器上,Out包被丢弃的概率要大于In包,从而在一定程度上保护In包。RIO的算法如图所示。

For each packet arrival

If it is an In packet

Calculate the average In queue size avg_in

Calculate the average queue size avg_total

If it is an In packet:

if min_in

RIO算法是基于RED算法的,但对RED算法进行了扩充,使其能在一个队列中治理In包和Out包,而不需要维持两个队列。因为假如维持两个队列,将会增加包的乱序,从而导致TCP性能降低或者增加延迟抖动。RIO有两套参数:一套是(min_in,max_in,max_in_p),用来计算In包的标记率;另一套是(min_out,max_out,max_out_p),用来计算Out包的标记率。可以通过选择这两套参数使得RIO增大Out包的丢包率,从而保护In包。一般来说,min_in=max_out,max_out_pmax_in_p,并且In包的丢包率依靠于In包的平均队长avg_in,而Out包的丢包率依靠于总的平均队长avg_Q。这样,一旦RIO检测到早期拥塞,首先丢弃Out包,并且直到Out包全丢了,假如继续拥塞,才开始丢弃In包。

实际上,确保服务就是RIO方法的扩充。目前,绝大部分区分丢弃机制(differentiated drop mechanism)的研究都是基于RIO方法的。RIO已成为实现区分服务的一种简单有效的方法。

9.2.1 RIO性能分析

对确保服务而言,根据网络是否能够满足其规格要求的带宽可以分为"充分提供"(over-prov- isioned)和"不充分提供"(under-provisioned)两种情况。

保护TCP的吞吐量免受RTT影响:由于TCP的吞吐量是和RTT成反比。在网络不能充分提供的情况下,小RTT的连接能更块地增加拥塞窗口的大小,因而能更快地超过其规格要求,产生更多的Out包占用剩下的带宽。但是,这些小RTT连接的Out包并不能阻止大RTT连接的In包进入路由器队列,因而大RTT连接的吞吐量至少能在规格范围内得到保证。在网络充分提供的情况下,RIO能充分保证大RTT连接的吞吐量,但其获得的剩余带宽较少。

保护TCP流的吞吐量免受非适应流影响: 在网络充分提供的情况下,RIO能在规格范围内保护TCP流的吞吐量,但所有剩余带宽都被非适应流占用。在网络不能充分提供的情况下,也只有非适应流能达到其规格要求,但其并不能占用超过规格要求的资源。另外,RIO无需每流状态信息,简单易行。

基于同样的原因,Web类流也得到了较好的保护。由于在现在的Internet上,Web流已占总流量的50%,因此,部属基于RIO的确保服务也有其现实性。

事实上,在网络还有剩余带宽的情况下,RTT大小、包的尺寸、聚流中单流的数量、目标速度以及是否存在非适应流都会影响TCP流对剩余带宽的使用。另外,假如其它方面都相同,用户并不能按规格要求成比例地享用剩余带宽。

若网络带宽不能满足用户的规格要求,用户获得的性能也是更多的受到了TCP和RED在竞争的流之间分配带宽方式的影响而不是规格本身。但规格要求低的用户总能比规格要求高的用户更快地接近目标带宽。

9.3 带权重的RED(Weighted RED )

WRED是CISCO公司提出的一种支持区分服务的AQM机制。与RIO一样,WRED基本思路也是在IP包头按照某种策略进行标记,丢包优先级基于该标记。WRED能支持8个独立的丢包优先级,每个级别配置一套独立的RED参数,如下图所示:

图7:WRED示意图1(交错型)

图8:WRED示意图2(重叠型)

WRED和RIO最主要的区别在于,WRED只使用一个平均队长来计算丢包率,而RIO需要两个。WRED计算平均队长和RED中一样,是基于队列中所有的包,而RIO除此以外还需要计算In包的平均队长。

WRED的参数设置有两种方式,一种是和RIO一样,称为交错型(staggered),每个级别都有一套参数(min_th(i),max_th(i),max_p(i)),并且满足max_th(i)

9.4 RIO和WRED性能的比较

RIO和RED都是基于RED的变种。事实上,根据RED阈值的套数、计算平均队列的机制可以将RED变种分为四类,如图5所示:

图9:RED变种

像WRED和RIO这类有多套阈值的RED变种可以统称为MRED(Multi-Level RED)。最常用实现区分服务的AF PHB的两种MRED便是RIO和WRED了。虽然这两种算法很相似,但在性能上还是有差别:

对ON-OFF突发流,RIO在保护低丢弃优先级的包方面优于WRED。

对短时(short lived)流,RIO的处理速度高于WRED。

在保护低丢弃优先级的包方面要达到同样的效果,WRED比RIO需要更大的阈值,这样就意味着延时的增加。

9.5 基于分类的阈值(Class-Based Thresholds CBT)

除了RIO和WRED,另一种可以来实现区分服务的AQM就是CBT。CBT的基本思想是基于一定的策略对业务进行分类,每一类都有一个阈值。CBT,和RED一样,通过平均队长来控制标记包的概率;不同之处在于,当一个包进入路由器时,首先要计算该类业务的平均队长,计算方法和RED中计算平均队长一样,假如平均队长大于该阈值,则丢弃包;否则,再按照RED算法进行丢包。

CBT实际上是一种资源预留机制,通过对不同的业务提供不同的阈值,就达到了为不同业务、不同用户提供不同服务质量的目的。CBT最大的缺陷在于,静态的资源预留机制不能适应动态的业务组成的变化。假如某类业务的组成成分发生急剧变化时,CBT的性能就会大大下降。改进的方法就是动态地设置每类业务地阈值,这个算法称为动态的CBT(Dynamic CBT)。DCBT需要维持每类业务的状态信息和跟踪其活跃流的数量,从而动态地调整阈值。

10 结束语

主动式队列治理AQM技术是IETF推荐的基于路由器拥塞控制的要害技术,它和TCP端到端的拥塞控制相结合,是解决目前Internet拥塞控制问题的一个主要途径。

不仅如此,在对IP QoS 呼声越来越高的今天,AQM也是实现QoS的重要机制。AQM不仅可以通过减小丢包率、端到端延迟、提高吞吐量等支持QoS,而且还可通过对不同业务实施不同的AQM机制来达到区分服务的目的。因此,AQM已经成为目前的研究热点之一。

公平性是AQM需要解决的一个重要问题。如何使路由器不增加过多的额外负担,又能够提高公平性,一直是困绕广大研究人员的一个难题。参数设置问题是AQM需要解决的另一主要问题。虽然目前也提出了一些解决方法,如ARED等,但并没有完全解决这类问题。

另外,目前的AQM机制研究基本上都是基于仿真,然后根据经验进行改进,缺乏有效的理论来指导。因此,还需要建立一套系统的理论体系来指导AQM技术的研究。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有