队列管理RED算法的性能研究
一种改进的RED算法及其稳定性分析

的不稳定和服务质量性能下降。基于 离散 的T PR D动力模型 , C —E 从平均 队列长度 的角度分析 了R D算 法线性稳定 的条件 , 出了一 E 提 种 自适应地调整控制参数的改进算法。模拟结果表 明, 所提 出的改进算法在稳定性方面优于 A a teR D和 gnl R D算法。 dpi E v et E e
制 ” ; ’ 另一类是在路 由器上采 用 主动 队列 管理 ( Q 策 略来 A M)
控制拥 塞 , 例如 R D 、 E 、 Q 和 A Q 。国内也提 出 E RM V V J 了一 些 A M方 案 ” , 中 , E Q 其 R D方 案在 国内外被广泛研究 。
速度 。文献 [ 1 2 ] 2 , 2 根据 T P通道 模型 和流量 特点 , 出了一 C 提 个框 架求解 P 的边 界 和指 数 平均 移 动权 值 的最 优 值。文 献 … [0 提 出了一 种调 整 P 的链 路 负载 自适 应算 法 L R D 3] … A E 。文
献 [ ,1 ] 9 0 也试 图通 过调 整控 制参 数 P 提高 网络 的性能 。以 … 上改进算 法通过不 断地 修改控 制参 数 , 在一定 的 网络环境下 提 高了平均队列 的稳定性 。
t e Ad p ie RED a d g n l D ag rt ms i e ms o tb l y h at v n e t RE lo h n tr fsa i t . e i i Ke wo d y rs T — ED Av rg u u ie L n a tb l y C a s CP R e a e q e e sz i e rsa i t h o i
关键词 T PR D 平 均 队 列 线 性 稳 定 混 沌 C —E
IP拥塞控制RED算法性能仿真分析

第2 6卷
第3 期
南 京 邮
电 大 学 学 报
【 自 然 科 学 版
)
Vo . 6 No 3 12 .
20 0 6年 6月
Jun l f aj gU ie i f ot a dT l o m nct n ( a r c ne ora o n n nvrt o P s n e cm u i i s N t a Si c ) N i sy s e ao ul e
Jn 2 o u. 06
文章编号 :6 35 3 (0 6 0 -090 17 - 9 2 0 )30 6 - 4 4
I P拥 塞 控 制 R D算 法性 能仿 真 分 析 E
章
摘
奕 , 志波 桂
( 南京邮电大学 计算机学院 , 江苏 南京 20 0 ) 1 3 0
要: I 实现的 主动 队 列管 理 ( Q 方案 已经成 为 目前拥 塞控制 算 法研 究 中的热 点。文 中对 P层 A M)
1 引 言
TP C 基于窗 口的端 到端拥塞控 制对于 I e e n rt tn 的健壮性 起到 了关键作 用。然而 , I e e 如此 在 nr t tn
一
种非常有效 的 I P拥塞控制算法。将经典控制论
运用于 R D算法的建模分析中是 目前 A M策略研 E Q 究 的热 点之 一 。
Ke r s Acie q e ema a e n ; o g sin c nrlRa d m al ee t n ag r h ; o t l r y wo d : t u u n g me t C n e t o t ; n o e y d tci o tm C nr l v o o r o l i oe
DF-RED:一种基于动态公平性的RED算法

名 、最 常 用 的主 动 队列 管理 算 法 ,获 得 了大 量 网
络 路 由器 的支 持 。
R D通 过 计 算 平 均 队 列 长 度 ,来 尽 可 能 早 预 E
测网络 拥 塞 ,并 以一 定概 率丢 弃部 分数 据 包 。 然 而 , 由 于 该 算 法 对 所 有 的 分 组 采 取 相 同 的 丢
后表 明 ,F E R D算 法 在公 平性 方 面 是在 这 几个 主 动
队列 管理 算法 中表 现最 好 。 针 对 上 述 问 题 ,本 文 主 要 通 过 周期 性 地 分 析 链 路 分 组 构 成 ,并 对 不 同 分 组 所 在 的 流 分 配 动
致 适 应 流 的 带 宽 资 源 不 足 ,在 最 坏 情 况 下 ,适 应
包率进行丢弃 ,它并不能保证适应流 ( at e Ad pi v
Fo lw)与 非 适 应 流 ( na a t eF o No —d pi lw)并 存 时 v 时 ,这 些 流对 网络 带 宽 资 源 的 公平 共 享 ,也 就 是
说 ,非 适 应 流 往 往 会 抢 占更 多 的 带 宽 占用 ,而 导
务l 訇 化 生
D —E FR D:一 种基于动态公平性 的R D算法 E
DF RED:a d . ynam i f r ess bas c ai n ed R ED gort al ihm
佘 冠玮 ,邢 卫 ,鲁 东明
YU Gu n we . NG ei L n — i g a — i XI W . U Do g m n
少 ,通 过 一 次 比较 来 识 别 高 带 宽 流 的办 法 会 大 大 受 限 ;CS Q F 算 法 是通 过 将 一 些 流 状 态信 息 插 入 分 组 头 部 来 辅 助 路 由器 进 行 丢 弃 概 率 计 算 ,缺 点 则是 其 实现 需 网络 中所有 的 路 由进 行协 同 ;A D F
路由器算法Droptail和RED的分析与优化

路由器算法Droptail和RED的分析与优化路由器算法Droptail和RED的分析与优化刘佳琦陈志刚李登(中南大学信息科学与工程学院,长沙410083)E—mail:csu_***************摘要因特网的迅速发展使网络拥塞问题日益得到人们的重视.近年来提出了许多基于路由器的拥塞控制机制.文章详细分析了基于路由器的弃尾(Droptail)和随机早期检测RED(RandomEarlyDetection)拥塞控制机制的设计思想和算法实现.针对RED算法存在的不足对其进行改进,提出CRED(ConicRandomEarlyDetection)算法,该算法的基本思想是.当平均队列长度在最小和最大阈值之间时,使丢包概率采用一种平滑的增长机制.通过大量仿真实验对三种算法的性能进行对比研究.表明CRED算法在网络延迟,振荡等网络性能上比RED算法更有效.关键词网络拥塞队列管理算法队尾丢弃随机早期检测Ns2文章编号1002—8331一(2OO6)19—0090—03文献标识码A中图分类号TP393 AnalysingandOptimizingoftheDroptailandREDRouterAlgorithm LiuJiaqiChenZhigangLiDeng(CollegeofInformationScience&Technology,CentralSouthUniversity,Changsha41 0083)Abstract:WiththerapidgrowthoftheIntemet,muchattentionhasbeendrawntocongestionco ntrolproblems.Many networkcongestioncontrolmechanismswhichareusedinroutershavebeenproposedinrece ntyears.Thepaperfirst analysesdesignprincipleandalgorithmimplementationoftheDroptailandREDcongestioncontrolmechanismswhi('hareusedinrouters.ThenthepaperanalysestheweaknessofREDandimprovesonthealgorith m.proposingtheCRH)algorithm,Whentheaveragequeuelengthisbetweenthemin-thresholdandmax-threshold.t hedropprobabilityris,withslowspeed.Thentheperformancesofthreealgorithmsarecomparedbymanysimulatio nexperiments.Flu?resuhsin(ticatethattheCREDalgorithmcanachievebetternetworkperformancethanREDalgorith mconsideringl'?hparametersasdelay,delayvariationandSOon,Keywords:networkcongestion,queuemanagementalgorithm,drop-tail.RandomEarlyDet ection(RED).NetworkSimulath,.version2(NS2)l引言随着Internet的迅速发展.越来越多的联网主机加剧了网络资源的竞争j分配.由此引发的网络拥塞一是制约网络发展和应用的芙键问题因此如何预防和控制网络拥摩也一是近年来国内外网络研究领域的热点问题.早期提…的TCP拥塞控制机制存lntemet巾发挥了有效的作用,但由于TCP是端到端的拥塞控制机制….随着人们对网络QoSI嘤求的不断提高.其已无法满足人们的需求.于是人们将网络拥塞控制研究扩大到网络巾问环节.…现了许多基于路由器的拥塞控制策略本文主要研究目前路由器的队列管理算法巾应用最为广泛的队尾丢弃(Droptail)算法和随机早期检测(Randol11EarlvDetection.RED)算法.并对RED算法进行优化设计.提Ⅲ了一种更优的算法CRED(ConicRandomEarlvDetection)箅法.其基本思想是在RED算法的基础上.当平均队列长度存最小最大阈值之问时.使丢包概率采用一种平滑的增k机删Ik?增长.在Linux平台上用NS2设计网络环境进人:f,Ji''验,对种箅法的性能进f时比研究.表【IJjCRE1)辫=法I叫络延迟振荡等网络性能上比RED箅法更有效2队尾丢弃(DroptaiI)算法2.1Droptai|算法基本思想及描述队尾丢弁(I)roptail)箅法的基本思想是:数据包到达路th器后,需要存不同的输…端lyl缓冲区巾进行排队:将该缓冲I)(的容量设置足够大,这样当网络发生拥塞的时候.所彳丁新到达义来不及处理的数据包都会保存存缓冲IlJ.当系统空I利IlIf再来处理这些保仔起来的数据包:当网络持续拥寒时.缓冲I)(孰会被填满.所有新到达的数据包将被丢弁当发送力~l,CI】f:;=测到有数据包被丢弃时就会降低数据发送速率.直到拥塞消除队尾丢卉(Droptail)箅法的具体描述是:对队列没崔}一个基金项目:国家自然科学基金资助项目(编号:60573127);湖南省自然科学基金资助项目(编号:03JJY4054)作者简介:刘佳琦(1983一),女,硕十研究生,主要研究方向为计算机网络和数据库技术陈忠川(1964一).男.博十.教授.主要研究方向为网络计劳与分布式处理.李登(1978一),男,博十研究生.丰要研究IfI~1勾网格计算P2PiI斡以^乏SN路l}{算法研究,902006.19计算机_T程与应用赭一最大值(以包为单位),然后接受包进人队列直到队长达到最大值.接下来到达的包就要被丢弃.2.2Droptail算法的不足虽然队尾丢弃(Droptail)算法在当前Internet上得到了广泛的应用.但是其存在死锁问题.即在某些情况下,"弃尾"算法会让某个流或者少数几个流独占队列空间.阻止其它流的包进入队列:满队列问题.即由于"弃尾"算法只有在队列满时才会发出拥塞信号.因此会使得队列在相当长的时间内处于充满(或几乎充满)的状态;具有全局同步问题和相当大的丢包率问题等一些不足之处【I_3随机早期检测(RED)算法3.1RED算法基本思想及描述为解决队尾丢弃(Droptail)算法存在的一些不足.以提高网络的性能.Internet工程任务组(IETF)推荐在路由器[41中使用随机早期检测(RED)拥塞控制机制.这是一种更优的在网络中间环节解决网络拥塞问题的机制.该机制的基本思想是:通过监控路由器输出端口队列的平均长度来探测拥塞.一旦发现接近拥塞.就随机地选择连接来发出拥塞通知,使它们在队列溢出导致丢包之前减小发送窗E1.降低数据发送速度.从而缓解网络拥塞RED算法具体描述如下:数据包到达路由器后.需要在不同的输出端El缓冲区中进行排队.每一个输出端El维护一个队列.当有新的数据包到达时.采用类似低通滤波器带权值的方法计算平均队列长度Q.然后把Q与两个预先设定的最小阈值和最大阈值相比较,若平均队列长度小于则不丢弃数据包;若p大于则丢弃所有新到达数据包;在二者之间则根据平均队列长度Q计算概率p,以概率p丢弃到达的分组I51.RED算法主要分为计算平均队列长度和计算丢包概率这两部分.计算平均队长的目的是为了反映拥塞状况,根据拥塞的程度来计算丢弃包的概率.从而更有效地控制平均队列长度.3.2RED的不足尽管和"弃尾"算法相比.RED是一种更为有效的拥塞控制机制,但是其仍然存在很多不足:(1)找到一组任何变化负载条件下都合适的参数的问题还没能解决161(2)公平性问题:不同的R1Tr,拥塞窗口的大小,包的大小,目标速度以及TCP/UDP的相互作用都会影响TCP流对带宽的享用.由于Internet上数据流是异质的I"4.而RED标记包的概率是和该流使用的带宽成比例的.这就会带来不公平的带宽使用(3)不能有效估计拥塞严重性问题4CRED(ConicRandomEarlyDetection)算法针对RED算法存在的一些不足.本文对其进行了改进.提出了一种更有效的拥塞控制机制CRED算法CRED算法是在RED算法的基础上进行的改进.RED算法的丢包率同平均队列长度是一种线性关系翰,当0在最小最大阈值之间时是斜率为p√(一)的一次函数,CRED算法在这一段把其改进为二次函数的曲线关系.因为当p在两个阈值之间时,缓存空间还是有空闲的.接近拥塞的程度也很小,所以可以让丢包概率采用一种平滑的增长机制.随着平均队长的增大缓慢增长.这样拥塞标记/丢包的概率减小,可以提高源端发送数据包的数量.提高网络资源的利用率.提高网络性能.通过后面的仿真实验同RED算法进行的比较.证明此算法在提高某些网络性能上比RED算法更有效当平均队长在最小最大阈值之间时.CRED算法丢包概率的计算公式是:Pb=Q2ln一号)×Q(+一彘)×一2RED算法和CRED算法的丢包概率同平均队列长度的关系如图1和图2所示丢包室1Q_limit平均队长图lRED算法丢包率同平均队长的关系r址Qlimit平均队长图2CRED算法丢包率同平均队长的关系5仿真实验5.1仿真实验设计如图3中,源端sl和s2分别产生TCP(ftp)数据流和UDP (cbr)数据流,经由中间节点r.和/'2分别到达终端d.和d:,两路由器间为瓶颈链路,分别使用Droptail,RED和CRED拥塞控制机制,缓冲区的最大长度为25个包.队列最小阈值取5.最大阈值取15,权值取0.002.图3仿真实验拓扑结构5.2实验结果分析从模拟过程中nam的动画演示可以观察实时队列的变化和丢包的情况,如图4和图5是模拟过程中某个时间点的演示可以观察到应用Droptail算法时路由器连续大量丢包的次数较多,而应用RED算法时,丢包间隔比较均匀.没有计算机工程与应用2006.1991图4Droptail的模拟动画图5RED的模拟动画Droptail那样连续大量丢包的情况:还可以观察到cbr数据流对拥塞通知没有响应.它的源端一直在以均匀的速度发送数据包,其比f数据流抢占了更多的网络资源.(1)丢包率分析用Droptail,RED和CRED算法时,cbr数据流源端发送数据包数都是2620.瓶颈链路丢弃数据包数分别是56,47和142:ftp数据流源端发送数据包数分别是185,193和204,瓶颈链路丢弃数据包数分别是9,7和l8.通过比较分析可知: CRED算法对cbr数据流在源端发送数据包数量不变的情况下增加了其丢包的数量;对数据流则提高了其源端发送数据包的数量,该算法在一定程度上相对保护了f数据流,即tcp可靠数据流.在改进RED算法公平性问题上有一定的提高. (2)延迟分析RED算法对cbr数据流的平均延迟比Droptail算法增加了l6.O2%,CRED则比Droptail还减少了9.1%;RED对ftp数据流的平均延迟比Droptail增加了l6.17%.CRED比Droptail 还减少了7.4%.可见CRED算法在减少网络延迟上非常明显. 应用不同算法时基于模拟时间的ftD数据流的延迟比较如图6 所示0.1l0.100.o90.08{0.070.060.050.040.030.021.01.52.02.53.03.54.04.5时间/s图6不同算法下ftp数据流的延迟比较从图6我们可以清楚地看出三种算法对fh)数据流的网络延迟的影响,RED的延迟明显比Droptail的大.而CRED算法的网络延迟明显比其它二者小(3)振荡分析振荡就是延迟时间的变化量.由于网络的状态随时都在变化,有时候流量大,有时候流量小,当流量大时,许多封包必须在队列中排队,等待被传送.因此每个封包从传送端到目的端的延迟不一定相同,而这个不同的差异就是所谓的振荡.振荡越大则表示网络越不稳定.应用三种算法时基于模拟时间的数据流的振荡比较如图7.从图中可以看出,Droptail的振荡9220o6.19计算机工程与应用峰值的变化比RED频繁一些.CRED算法的震荡峰值比RED 算法小.可见CRED算法相对使网络具有更好的稳定性.0.0l00.O050.000--0.O05--0.0l0-0.015{!s鞲-0.020-0.O25-0.030-0.035--0.0401.01.52.02.5时间,s图7不同算法下ftp数据流的振荡比较(4)吞吐量分析吞吐量是单位时间内完成的作业数.在这里我们以目的节点每次接收到分组总字节数和所用时间间隔来计算针对不同数据流的吞吐量.RED算法对cbr数据流的平均吞吐量是Droptail算法的99.87%,对郇数据流的平均吞吐量比Droptail 提高了l1.32%.可见在不区别业务流情况下.RED比Droptail 提高了对f可靠数据流的吞吐量,而使cbr业务流的吞吐量稍有下降.不同算法下对fltp数据流的吞吐量比较如8所示.可更直观地观察到不同算法对网络吞吐量的影响图8不同算法下ftp数据流的吞吐■比较根据仿真实验结果分析中的相关数据.得出影响网络性能的指标如表l和表2.表1rtp数据流的网络性能指标比较指标I)roptallREDCRED丢包率,%4.83.68.8平均延迟/舳58.1367.5353.81平均吞吐量,bps436.3493.8483.16结论与展望通过对算法的理论分析和仿真实验结果的分析可得出如(下转173页)查准率=而丽查全率和查准率越高说明检测的效果越好.表1中给出了试验材料的相关特性.表2中给出了使用本文算法进行场景检测的结果.表1试验材料的相关特性表2场景检测结果BFCNc3224l882.7%57.1%1ktl43251486%64%5420869%71.4%3226l076.4%72%t24326876?4%76A%5423767.6%76.7%表2中曰表示向前滑动窗口的长度.,表示向后滑动窗口的长度.C为正确检测的场景数.为错误检测的场景数,Ⅳc为查全率,肋为查准率.从表中可知Test1的错误检测数较多. 其主要原因是该视频片断大多数是打斗场景.镜头内容的变化比较大;同时.由于在镜头边界检测时没有进行运动检测.镜头检测试验的准确率不高.致使场景检测时错误检测较多.而视频Test2由于画面较为黯淡.且镜头的切换中有较多的渐变.使得场景的切换不明显.因此场景漏检较多.从表中可知,在试验巾取参数B=4.F=3的试验效果较好从实验结果来看,本文算法的试验结果要好于文献『31.其主要原因是在两个实验中采用了不同的实验材料和不同的场景定义方法.同时在文献[31~0.算法检测到的场景边界与手工分割的场景边界误差在4个镜头以内时.都将该场景边界认为是正确的场景边界:而在本文的实验中.只有精确等于手工分割的场景边界的镜头才被认为是场景边界.此外,在文献『31中的电影片段持续时间只在lOmin左右.而随着实验材料持续时间的延长.出现各种相机运动和电影剪辑技巧的可能性也越大.对实验结果会造成相应的影响.而本文方法的优点在于其简单性和快速性.对于长时间的大量视频数据而言.有一定的实际意义.4结论本文提出了一种简单有效的视频场景检测方法通过分析视频编辑的基本原则给出了视频场景构造的方法.提出了基于双滑动镜头窗的场景检测方法.试验证明,该方法是有效的.如何将该方法扩展到其它类型的视频中是今后应该考虑的问题(收稿日期:20o5年10月)参考文献1.BoykinS,MedinoA.Machinelearningofeventsegmentationfor municationsoftheACM,2O0o;43(2):35^H412.Y eungM,Y eoBL,IjuB.Segmentationofvideobyclusteringand graphanalysis[J].ComputerVisionandImageUnderstanding,1998;71 (1):94-1093.AlanHanjalic.AutomatedHi【sh—LevelMovieSegmentationforAd—vancedVideo-RetrievalSystems[j].IEEETransactionsonCircuitsand SystemsforVideoTechnology,1999;(9):580-5884.任远.屏幕前的探索【M】.北京:北京广播学院出版社,19875.TLin,H_JZhang.Automaticvideosceneextractionbyshotgroupind(=l In:Proc15thIntConfPatternRecognition,Spain,2000一O9;4:39~42 (上接92页)表2cbr数据流的网络性能指标比较指标DmDtailREDCRED丢包率,%2.11.75.4平均延迟/ms44.3751.484o.68平均吞吐量,bps976.7975.5952.4一F结论:(1)RED算法克服了Droptail算法的队列满,死锁以及全局同步等许多缺陷,是一种更优的拥塞控制机制(2)RED算法有效地降低了丢包率.减少了重传数据包的资源浪费,提高了网络的吞吐量(3)CRED算法可相对保护TCP可靠数据流.提高了网络资源的利用率;在网络延迟和振荡等网络性能上有明显的提高RED算法只是一种静态的优化算法.由于网络是动态变化的tTl,这就需要算法的一些相关参数能够随网络状态而动态地变化.如何根据具体的业务环境动态选择最适宜的参数和如何权衡各方面性能的关系值得进一步研究(收稿日期:2006年1月)参考文献1.章淼,吴建平,林闯.互联网端到端拥塞控制研究综述【J】.软件, 2002;13(3):354—3632.陆慧梅,向勇,史美林.InternetQoS研究们.,J,型微型计算机系统,2002; 23(7):786~7913.WFeng,DKandlur,DSahaeta1.BLUE:Anewclassofactive queuemanagementalgorithms[R].US:UniversityofMichigan,CSE-TR一387-99,19994.BBraden,DClarketa1.RecommendationsonQueueManagement andCongestionAvoidanceintheInternet[S】.RFC2309,Network WorkingGroup,1998-035.FloydS.JacobsonV.Randomearlydetectiongatewaysforcongestion avoidance[J].IEEE/ACMTransactionsonNetworking,1993;1(4):397~4136.JacobsonV.NotesonUsingREDforQueueManagementandCon—gestionAvoidance[EB/OL].tip:///talks/vj—nanogred.Ps.Gz, 1998一O6一O87.魏蛟龙,张驰.Internet路由器中拥塞控制机制研究的现状与展望m. 电子信息,2003;25(3):404~411计算机工程与应用2006.19173。
red算法

=
βB (1+ βA)
,所以缓存区的利用率为
ρ
=
βA 1+ βA
。
从中可以看出,与 RED 算法一样,RED-DT 策略也
总是预留出一小部分缓存空间,能够更好地处理突发
性。
2.2 RED-ODT
如 前 所 述 RED-DT 算 法 缓 存 区 的 利 用 率 为
ρ
=
βA 1+ βA
。由于β事先给定,其缓存区的利用率只随
L max
(t) (t)
− −
Lmin L
min
(t)) (t))
,
(4)
pa = pb /(1 − cpb ).
(5)
如果
Li avg
(t
)
超过了
Lmax
(t
)
ቤተ መጻሕፍቲ ባይዱ
,则丢弃全部分组。
以下给出RED-DT的伪代码:
_________________________________________
初始化:
Li avg
(t)
=
0
,c
=-1;
时刻t,某一分组到达输入队列 i:
用式(1)计算
Li avg
(t
)
;
用式(2)、(3)计算 Lmin (t), Lmax (t) ;
if
L min
(t)
≤
Li avg
(t)
<
L max
(t)
用公式(4)、(5)计算丢弃概率 pa ;
以概率 pa 丢弃达到分组;
c=0;
RED[6]不同于 Drop-Tail 机制,允许报文在填满队列
基于RED算法的拥塞控制的研究

基于RED算法的拥塞控制概述摘要随机早期检测RED ( Random Early Detection)算法是目前路由器中采用的重要的队列管理算法。
本文介绍了目前广泛研究的拥塞控制算法RED算法,指出了其运用于网络时存在的缺陷,对几种改进的RED算法做了介绍和分析。
关键字拥塞控制随机早期检测SRED DRED FRED1 引言在过去的十几年里,计算机网络经历了爆炸式的增长,给我们的生活带来了极大的方便,同时也带来了严重的拥塞问题。
据统计,由于缓存的不足,其中发送端发送的数据包大约%10的包都将会被丢弃。
我们使用图1来描述拥塞的发生,其中有两个关键点,分别是Knee和Cliff。
当网络负载较轻时,吞吐量的增长和网络负载相比基本成线性关系,网络延迟增长缓慢;在网络负载超过Knee之后,网络的吞吐量增长缓慢,而网络延迟增长较快。
当网络负载超过Cliff 之后,网络吞吐量急剧下降,而网络延迟急剧上升。
从图1中我们可以看出拥塞控制的目标就是使网络在Knee附近工作,流控制和拥塞控制不同,流控制主要考虑了发送过程中的发送端和接收端,目的是使发送端的发送速率不超过接收端的接收能力.而拥塞控制则主要考虑了发送端和接收端之间的网络环境,他们的目的是保证网络环境中的数据不超过网络的传送能力,从而避免图一出现的网络性能严重下降的情况。
1993年,Floyds和Jacobson提出了如何利用随机早期检测(RED)机制提供的路由器来检测网络的拥塞状况。
当今的网络使用的TCP(传输控制协议)中,检测到有数据包丢失时,才能检测到网络拥塞。
而Floyds和Jacobson指出这很可能会造成长队列一直占用整个时间,这将可能会极大的增加队列的延迟时间。
因此,随着网络速度的提高,急切需要一种机制保证较高的吞吐量和较低的延迟。
2 RED算法TCP基于窗口的端到端拥塞控制对于Internet的鲁棒性起到了关键作用。
然而,随着网络的不断发展,网络规模越来越大,仅仅依靠TCP拥塞控制机制来提高网络的服务质量是远远不够的,事实上,在Internet这样复杂的系统中,不能指望所有的用户都能兼容这种端到端的拥塞控制机制。
基于Pmax和P的RED算法改进及分析

少 了 拥塞 时 间 , 能 够 维 持 较 低 的实 际队 列 长 度 , 进 而 减少
列 长度 的 均值 来 判 断拥 塞 的发 生和 结 束 , 动 态 调整 W , 减
时, 降低发送数据量来解决拥塞问题 , 已经不能很 好地满
足 当 前 网络 的需 求 。I n t e r n e t 网络 中 , 拥塞 一 般 发 生在 数 据 传 输 路径 的 中 间 节 点 , 通 常 是 由缓 冲 区 溢 出 造 成 的 , 因 此 网络节 点 的队 列管 理成 为避 免 网络拥 塞 的关键 技 术 。
Co l l e g e o f Co mp u t e r a nd S o f t wa r e , S h e n z h e n Un i v e r s i t y , S h e n z h e n , Gu a n g d o n g 5 1 8 0 6 0 , Ch i n a
_
c o n g e s t i o n c o n t r o l ; l i n k u t i l i z a t i o n
摘
要: 对R E D的最 大丢 弃概 率 p 和丢 弃概 率 p 进行 了优 化 , N s 2 仿 真 实验 结 果表 明 , 改进后 的算法 P OR E D, 在 网络轻
ห้องสมุดไป่ตู้
度 计算 公 式 的系 数 调整 , 使平 均 队 列长 度能 够 更好 地 反映
网络 流 量 的变化 ; XR E D用 一个 变 量来 代替 队列 权 重 W
来 进 行 优化 , 在 中 度拥 塞 和 重 度 拥塞 环 境 下 , 有 效地 降低 了丢 包 率 俐 ; D WR E D( D y n a mi c We i g h t R E D) 使 用 平 均 队
一种基于RED的接纳控制算法的研究与设计

定义 3 繁忙区间[ , o阅是指服务器 在此区间内不空闲, 并且在时刻 o时刻 卢 、 时的队列长度都为 0 。
黄存 东 , 李 稀
(. 1安徽 国防科技职业 学院 信 息工程 系, 安徽 六安 2 7 1 ;. 30 12 合肥 学院 电子与 电气工程 系, 徽 合肥 20 6 ) 安 3 0 1 摘 要 : 纳控制机制 可以有效控制 网络拥塞程度 , VoP应 用提供服务质量保证 。RE 接 为 I D算法可以为 V l oP应用提供公平
一
器和可变延迟服务器 。在具体的延迟分析 中, 我们 可将 网络 系统 模型转化 为服务器 和链 路 的集合 , 主要 考虑产生 可变延迟 的 将 服务器 。假定一个新进流的路径是 由单独的路 由子系统给定 的, 并假定 每个流在 网络边缘即入 口边界路 由器处经过漏桶整形 。
2 2流 量 模 型 .
3延 迟 分析
^ ቤተ መጻሕፍቲ ባይዱ
R D算法是通过设置 阙值控制队列的长度 。 记为队列长度 , E 即当第 个 包到达时 队列 中的包个 数 。 记 为 当第 个 包
^
到达时依据移动指数平均算法( WA) E 所计算得到的平均队列长度 ( 公式 1 。当平 均队列长度 q ) 小 于 L 时 , 将到 达包加入 队
2 网络模型和流量模型
2 1 网络 模 型 .
个 网络系统是 由若干包含交换机 、 由器 和主机等节 点组 成 , 路 它们之 间通过传输数据包 的物理链路实 现互 连 , 各个节 点的 物理接 口协议和 网络系统的路 由协议共 同保证它们之间互通 。依据 服务器对延 迟影 响, 网络 中存在 两种 服务器 : 数延迟 服务 常
的队列管理机 制 , 于 R D队列的优越 性和普遍性 , 鉴 E 文章提 出了 R 队列 的延迟分析计算方 法, D E 并基于该计算方法设计 实现 了
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汪琼1,吴斌21北京邮电大学,北京 2南京邮电大学,南京 wangqiongyeye@摘 要: RED 算法是一种非常有效的避免拥塞和维持网络高链路利用率的队列管理机制。
RED 算法的实际性能主要取决于四个控制参数的设置。
然而,关于RED 算法的设置至今还没有一个很好的指导方针;针对各种异构网络,还未能提出设置其参量的有效方法,以维持各网络更高的链路利用率。
本论文在对RED 算法及其参数设置进行深入研究的基础上,使用NS 模拟工具模拟网络环境,根据仿真结果详尽地分析了RED 算法四个参数设置对网关中各个性能指标的影响,提供了对不同网络设置不同RED 参数的参考方案。
关键词:RED 算法; 参数设置; NS 模拟1. 引言网络中采用的调度机制与网络的服务质量QoS 有着密切的关系。
随着Internet 的迅速发展,网络规模越来越庞大,结构日趋复杂,仅仅依靠端到端的拥塞控制还不够,网络本身也必须参与资源的控制和管理,在网络发生拥塞时,网络节点必须丢弃一些分组,这个问题的解决首先必须实施有效的队列管理机制[1]。
之前的研究已经提出许多有效的队列管理机制,如:随机丢弃算法(Random Drop gateways)算法、尾部丢弃策略(Drop Tail gateways)、DECbit 算法和ERD(Early Random Drop)算法等算法。
但它们都有一定的缺陷,RED 算法就是在弥补这些缺陷的基础上提出来的。
随机早期检测算法(Random Early Detection)[2,3]:采用低通滤波器模型来计算平均队长,支持突发业务,使得网关处理算法实现的更为合理,避免了网关因根据变化的实际队列长度而不断的变更处理方法,该算法因其具有较低的时延,较高的吞吐量和较好的公平性而被广泛采用。
它通过在拥塞即将发生时丢弃,能够有效地避免全局同步。
RED 算法已成为路由器中的默认拥塞控制机制。
RED 工作性能的优劣很大长度上是由其预先设置的参数、mi 、ma 和ma 决定的。
一组RED 参数也许是给定业务吞吐量的最优化参数,但对于连续丢包、延迟等就未必是最优参数。
因此如何权衡它们(吞吐量、延迟等)之间的关系,有针对性地找到最优的参数,仍然有待进一步研究。
RED 参数的微小变化会给总体性能带来很大的影响。
q w n th x th x p 本论文主要目标是研究讨论RED 算法参数,明确其与网络中各项指标的关系,提出一个可行的针对不同网络环境调节算法参数的参考方案,使RED 算法发挥更好的性能。
本论文结构如下:先介绍了RED 算法及其较之其他算法的优越性,并理论上分析了其参数对不同性能指标的敏感性。
然后通过设计大量的仿真实验,分析了包括拥塞控制、平均队长、丢包和吞吐量等指标,确定RED 算法参数与调节特定的性能指标之间的关系。
(100876)(210003)由于以往使用的算法存在许多不足之处,如:持续的满队列状态、业务流对缓存的死锁、业务流的全局同步、对突发流的不公、平均队长计算不合理等。
所以RED 算法设计必须避免或改进这些不足,实现以下目标:(1)通过控制平均队长来避免拥塞;(2)避免全局同步问题;(3)允许突发业务。
2.1 RED 算法的原理RED 算法使用一个指数权值平均的低通滤波器计算平均队列长度。
平均队列长度和两个门限值比较:一个下限()和一个上限();当平均队列长度在上限和下限之间时,每个到来的分组以概率min th max th a p 标记,a p 是队列平均长度avg 的函数,每当有个分组被标记时,该分组被标记的可能性与该特定节点所要求占用的带宽成比例。
当平均队列长度低于下限时,不丢弃(即丢弃概率为0)到来的分组;当平均队长在下限和上限之间时,以概率a p 丢弃到来的分组;当平均队长超过上限时,则丢弃到来的全部分组(即丢弃概率为1)。
可以看出,RED 算法分两部分:一是计算平均队长,一是计算标记概率。
平均队长的设定影响到网关队列突发度;标记概率则决定网关标记数据包的频度,表明网关当前拥塞程度。
2.1.1 平均队长的计算RED 算法用低通滤波器来计算平均队长,所以由突发业务或者瞬时拥塞导致的队长短期增长,并不会过大的影响平均队长。
低通滤波器是指数加权动态均值,平均值计算如下:(1)q avg w avg w q =−+q ) (1)即 (2)(q avg avg w q avg =+−式中为平均队列长度;为权值,对应于低通滤波器时间常数;q 为当前队列长度。
avg q w 2.1.2 标记概率的计算初始的分组标记概率b p 是平均队列长度的线性函数。
标记概率有两种方法:其一,当平均队列长度是常量时,两次标记之间的分组数是几何随机变量;其二,两次标记之间的分组数是统一随机变量。
最初的标记概率计算方法如下:max (min )/(max min )b p th th th p avg =−− (3)参量是标记概率的最大值,当平均队列长度到达上限时取。
max p 方法一:几何随机变量法。
此法每个分组以概率b p 标记,设X 为两次被标记分组之间的分组数,由于每个分组均以概率b p 标记,则:1Pr [](1)n b ob X n p p −==−b (4)因此,X 是一个几何随机变量,并有:[]1/b E X p =。
方法二:统一随机变量法。
此法是把X 设为统一的随机变量,取值范围是{1,2,...1/}b p (简单的假设1/b p 是一个整数);每个到来的分组以/(1*)b b p count p −的概率被标记,其中的是自上一个分组被标记以来的分组数。
在这种情况下: count 20Pr [](1)1(1)1 11/n b b i b b bp p ob X n n p ip p for n p −===−−−−=≤≤∏b(5) 且, Pr []0 1/b ob X n for n p ==>;可有:[]1/(2)1/2b E X p =+。
文献[4]中,实验得出方法二标记的包比方法一更均匀,RED 算法采用标记方法二。
2.2 RED 算法的参数设置RED 算法在实践中性能的好坏取决于参数的设置,RED 算法中有如下几个参数需要设置:平均队长的权值,最大丢包概率,下限和上限ma 。
q w max p min th x th 2.2.1权值q w q w 影响平均队长的计算,当取值比较大时,平均队长容易受瞬时队长的影响,此时平均队长增长较快,相应的允许突发能力较弱;如果取值较小,平均队长变化很小,可能导致发生拥塞却检测不到,达不到控制的目的。
参数还决定路由器中数据包在队列中的延迟。
在文献[4]中给出的参考取值为0.002。
q w q w q w q w (1)的上限范围q w 如果太大,计算平均队列长度的程序将不能滤出网关中的拥塞,假设队列开始为空,即平均队列长度是0,当L 个分组到来后,队列长度从0变到L ;在第L 个分组到达网关后,平均队长和、L 的关系如图1所示:q w L avg qw图1 是和L 的函数L avg q wq w qw Lavg 假设一个下限和网关中允许的突发长度L 个分组,那么应该满足下面的不等式:min th q w min L t avg <h 1(1)11L q th q w L w +−−++<min (6)例如:=5,L=50,则必须满足min th q w ≤0.0042。
(2)的下限范围q w RED 算法可以控制平均队列长度低于一个特定门限,然而,如果计算出的不能合理反映当前平均队列的长度,这就没有意义。
如果太小,平均队列长度变化太慢,不能反映实际队列长度的变化,此时网关将检测不到初期拥塞。
avg avg q w 假设队列从空到有一个分组,并且分组到达和离开的速度一样,则队列保持一个分组的长度。
进一步假设初期的平均队列长度是0,在这种情况下,有1/ln(1)q w −−个分组到来(保持队列长度为1),直到队列平均长度为0.63=1-1/e ;当=0.001时,要求1000个分组到达,当=0.002时,这要求500个分组到达,当=0.003时,这要求333个分组到达。
在我们通常的模拟中,=0.002。
q w q w q w q w 2.2.2 最大丢包概率max p 最大丢包概率是当平均队长达到最大门限时的丢包概率,最大丢包概率决定了初期拥塞阶段的丢包概率。
可以根据需要来设置,但要求不能设置太大。
一般设置在0.02或稍大一些,在文献[4]中给出的取值不能大于0.1,如果过大,容易使丢包严重。
拥塞比较严重时,当平均队长超过最大门限时会自动丢包,所以也不能设置过大。
max p max p max p 2.2.3下限mi 和上限n th max th 下限和上限的设置取决于所允许的突发业务[5]。
如果业务突发性比较强,可以将设置得偏大些;ma 的设置和允许的最大延时相关,如果对延时不敏感,max 可以设置偏大;对延时敏感的业务,则不能过大。
和的设置会影响链路利用率,设置成往返时间内的平均队长比较合适;通常ma 不能小于的两倍。
min th x th th max th max th min th max min th th −x th min th 2.3 参数敏感性不同于只有一个自由参数(缓冲器长度)的尾部丢弃策略,RED 算法有一些附加的参数。
拥塞避免机制应有较低的参数敏感性,且参数应该在带宽变化很大的网络中都适用。
RED 算法参数,,和是必须设置的,便于网络设计者可以考虑平均队列长度和队q w min th max thmax pb p 的上限,如果拥塞严重,以至于网关通过以概率标记分组不能控制平均队列长度,则平均队列长度将超过上限,网关将标记每个到来的分组,直到拥塞被控制。
max p 针对特定的通信环境和网络参数,我们为RED 算法设定一些标准以发挥更好的性能:1. 保证恰当的计算平均队列长度:设0.001,网关中的平均队列长度受所限,计算得到的平均队列长度准确地反应了实际队列的平均长度,权重不能被设置的太小,这样计算得到的平均队列长度才能及时反应在实际队列长度的增加。
q w ≥max th avg q w 2. 足够大以保证网络的利用率;由于网络流量常是突发的,如平均队列长度设置太小,链路不能充分利用。
此外,还须设定不同网络环境下的最佳平均队列长度。
min th 3.设置max min th th −充分大以避免全局同步:设置max min th th −大于在一个周期内增加的平均队列长度,以避免由同一时间内标记过多分组而引起全局同步;一个首要的规定是设置是的两倍。
max th min th3. RED 算法参数的仿真和设计仿真主要目标是研究讨论RED 算法参数,提出一个可行的参数设计参考方案,使在不同的网络环境下,可以根据不同需要调节RED 参数以使RED 算法发挥更好的性能。