2.4.1 丢尾算法(Drop Tail)
网络中网络传输节点最常用的队列管理策略是丢尾策略(DropTail)。在DropTail
中,实际上是使用ON/OFF 控制器来生成反馈,反馈的值只能为0或者1。DropTail使用常数B(B是缓存大小)来判断拥塞的发生: ¬¬¬
if (qi≤B)
pi=0;
else if(qi>B)
pi=1
其中pi是报文标记/ 丢失概率,qi是队列长度。
2.4.2 随机早期检测算法(RED)
为了提高网络性能,Internet工程任务组(IETF)推荐在路由器中使用主动队列管理算法随机早期探测RED(Random Early Detect),它是目前常见的TCP上防止拥塞的手段。
RED的基本思想是通过监控路由器输出端口队列的平均长度来探测拥塞,一旦发现拥塞逼近,就随机地选择连接来通知拥塞,使它们在队列溢出导致丢包之前减少拥塞窗口,降低发送数据速度,缓解网络拥塞。RED配置在路由器监视网络流量以便避免拥塞,当拥塞即将发生时,它随机丢弃进来的分组,而不是等到队列缓冲区满是才开始丢弃所有进来的分组,这样可以最少化全局同步的发生。该算法利用指数加权滑动平均(exponentially weighted moving average,EWMA)低通滤波器来计算平均队列长度,它为平均队列长度设定了两个阈值minth和maxth。如果平均队列长度小于minth则没有数据包被丢失;如果平均队列长度大于maxth,则所有到达的数据包都将被丢弃;如果平均队列长度介于minth与maxth之间,则以一定的概率丢弃数据包,这个概率是平均队列长度的函数。其算法如下: 源:自~优尔·论`文'网·www.youerw.com/
每个数据包到达时计算平均队列长度avg:
avg=(1-wq)avg+wq*q;
if minth≤avg≤maxth
计算丢包概率pb:
pb= maxp(avg-minth)/(maxth-minth);
elseif maxth≤avg
标记每个到达的数据包,其中maxp为最大标记概率,avg是加权平均队列长度,q为当前队列长度,wq为当前队列加权系数。
2.5 相关仿真结果的概念
2.5.1 丢包率
丢包率(lost rate)是一个比率,表示在单位时间内未收到的数据分组数与发送的数据分组数的比率,由于信号衰减、网络质量等诸多因素的影响,可能产生数据分组的丢失。