Chinaunix首页 | 论坛 | 博客
  • 博客访问: 469980
  • 博文数量: 143
  • 博客积分: 6159
  • 博客等级: 准将
  • 技术积分: 1667
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-25 23:08
文章分类

全部博文(143)

文章存档

2013年(1)

2012年(11)

2011年(55)

2010年(76)

分类:

2011-01-09 12:09:12

Packet Queuing

首先说说Buffer Management, 这里的buffer管理是针对当buffer overflow时,系统可能将会产生丢包情况时,如何处理新packet的buffer问题。实现Buffer管理的目标是
  • Minimal packet loss and queueing delay
  • The avoidance of global synchronization of packet sources
  • High link utilization
一般buffer管理是当可能要发生拥塞的时候主动通知发送方,或选择一定报文丢弃,来使发送方降低发送速率,从而降低整体丢包率,维持系统吞吐量。下面介绍几种典型的buffer管理算法。

首先是RED(Random Early Detection),这种方法对queue的长度进行监控,当长度超过一定限度后,将对于每个输入的packet按照queue长度计算一个概率值,根据此概率值决定是否丢掉此packet,packet被丢掉的概率随queue长度增加而增大。RED的实现分为两步,第一步需要估计队列的预期长度,一般方法为 avg_len = avg_len + w * (q_size – avg_len),第二步根据avg_len计算是否丢掉此packet。

基于RED还有WRED(weighted RED),用于处理不同优先级的packet问题,各个优先级有自己的queue,从而有自己的w。另外还有利用TCM算法判断一个packet是否是应有服务范围内,从而对应不同的队列长度要求和概率计算方法。

待续
阅读(1120) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~