伫列管理机制queuemanagement指导教授.pptVIP

  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文档。上传文档
查看更多
伫列管理机制queuemanagement指导教授

範例程式碼 #隨機在0到1秒之間決定資料流開始傳送時間 set rng [new RNG] $rng seed 1 set RVstart [new RandomVariable/Uniform] $RVstart set min_ 0 $RVstart set max_ 1 $RVstart use-rng $rng #決定開始傳送時間 for {set i 0} { $i $par2 } { incr i } { set startT($i) [expr [$RVstart value]] } #在指定時間,開始傳送資料 for {set i 0} {$i $par2} {incr i} { set ftp($i) [$tcp($i) attach-app FTP] $ns at $startT($i) $ftp($i) start } 第六章 佇列管理機制 (Queue Management) 指導教授:許子衡 教授 學  生:董藝興 Drop Tail和被動式佇列管理機制 由於佇列的長度是有限的,因此當資料流太大,而佇列沒有空間去暫時存放這些新近來的封包,就會把佇列最尾端的封包丟棄,這樣的管理機制就叫做DropTail。DropTail佇列管理機制大都會跟FIFO(First In First Out)排程管理機制搭配,整個運作的方式為:傳送封包的順序會依照封包進入佇列的順序,先進入佇列中的封包會先傳送出去,後進入佇列的封包就會較晚傳送出去。若佇列長度超過暫存空間的大小,就會把佇列最尾端的封包給丟棄。 因此DropTail佇列管理機制的最大優點就是實作簡單 Drop Tail和被動式佇列管理機制 DropTail容易造成全局同步(TCP Global Synchronization)問題 Random Drop:當佇列滿時,前者從佇列中隨機找出一個包丟棄,讓新來的包進入佇列 Drop Front後照從佇列前端把封包丟棄,以便新包進入佇列。   但這兩種佇列管理的機制仍然存在”滿佇列”問題。由於這幾種方法都是在佇列滿了被迫丟包,因此稱為被動式隊列管理。 Red和主動式佇列管理機制 Red佇列管理機制是使用平均佇列長度來預測即將發生的網路壅塞,並採用隨機選擇的方式對封包進行丟棄,使得在擁塞尚未發生之前就會讓具有擁塞控制的傳送端做流量速度的管制,以避免擁塞發生。同時由於RED是採用隨機的方式來丟棄封包,這樣可使得不同TCP資料流對擁塞情況反應不會有同步化的情況,因而解決“TCP全局同步”現象 RED和主動式佇列管理機制 RED計算平均佇列長度是採用指數加權平均方式,計算的公式如下: Avg =( 1 – wq )* avg + wq*q Avg:平均佇列長度  q:目前實際佇列長度 Wq:實際佇列長度加權系數 RED和主動式佇列管理機制 決定要丟棄封包依據兩個門檻值minth和maxth,當平均佇列長度avg小於minth時,所有封包都可以進入佇列,但當avg超過maxth時,將所有封包直接丟棄,當avg介於minth和maxth時,則依據底下的機率公式來丟棄封包: Pb = maxp( avg – minth ) ÷ ( maxth – minth ) maxp :是網管者預先預設定的丟棄機率值 RED和主動式佇列管理機制 而RED在真正在決定是否要把封包丟棄並不是採用Pb,而是對Pb做如下的修正以作為實際封包丟棄機率: Pa = Pb / ( 1 – count*Pb ) Count記錄了從上一個封包被丟棄後有多少封包進入佇列。 採用Pa的用意是希望讓封包丟棄機率的分佈更均勻。 範例程式碼 #開啟一個trace file,用來記錄封包傳送的過程   set nd [open out-$par1-$par2.tr w]   $ns trace-all $nd set time [$ns now] set sum_thgpt 0 #throughput = 收到Ack數 * Packet Size (Bit) / 傳送時間 #收到Ack數 = 傳送出Packet數 for {set i 0} {$i $par2} {incr i} { set ackno_($i) [$tcp($i) set ack_] #設定收到Ack數 set thgpt($i) [expr $ackno_($i) * 1000 * 8.0 / ($time - $startT($i)) ] #收到Ack數 * Packet Size (Bit) / 傳送時間 範例程式碼 set su

文档评论(0)

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

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

1亿VIP精品文档

相关文档