队列管理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 并基于该计算方法设计 实现 了
RED源码解析
主动队列管理算法RED 源码全解全析(version0.110.11))author::sourootauthor---------------------------------------------有问题或者有基于NS的项目合作都可联系我QQ:406774647欢迎加入网络流量控制&&队列管理QQ群:欢迎加入网络流量控制74012467群号:群号:74012467序我研究生阶段研究定的方向是网络拥塞管理,而我研究RED算法也有挺长时间了,很久以前就有解析NS中的队列管理算法RED的源代码(&red.h)的想法,借寒假有时间,匆匆写了一下。
有些东西自己也没完全弄懂,但是对于困惑于如何修改RED算法的同学来说,应该有很大的参考价值。
本文档首先分析了RED算法涉及参数的含义,然后给出了主要函数的作用,最后对主要函数的源代码进行了分析。
希望本文档对你有用。
souroot2010-2-5关于版本0.11的说明:添加了RED算法的参数的默认设置(见附录1)目录一、参数解析 (1)二、函数功能 (2)三、函数解析 (3)3.1initialize_params() (3)3.2reset() (5)3.3updateMaxPFeng() (6)3.4updateMaxP() (7)3.5estimator() (8)3.6deque() (9)3.7calculate_p_new() (9)3.8modify_p() (10)3.9drop_early() (11)3.10pickPacketToDrop() (12)3.11enque() (12)附录116ns-default.tcl中RED参数的设置 (16)一、参数解析说明:所谓默认设置,即ns-default.tcl文件中的设置。
在red.h中,在结构体edp中,定义了让用户自己赋值的参数,默认由ns-2.xx/tcl/lib/ns-default.tcl文件赋值。
RED测试方法总结
RED测试方法总结吴频01070 RED(Random Early Detect)是一种拥塞检测机制,我们可以定义某类流在队列超过一定长度后预先按照比例随机丢弃。
RED的基本原理,大家可以查阅相关文档,此处只对测试方法进行一个总结。
测试组网图如下:LanswitchSmartbits图1RED测试组网图由于RED的丢弃机制,我们无法完全定量测试出RED的效果,因此测试过程中,首先测试出不配置RED时的丢弃结果,然后测试配置RED后的丢弃结果,进行比较。
RED的丢弃发生在队列完全拥塞之前,因此RED丢弃的报文要比一般情况多。
需要重点强调的是,整个测试过程中(包括不配置RED和配置RED的测试)都需要打开RDRAM。
1 不配置RED时的丢弃情况如图1,假设Port1、Port2、Port3连接的都是百兆口,我们从Port1线速打入1,000,000个64Byte的报文从Port3输出,在打入这1,000,000个包的同时,从Port2线速打入10,000个64Byte 的报文,也从Port3输出。
由于RDRAM的长度足够存储这10,000个包,所以看到的结果是Port3接收到1,010,000个包,没有任何报文的丢弃。
据此,我们可以不断增长Port2打入的报文数,测试出丢包的临界值,从而测出RDRAM的长度,测试结果如下:表1不配置RED的丢包情况很明显,被测设备的RDRAM长度只能存储503,000(MAX[Port3] - Port1)左右个报文,可以计算出RDRAM的长度:503,000 × 64 × 8 ≈ 256M2 配置RED时的丢弃情况2.1 队列长度对RED丢弃的影响测试条件和不配置RED时的情况一样(Port1打入1,000,000个,Port2打入10,000个),不同的是,我们必须配置Port1和Port2两个端口的流进行RED,为了有很好的比较性,需要Port1和Port2打入的流满足同一条rule,同时进行RED。
网络拥塞控制及RED算法改进策略研究
文献综述
RED算法的基本原理是通过监测网络队列长度,当队列长度超过某一阈值时, 开始丢弃数据包,以控制网络拥塞。然而,RED算法也存在一些不足,如无法准 确预测网络拥塞程度、丢包现象可能引发网络震荡等。因此,针对RED算法的改 进策略研究一直是一个热点。目前,RED算法的改进策略主要包括精确阈值RED (ETRED)、加权 RED(WRED)和动态阈值RED(DTRED)等。然而,这些策略在 提高网络性能方面仍存在局限性和不足,需要进一步深入研究。
内容摘要
综上所述,网络拥塞控制策略对于提高网络性能和用户体验具有重要意义。 本次演示通过深入研究了各种网应优化网络设备性能和提高用户流量控制 能力,以降低网络拥塞风险。其次,针对各种拥塞控制策略的优缺点,应结合实 际应用场景进行选择和优化,以提高拥塞控制效果。
网络拥塞控制及RED算法改进策 略研究
01 引言
03 研究方法 05 结论与展望
目录
02 文献综述 04 实验结果与分析 06 参考内容
引言
引言
随着互联网的快速发展,网络拥塞问题日益凸显。网络拥塞控制作为提高网 络性能的关键技术,对于均衡网络负载、避免网络瓶颈具有重要意义。其中,随 机早期检测(RED)算法作为一类重要的拥塞控制算法,被广泛应用于实际的网 络环境中。然而,RED算法仍存在一些不足之处,因此,针对RED算法的改进策略 研究具有重要的现实意义。
内容摘要
本次演示采用文献综述和实验研究相结合的方法,进一步深入研究网络拥塞 控制策略。首先,通过对前人研究的综述,了解各种策略的技术原理和实现方式 以及优缺点。其次,利用数据采集器对网络拥塞进行监测和数据分析,得出网络 拥塞的原因和影响。最后,通过问卷调查和访谈等辅助研究方法,了解用户对各 种拥塞控制策略的实践效果的评价。
基于NS2的RED和BLUE算法仿真及果分结析
0 引 言
It nt n r 是一种基 于提 供尽 最 大努 力 ( e f ee Bs E- t f t服务 的网络 , o) r 它使用传输控制 协议 T P的数据 C 传输流量要 占 It nt 9 %以上, n re 中 5 e 因此 T P已成为 C It t n me上一种 占主导 地位 的端到端 传输 协议。在 e I e e 中,C n r t T P的拥 塞控制机制是 网络稳定 工作的 tn 重要保证… 。在过 去的十几 年中 , t c拥 塞控 制 Ie t nr a
汪华斌 , 2刘卫 国
(. 1 中南大学信息科学与工程 学院, 湖南 长沙 408 ; . 103 2 惠州学院计算机 系, 广东 惠州 560 ) 101
摘要 : 随着 因特 网的迅速发展 , 网络拥塞 日益严重 , 近年 来提 出了许 多基 于路 由器队列管理 的拥塞机 制 , 本文 分析 了 R ED
( .T E gneigC l g , e tl ot n esy C agh 10 3 C ia 1 I nier o ee C nr u U i ri , hn sa4 0 8 , h ; n l aSH i o n esy uzo 10 1 C n ) . o ue SineD p. uz uU i r t,H i u5 60 , h a r h v i h i
一种调节丢包率的RED改进算法
一种调节丢包率的RED改进算法欧瑜枫【期刊名称】《南宁职业技术学院学报》【年(卷),期】2012(000)001【摘要】随机早期检测RED(Random Early Detection)算法是一种有效的基于中间节点的拥塞控制策略。
结合平均队列长度和瞬时队列长度,通过一种简单而有效的机制调节RED的丢包率,得出一种改进算法—-sERED。
NS2仿真实验结果表明,新算法的性能优于RED算法。
%Random Early Detection is an effective strategy of congestion control based on intermediatebining the average queue length with instant queue length,and using a simple but effective mechanism to adjust the RED packet loss rate,SERED,an improvement algorithm is developed.NS2 simulation results show that the newly developed system is superior to RED algorithm.【总页数】3页(P91-93)【作者】欧瑜枫【作者单位】桂林旅游高等专科学校基础部,广西桂林541006【正文语种】中文【中图分类】TP393.071【相关文献】1.一种降低丢包率的主动队列管理改进算法 [J], 张洁;韩波;卢琼2.基于丢包率的改进前向纠错算法研究 [J], 王赞;张聪3.一种IP网络拥塞链路丢包率范围推断算法 [J], 陈宇;周巍;段哲民;钱叶魁;赵鑫4.一种新的VANET网络链路丢包率估计算法 [J], 陈强伟;赵建华;杨雪芹;张珊珊5.基于丢包率的改进前向纠错算法研究 [J], 王赞;张聪因版权原因,仅展示原文概要,查看原文内容请购买。
拥塞避免中一种新的RED算法研究
科技资讯科技资讯S I N &T NOLOGY I NFORM TI ON2008N O .03SC I ENCE &TEC HN OLO GY I NFO RM ATI O N学术论坛拥塞避免中一种新的RED 算法研究李菊兵宗平(南京邮电大学软件学院江苏南京210003)摘要:为了使网络从拥塞中解脱出来,可以采用拥塞管理机制,R E D 得到了广泛的应用,出于改进其稳定性和公平性的考虑,研究者又开发了W RED 、F RE D 等算法,在比较现行RED 算法的优缺点之后,根据当前网络中的应用,提出了一种新的RED 算法-M R ED (M ul t i R an dom Ea r l y D e t ec t i o n),即根据多种因素来控制R ED 的随机丢弃概率。
关键字:拥塞避免随机早期检测加权随机早期检测流随机早期检测中图分类号:TP393.01文献标识码:A 文章编号:1672-3791(2008)01(c)-0228-021引言随着信息技术的迅猛发展,网络应用大量增加,使得网络数据传输量也成倍增加。
尽管我们的网络资源也在增长,但是增长的速度明显跟不上数据传输量增长的脚步,当网上的数据传输量超过网络提供的能力是,就发生了拥塞。
当网络资源不能依照需求分配的时候,这种拥塞的现象就越为明显。
解决拥塞问题大致分为两类,即拥塞控制机制(congest i on cont r ol )和拥塞避免机制(conges t i on avoi da nce)。
拥塞控制是“恢复”机制,他用于把网路从拥塞状态中恢复出来;拥塞避免是“预防”机制,它的目标是避免网络进入拥塞状态,是网络运行在高吞吐量、低延迟的状态下。
2基本的R E D 算法及其改进算法在拥塞避免机制中,目前常用的是用丢包来通知端接点发生了拥塞或可能发生拥塞,对于T CP 报文,如果大量报文宝贝丢弃,将造成T CP 超时,从而引发T CP 的慢启动和拥塞避免机制,使T C P 减少报文的发送,从而减少了网络上的流量,达到拥塞避免的目的。
一种自适应主动控制队列算法
一种自适应主动控制队列算法摘要:本文针对red算法的参数敏感性没有根本性改善,主要讨论在分析网络状态和拥塞程度实现基于路由队列资源(缓冲)自适应调节分组丢弃策略从而修改red算法丢包策略, 使路由队列长度稳定在参考值附近。
关键词:red 拥塞控制路由缓冲资源本文在分析red算法基础上,提出了一种新型aqm算法,能够动态调整参数,并且采用非线性函数代替原有的丢包率计算方法.通过动态调整来调整向源端发送拥塞通知的速率,维持队列的稳定;通过新丢包率计算方式,提高缓冲的利用率和使队列长度尽量稳定于期望值附近。
1、一种新的自适应red算法本算法改变red算法丢包率与当前队列平均长度成正比(),丢包率随成线性增长关系,在时丢包率迅速到1的方式,采用一种非线性函数使得使得丢包率在附近取值趋近零,这样可以吸纳更多的包进入队列,有利于系统资源的利用,同时当采用一种增长方式,能够让迅速变化且灵敏而又平滑地由趋近1.本算法不在使red算法的静态不变,修改为自适应调节,调节范围为.以减轻队列震荡和抖动。
(1)时 (8)丢包率相对于red算法在附近取值更趋近零,并且随着参数k的取值而改变.k值决定队列的期望值,如果是期望值是,则k值取2。
(2)调整算法修改算法描述如下:2、结语本文提出一种改进的算法,新算法在队列控制和丢包率控制方面优于red算法。
参考文献[1]s. floyd,v.jacobson.random early detection gateways for congestion avoidance.ieee/acm transactions on networking,1993,1(4):397-413.[2]f.p.kelly,a.maulloo and d.tan.rate control in communication networks:shadow prices,proportional fairness and stability.journal of the operational research society, 1998,49: 237-252.[3]w. feng,d.kandlur,d.saha,et al.a self-configuring red gateway.in:proceedings of ieee focom.newyork: ieee communications soiety,1320-1328.。
red算法原理
RED(Random Early Detection)算法是一种主动队列管理(AQM)算法,它主要用于网络中的路由器和交换机中,以避免拥塞的发生。
当网络中的流量接近设备处理能力的极限时,拥塞控制就变得至关重要。
RED算法的目的是在网络队列变得过满之前,提前通过丢弃一部分网络包来通知发送端减少发送速率。
RED算法的工作原理如下:1. 平均队列长度计算:RED算法维护一个对队列长度的加权移动平均值。
对于每个到达的数据包,RED会更新这个平均队列长度。
这个长度并不是实时队列长度,而是过去一段时间内的平均值,它可以平滑短期的流量突增。
2. 低阈值和高阈值:在RED算法中,设置两个阈值,分别是最小阈值(minth)和最大阈值(maxth)。
当平均队列长度低于最小阈值时,所有到达的数据包都会被接受。
当平均队列长度超过最大阈值时,所有到达的数据包都有可能被丢弃或标记(例如,TCP/IP网络中的ECN标记)。
3. 随机早期检测:当平均队列长度位于最小阈值和最大阈值之间时,RED会以一定的概率丢弃到达的数据包。
这个概率随着平均队列长度的增加而增加,意味着队列越拥挤,数据包被丢弃的几率就越高。
这个概率是动态计算的,用于平滑的调控传输速率,而不是突然阻断。
4. 随机性:之所以称为“随机”早期检测,是因为当队列长度介于两个阈值之间时,数据包被丢弃的决策是基于一定的随机性的。
这样做的目的是为了防止全局同步现象,即多个流同时减少他们的发送速率,然后又同时增加速率,造成网络效率的波动。
RED算法通过这种方法提前向发送方发送拥塞即将发生的信号,目的是让发送方降低数据发送速率,减少数据包丢失,从而使网络运行更加平滑,提高整体的吞吐量。
在TCP网络中,当发送方检测到数据包丢失时,它会减少其拥塞窗口的大小,减慢数据发送速率,从而减轻网络拥塞。
RED的网络性能研究
的是总吞吐量、平均响应时间、power 值和丢包的情况。 图 2 显示的总吞吐量的曲线图,总吞吐量也就是包括了 set 1、set 2 和 set 3 的吞吐量之
和。图中我们可以看出,随着 max p 的增加,总吞吐量存在波动,但是整体上来说是渐增的,
吞吐量在 max p 为 0.65 附近的时候达到了最大值,到 max p 为 1 时的吞吐量又比较小了。
拥塞避免的概念在[4]引入。拥塞避免机制将网络维持在低延迟和高吞吐量的工作点。而 拥塞控制帮助网络快速地从拥塞中恢复,避免进入拥塞状态。现存的终端拥塞控制算法和网 络元件可以互相合作实现拥塞避免机制。这是 TCP/IP 中采用主动队列管理(AQM:Adaptive Queue Management)和 ECN 的基本原理。主动队列管理检测拥塞存在的可能性,ECN 提供
TCP/IP 网络中拥塞控制大部分的工作所研究的情况都是数据流通过单个拥塞路由 器――就是所谓的单瓶颈情况。研究多个拥塞节点问题的文章一般都假设网络中的所有节点 都采用相同的队列管理机制[9],[10]。但是当 RED 和 ECN 这样的机制应用到因特网上时, 采用默认队列管理机制(即丢尾机制)的节点将和采用主动队列管理机制的节点共存。对经 过多个拥塞节点的 TCP 流更现实的假设是网络是混杂的,其中一些节点支持拥塞避免机制, 而一些则不支持。本文的目的之一是观察应用 adaptive 拥塞控制算法时是否可以得到更大的 数据流公平指数;另一个目的是观察两个拥塞节点同时采用 RED 算法时,其中一个参数设 置对于整个网络的性能产生的影响。仿真结果显示带拥塞避免机制的混杂网络的表现可能会 比不含拥塞避免机制的网络差,主要是依据 RED 参数设置的不同。
图 3 情况一的平均响应时间图
RED实验报告
一、 RED 算法提出背景
当网络上开始出现拥塞的时候,路由器的缓存就充满了,于是路 由器就开始丢弃分组,对于 TCP 通信量,这就是进入慢启动阶段的一 个信号,这样就可以减轻网络的负载和缓解拥塞。但在这种情况下有 两个困难,第一,丢失的分组必须重传 ,这就又增加了网络的负载 , 并对 TCP 的流增加了明显的时延。更严重的发生全局同步现象,当出 现通信量突发时,队列就排满了,然后就丢失很多的分组, 可能出现的 结果就是有许多的 TCP 连接受到影响,接着就进入了慢启动。这样会 引起网络通信量的急剧下降,所以在一段时间内,网络处在不必要的 低利用率的状况。因为许多 TCP 连接在大约同一时刻进入慢启动,它 们也将在大约同一时刻脱离慢启动, 而这将引起另一个大的突发和另 一次拥塞的循环。 有一种解决方法就是在路由器中使用更大的缓存以 减少丢弃分组的概率, 但一方面,当这些大的缓存都充满时,所有的连 接上的时延将急剧增大,另一方面,如果通信量基本上是自相似的 , 那么就不能构造足够大的缓存,大的突发一个接一个地达到 ,如果拥 塞继续下去,而对缓存的需求一直在增长。 一个更好的解决方法应当是能够预计拥塞的开始 , 并告诉一个 TCP 连接应当在某个时刻慢下来,然后就测量这一个连接慢下来的效 果,在此之后才使另一个连接慢下来 ,用这种方式,在拥塞开始时,放 慢速率是逐渐进行的 ,因而通信量负荷也是逐渐减轻的 ,这样对 TCP
������
������������������������ =
������ =1
������������������ 1 − ������������
������−������
根据 Floyd 经典论文中提出的参数设定, 设定 L=50,minth =5。 因此我们通过下列公式可以求出������������ 的上限 (1 − ������������ )������+1 − 1 ������ + 1 + < ������������������������ℎ ������������ 我们得到������������ ≤0.0042。 RED 算法的设计是为了使平均队列长度始终保持在适当的范围。 如果������������ 太小不能及时控制平均队列长度,这样 RED 算法不能有效地 进行拥塞控制。
RED测试方法总结
RED测试方法总结吴频01070 RED(Random Early Detect)是一种拥塞检测机制,我们可以定义某类流在队列超过一定长度后预先按照比例随机丢弃。
RED的基本原理,大家可以查阅相关文档,此处只对测试方法进行一个总结。
测试组网图如下:LanswitchSmartbits图1RED测试组网图由于RED的丢弃机制,我们无法完全定量测试出RED的效果,因此测试过程中,首先测试出不配置RED时的丢弃结果,然后测试配置RED后的丢弃结果,进行比较。
RED的丢弃发生在队列完全拥塞之前,因此RED丢弃的报文要比一般情况多。
需要重点强调的是,整个测试过程中(包括不配置RED和配置RED的测试)都需要打开RDRAM。
1 不配置RED时的丢弃情况如图1,假设Port1、Port2、Port3连接的都是百兆口,我们从Port1线速打入1,000,000个64Byte的报文从Port3输出,在打入这1,000,000个包的同时,从Port2线速打入10,000个64Byte 的报文,也从Port3输出。
由于RDRAM的长度足够存储这10,000个包,所以看到的结果是Port3接收到1,010,000个包,没有任何报文的丢弃。
据此,我们可以不断增长Port2打入的报文数,测试出丢包的临界值,从而测出RDRAM的长度,测试结果如下:表1不配置RED的丢包情况很明显,被测设备的RDRAM长度只能存储503,000(MAX[Port3] - Port1)左右个报文,可以计算出RDRAM的长度:503,000 × 64 × 8 ≈ 256M2 配置RED时的丢弃情况2.1 队列长度对RED丢弃的影响测试条件和不配置RED时的情况一样(Port1打入1,000,000个,Port2打入10,000个),不同的是,我们必须配置Port1和Port2两个端口的流进行RED,为了有很好的比较性,需要Port1和Port2打入的流满足同一条rule,同时进行RED。
RED算法
1、REDRED 拥塞控制机制的基本思想是通过监控路由器输出端口队列的平均长度来探测拥塞,一旦发现拥塞逼近,就随机地选择连接来通知拥塞,使他们在队列溢出导致丢包之前减小拥塞窗口,降低发送数据速度,从而缓解网络拥塞。
由于RED 是基于FIFO 队列调度策略的,并且只是丢弃正进入路由器的数据包,因此其实施起来也较为简单。
RED 主要试图达到以下目标:(1)最小化包丢失率(2)最小化排队延迟(3)避免全局同步现象(4)避免对突发流的偏见:网络中含有大量的突发数据,而传统的"去尾"算法对突发流有很大的偏见。
在采用"去尾"算法的路由器中,如果某 个流的突发性越高,则当该流的包进入队列时越容易造成队列溢出,从 而导致连续地丢弃大量的该流的包。
即使在缺乏传输层协议有效配合的 情况下也能控制平均队列长度,从而避免拥塞。
为了达成以上目标,RED 采用了基于时间的平均队列长度,并且随机地选择正进入路由器地包进行丢弃。
这种方法能被有效地实施而无需在路由器中维持每个流(per-flow )的状态信息。
RED 算法主要分为两个部分。
首先是计算平均队列长度,以此作为对拥塞程度的估计。
另一个就是计算丢弃包的概率。
计算平均队列长度:q w avg w avg q q ⨯+⨯-=)1(其中,q w 为权值,q 为采样测量时实际队列长度。
这样由于网络数据的突发本质或者短暂拥塞导致的实际队列长度暂时的增长将不会使得平均队长有明显的变化,从而"过虑"掉短期的队长变化,尽量反映长期的拥塞变化。
在计算平均队长的公式中,q w 权值相当于低通滤波器的时间常数,它决定了路由器对输入流量变化的反应程度。
因此对q w 的选择非常重要,如果q w 过大,那么RED 就不能有效地过虑短暂的拥塞;如果q w 太小,那么就会avg 对实际队列长度的变化反应过慢,不能合理地反映拥塞状况,在这种情况下,路由器就不能有效检测到早期的拥塞。
- 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 算法发挥更好的性能。