一种新的基于网络丢包率的主动队列管理策略

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
24
微电子学与计算机
2007 年第 24 卷第 2 期
一种新的基于网络丢包率的主动队列管理策略
纪晓乾,董恩清
(苏州大学 电子信息学院,江苏 苏州 215021)
摘 要: 提出了一种新的基于网络丢包率的动态自适应的主动队列管理的改进算法。该算法首先用早期网络的
丢包率标记到达的数据包,并作为数据包的丢弃概率。这样使得到达数据包的丢弃概率逼近当前实际网络的丢
包率,然后经过自适应调整丢弃概率使得缓冲队列长度保持在一定范围内。通过 NS 仿真实验表明了该算法可以
很好的控制队列长度,降低延迟抖动。
关键词: 队列管理;丢包率;拥塞控制;拥塞避免
中图分类号:TP393
文献标识码:A
文章编号:1000- 7180(2007)02- 0024- 04
A New Active Queue Management Scheme Based on Packet Loss Ratio
JI Xiao-qian, DONG En-qing
(School of Electronics and Information Engineering, Soochow University, Suzhou 215021, China)
Abstr act: A new dynamic adaptive AQM(Active Queue Management)scheme based on network loss ratio is proposed. The packet loss ratio of the early network is adopted to mark the arriving packet is marked, which is used as the early drop probability so that the probability can approach the loss ratio of current real network. By adjusting the drop prob- ability adaptively, the length of buffer queues can be kept in a certain area. The simulation experiment results using NS software tool show that the scheme can flexibly control the length of queue and reduce the jitter of delay. Key wor ds: Queue management; Packet loss ratio; Congestion control; Congestion avoidance
1 引言 随着 Internet 本身的迅速发展,其网络规模越
来越庞大,结构日益复杂,仅仅依靠端到端的拥塞 控制是不够的,所以网络元素必须参与资源的控制 工作。由于带宽、缓存等资源相对需求日益缺乏,导 致 Internet 还会继续变得拥塞。目前解决拥塞的主 要方法:① 继续改进已经有的端到端拥塞控制策 略,并将其作为 Internet 上的主要拥塞控制机制; ② 引用价格等经济因素限制用户对网络资源的需 求,减少拥塞的发生;③ 在路由器中采用排队算法 和数据包丢弃策略,也就是 IP 拥塞控制问题。排队 算法通过决定哪些包可以传,而丢弃策略通过决定 哪些包被丢弃并分配缓存。
最早的 IP 处理拥塞的算法是尾丢弃(Drop- Tail),但是此方法会在拥塞的路由器上出现大量的 队列延时,且容易引起全局同步。因此,近年来有学 者提出主动队列管理(Active Queue Management, AQM)机制[1,2]。AQM 算法的思想是,在队列尚未溢
收稿日期: 2005- 12- 24 基金项目: 国家自然科学基金项目(60572074)
出以前就根据各种机制判断网络中的拥塞情况而 采用一定的概率进行丢包,或者通过标记包来通知 发送端采用一定拥塞控制措施。各种 AQM 算法差 异在于判断拥塞状况的机制和丢弃包的方法。最早 经典的当数由 Floyd 等于 1993 年提出的随机早期 丢弃(Random Early Drop,RED)算法[3],该算法是目 前最常用的一种 AQM 算法。
RED 算法用平均队列长度计算丢弃概率,REM 用队列长度和数据速率计算丢弃概率,本文提出了 一种用丢包率计算丢弃概率的主动队列管理策略 AQMS_PLR。
2 RED 算法描述 RED 的基本思想是路由器通过监控队列的平
均长度来探测拥塞。一旦发现拥塞逼近,就随机地 选择源端来通知拥塞,使它们在队列溢出之前降低 发送数据速率,以缓解网络拥塞。RED 算法主要包 括两步,首先计算平均队列长度,然后计算丢弃包 的概率。RED 在计算平均队长 a vgQ 时,采用了类似 低通滤波器带权值的方法:
2007 年第 24 卷第 2 期
微电子学与计算机
25
a vgQ =(1- wq)×a vgQ +Q×wq
(1)
式中,wq 为权值,Q 为采样测量时实际队列长度。经
过平均队长的计算过滤掉由于 Internet 数据的突发
性导致的短期队长变化,使其尽量反映长期的拥塞
变化。权值 wq 相当于低通滤波器的时间常数,它决 定了路由器对输入流量变化的反应程度。计算平均
队长的目的就是为了反映拥塞程度并据此来计算
丢包概率。
RED 算法采用有两个和队列长度相关的阈值:
minth 和 maxth。当有数据包到达路由器时,RED 计算 出平均队长 a vgQ,若 a vgQ 小于 minth,则没有包需要 丢弃;当 minth≤a vgQ≤maxth 时,计算出概率 P,并且 以此概率丢弃包;当 a vgQ>maxth 时,所有的包都被丢 弃。计算丢包概率 P 的方法如下:
Pb=
a vgQ- maxth-
minth minth
×maxp
(2)


1-
Pb count×Pb
(3)
其中概率 P 不仅和 avgQ 有关,而且还和 a vgQ 从上
一次丢包开始到现在连续进入队列的包的数量
count 有关。随着 count 的增加,下一个包被丢弃的
可能性也在缓慢增加。这主要是为了在后期到来包
之间均匀间隔地丢包,避免连续丢包,以消除对突
发流的偏见和产生全局同步现象。
los(s k)=los(s k- 1)×mw+(1- mw)×los(s k)(4)
M- 1
"N(d k- i)
los(s k)=
i= M-
0 1
"N(a k- i)
i=0
(5)
式中 mw 是平滑权值,N(a k),N(d k)分别是第 k 时间 段到达和丢弃的数据包数量。
② 自适应调节丢弃概率
由于网络丢包率不可能逐点计算,可以采用每
隔一定时间计算一次。但是这样对于网络的突发数
据流就显得迟钝了。因此可以用 MIMD(Multiply
Increase Multiply Decrease)在短时间上对丢弃概率
进行自适应调整,使得缓冲队列长度保持在比较好
的范围内。AQMS_PLR 过程如图 2 所示。
3 基于网络丢包率的主动队列管理策略 以前很多对 RED 算法的改进主要针对判断拥
塞状况的机制和丢弃概率的标记方法。传统 RED 算法以平均队列长度作为拥塞判断的依据,并且由 此来计算到达数据包的丢弃概率,本文提出的 AQMS_PLR 仍然针对丢弃概率的标记方法做了部 分改进,并且采用根据队列长度自适应的调节丢弃 概率的策略。主要思想可以概括如下:
① 丢弃概率计算方法 仍然以平均队列长度作为判断依据,但对数据 包的丢弃概率计算方法做了修改。具体的修正方法 是用先前网络丢包率来标记到达数据包,作为数据 包的丢弃概率,这样可以使得到达数据包的丢弃概 率与网络的丢包率相逼近[4]。本文算法采用指数滑 动平均的方法来计算网络丢包率,如图 1 所示,即
4 仿真实验及性能分析 实验仿真是在 N(S Net Simulator)软件系统平台
上进行的。采用如图 3 所示的网络拓扑结构。网络 中有两个路由器,路由器之间的链路带宽为 10Mbps,链路延迟 2.5ms。各终端节点与边缘路由器 之间的链路带宽为 0.5Mbps,链路延迟 10ms,并且 配上尾丢弃(DT)。分别对 TCP 数据流量和 UDP 数 据流量进行了实验。在上面给出的网络拓扑结构 上,分别对ARED、REM 和 AQMS_PLR 进行仿阵测 试对比。
26
微电子学与计算机
2007 年第 24 卷第 2 期
在对 TCP 流量的实验中,用 FTP 产生 TCP 流 量,数据包大小为 500 字节,链路数量从开始的 400 路增加到 850 路。图 4 中的(a)、(b)、(c)分别给出 了在 TCP 流量下各种算法的丢包率、数据包延迟、 数据包平均延时抖动的对比。可以看出,本文提出 的 AQMS_PLR 算法在延迟和抖动方面都有明显的 优越性。
在针对 UDP 流量的实验中,采用 NS 的流量发 生器产生 UDP 数据流量,UDP 链路从开始 400 路 增加到 850 路。每路 UDP 数据流均服从指数 On /off
分布,“On”状态为 350ms,“Off”状态为 650ms,速率 为 50kB /s,数据包大小为 500 字节。图 5 中的(a)、 (b)、(c)给出了在 UDP 流量下各种算法的丢包率、 数据包延迟、数据包平均抖动的对比。从图可以看 出,当链路数在 400 到 550 之间的时候,三种算法 效果基本没有差异,这主要是因为它们的算法原理 是一样的,同时由于在链路数为 550 路之前,瓶颈 链路都没有出现过载现象。当链路数超过 550 路到 600 路时,路由器 1 和路由器 2 之间的链路由于过 载导致拥塞,网络发生丢包,丢包率、抖动、延迟明
2007 年第 24 卷第 2 期
微电子学与计算机
27
显增加。从图中可以看出本文提出的AQMS_PLR 算 参考文献:
法在保证同样丢包率的情况下,能够降低端到端延 [1] B Braden, et al. Recommendations on queue management
迟和抖动,而且效果比较明显。但从图中可以看出
and congestion avoidance in the Internet [S]. IETF
TCP 和 UDP 流量作用下的仿真结果存在比较大的
RFC2309, Apr 1998
差异,这个主要是由于 TCP 和 UDP 流量的本身的 [2] 高文宇, 王建新, 陈松乔. 几种公平的主动队列管理算法
差异性引起的,TCP 是面向连接的,而 UDP 是无连
的比较研究 [J]. 微电子学与计算机, 2005, 22(7): 36 ̄41
接的。
[3] S Floyd, V Jacobson. Random early detection gateways for
congestion avoidance [J]. IEEE/ACM Trans. on network-
5 结束语
ing, Aug 1993, (1 4): 397 ̄ 413
本文提出了一种新的基于网络丢包率的主动 [4] Chonggang Wang, Bin Li, Y Thomas Hou, et al. A Robust
队列管理算法。该算法的主要思想一方面是用网络
Active Queue Management Scheme Based on Packet Loss
丢包率标记到达数据包,作为数据包的丢弃概率;
Ratio [C]. IEEE INFOCOM2004, 2004: 1 ̄12
另一方面,根据队列长度来调整丢弃概率使得队列
长度保持稳定。通过在 NS 软件仿真平台上分别采 作者简介:
用丢包率、端到端延迟和抖动指标与 REM、ARED 纪晓乾 男, (1980- ),硕士研究生。研究方向为 VoIP QoS 技
算法做对比表明,本文算法 AQMS_PLR 算法能够较 术、网络拥塞控制。
好地控制队列长度、降低延迟抖动。
董恩清 男,(1965- ),博士,教授。研究方向为语音编码、
相关文档
最新文档