当前位置:网络技巧

Internet主动式队列管理机制综述(2)

来源:  作者:本站

  4 BLUE
  
  与RED使用平均队长来管理拥塞不同,BLUE使用丢包事件和链路空闲事件来管理拥塞拥塞。 BLUE维持了一个概率Pm用以标记包。如果由于队列溢出导致持续的丢包,BLUE就增加Pm,因而增加了向源端发送拥塞通知的速度。相反,如果由于链路空闲导致队列空,BLUE就减小Pm。这样BLUE就能有效地控制发送拥塞通知信息地速度。其具体算法如下所示:
  
  Upon link idle event:
  if ((now-last_update)>freeze_time)
  Pm = Pm-d2;
  Last_update = now;
  Upon packet loss event:
  if ((now-last_updatte)>freeze_time)
  Pm = Pm d1;
  last_update = now;
  
  
  
  BLUE地主要参数有d1、d2和freeze_time。其中,d1决定了当队列溢出时Pm增加的量,d2决定了当链路空闲时Pm减少的量。freeze_time决定了连续改变Pm的最小时间间隔,使得Pm改变之后在再次变化之前能有效发挥作用。一般来说,d1要比d2大很多,这主要是因为当拥塞管理太保守(conservative)或太激进(aggressive)时,都会导致链路使用率很低;而丢包只发生在拥塞管理太保守时。这样,通过赋予丢包事件更大的比重,BLUE能够对流量大量迅速地增加很快地作出反应。
  
  BLUE最大地贡献在于,使用相对较小地缓冲区就能够完成拥塞控制。这样,BLUE减少了端到端延迟,提高了TCP流的吞吐量。另外,较小的缓冲区需求也使得路由器有更多的自由空间来执行其他的路由器功能,比如存储更大的路由表,从而提高了路由器的性能。而要达到类似的效果,RED则需要大很多的缓冲区。
  
  BLUE基于丢包事件和链路空闲事件的拥塞管理,能够较好地估计拥塞程度,从而作出适当的反应。因此其标记包地比率相对较稳定,这又使得队长也相对稳定,减少了延迟抖动。而RED基于平均队长地拥塞管理,由于不能正确及时地估计拥塞严重性,特别是在负荷很重,变化很快的情况下,常常导致队长波动很大。增加了丢包数和延迟抖动,甚至产生全局同步现象,降低链路使用率。
  
  4.1 随机公平BLUE(Stochastic Fair BLUE,SFB)
  
  现在,越来越多的应用不采用TCP的拥塞控制机制,这些流会对适应流带来很大地影响,甚至在竞争带宽时使它们陷入"饥饿"。因此必须对适应流进行保护。
  
  SFB的基本思想就是采用记帐的方法鉴别非适应流并对它们进行速度限制。SFB持有一些用于记帐的"柜子"(accounting bins)。这些柜子以L层,每层N个的形式组织起来。另外,SFB拥有L个独立的Hash函数,每个函数和一层柜子相关联。每个Hash函数将一个流映射到该层的一个柜子。每个柜子有一个标记包的概率Pm,此概率是基于队列占用的。如果映射到某个柜子的包的数量超过了一定的阈值,则该柜子的Pm便会增加;如果该柜子中包的数量降为0,Pm便会下降。SFB取该包所映射到的L个柜子的标记包概率的最小值Pmin,如果该值为1,就认为该包所属的流是非适应流,从而对其限速。否则以Pmin的概率来标记包。SFB算法如下所示:
上一页12 3 4 下一页
相关文章
热点关注
随机推荐
栏目列表

关于本站 | 会员服务 | 隐私保护 | 法律声明 | 站点地图 | RSS订阅 | 百科

免责声明:凡本站注明来源为xx所属媒体的作品,均转载自其它媒体转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责