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是否是应有服务范围内,从而对应不同的队列长度要求和概率计算方法。
待续
阅读(1132) | 评论(0) | 转发(0) |