通信网NS仿真作业.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通信网NS仿真作业

RED算法拥塞控制性能 在目前的网络中,带宽的资源越来越紧缺,而用户的数量却与日俱增,拥塞控制和队列管理已经成为网络发展变化的一种必不可少的技术。拥塞控制的主要目的是控制网络负载,保证用户提供给网络的的负载不大于网络资源容量和处理能力。目前在路由器中主要采用弃尾算法(Drop tail)和随机早期检测(Random Early Detection)算法来进行队列的拥塞控制。在本实验中,通过NS仿真来展示RED算法对网络拥塞的控制性能。RED算法TCP基于窗口的端到端的拥塞控制对于internet的鲁棒性起到了关键性的作用。但是,随着互联网的爆发式发展,网络规模越来越大,仅仅依靠TCP对于拥塞的控制以提高互联网的QOS是远远不够的,因此需要提出更好的更完美的拥塞控制机制来保证系统的通畅。必须把网络传输的中间节点也拉入网络的拥塞控制机制中去。例如采用路由器端的拥塞控制方法,其主要思想就是通过排队算法决定哪些包可以优先传输,哪些包可以选择性地丢弃,从而达到网络的拥塞控制。其中,随机早期检测(RED)算法是目前互联网中运用的主流算法。1.RED算法原理随机早起检测(RED,Random Early Detection)算法将队列的平均队长作为决定拥塞避免机制是否应被处罚的随机函数的参数,增加了在队列长度变得太大之前平滑瞬时拥塞的可能性,减少了同时使多个流受分组丢弃影响的可能性。RED算法主要分为两个部分。首先是计算平均队列长度,以此作为对拥塞程度的估计;另一部分是计算丢弃包的概率。由于Internet数据的突发性,如果一个队列很多时候是空的,然后迅速被充满,又很快被取空,这时就不能说路由器发生拥塞而需要向源端发送拥塞指示。整个算法大体描述如下:Avq=0,count=-1;当有分组到达时:If( 队列空) { =f(time-q_time); Avq= (1-w)m Avq; }else Avq—(1-w) Avq+wq;If (MINth= Avq =MAXth){Count=Count+1;Pb=maxp((Avq- MINth)/( MAXth- MINth) );Pa=Pb/ (1-count*P);}else if(Avq= MAXth)丢弃分组else count=-1;其中: Avq:路由器队列平均长度。因此, RED在计算平均队长avgQ时,采用了类似低通滤波器带权值的方法,平均队长的计算公式如下avgQ=(1-wq)*avgQ+ wq*q (1)其中,wq为权值, q为采样时实际队列长度。这样由于Internet数据的突发本质或者短暂拥塞导致的实际队列长度暂时的增长将不会使得平均队长有明显的变化,从而“过滤”掉短期的队长变化,尽量反映长期的拥塞变化。RED有两个和队列长度相关的阈值:MINth。和MAXth。当有分组达到路由器时,RED计算出平均队长avgQ。若avgQ MINth,则没有分组需要丢弃;当MINthavgQMAXth时,计算出概率P,并以此概率丢弃分组;当avgQMAXth时,所有的分组都被丢弃。由于RED使用的是基于时间的平均队长度,就有可能会发生实际队长大于平均队长的情况,如果队列已满,则到达的分组只能被丢弃。2.RED算法优点1) 最小化包丢失率和排队延迟。当负载动态变化时, RED通过检测平均队长控制链路当前拥塞状态,在平均队长超过了最大阈值后就丢包,有效地控制了平均队长,减小了平均时延的大小,允许一定范围的包突发业务,削减了对突发流的偏见。2) RED路由器处采用提前丢包和均匀随机分布丢包,可以避免由于队列溢出和连续丢包导致的“全局同步”现象。3)即使在缺乏传输层协议有效配合的情况下也能控制平均队列长度,从而避免拥塞。RED拥塞控制性能分析仿真模型图1 仿真模型如图1所示,节点0为路由器节点,节点1为接收节点,之间的带宽为1.2Mb,延时20ms;节点2、3、4为源节点,到路由器节点之间的带宽为2Mb。其中的链路采用RED队列管理算法。仿真程序set ns [new Simulator]#产生一个仿真对象 set nf [open out.nam w]$ns namtrace-all $nfset tf [open out.tr w]set windowVsTime [open win w]set param [open parameters w]$ns trace-all $tf#开启一个trace file,用来记录封包传送的过程#定义一个结束程序proc finish {} { global ns nf tf $ns flush-trace close $nf close $tf exec nam out.nam exec grep a red-queue.tr ave.trex

文档评论(0)

peain + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档