freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

aodv路由協議的仿真與性能分析論文-資料下載頁

2024-11-08 01:39本頁面

【導讀】內容做了概述性的講解。的分析的基礎上,提出AODV路由協議的實現方案并將其實現。RERR消息,路由過期和路由刪除.....

  

【正文】 。 收到帶有“ N”標記 RERR 消息的節(jié)點,一定不能刪除 RERR 中到目的地節(jié)點的路由,如果 RERR 從沿著那條路由的下一跳收到,并且 到目的地節(jié)點的路由有一個或者多個先驅節(jié)點,它所需要做的只是轉發(fā)這條消息。當發(fā)起者節(jié)點收到帶有“ N標記的 RERR 消息,如果 RERR 來自沿著去往目的地路由的下一跳,那么發(fā)起者節(jié)點可以選擇重新發(fā)起路由發(fā)現。 對路由中的鏈路中斷進行本地修復有時候會導致到目的節(jié)點的路徑長度增加。鏈路的本地修復很容易增加能夠發(fā)送到目的地節(jié)點的數據報文的數目,因為當 RERR 被傳播至發(fā)起者節(jié)點的時候,數據報文將不會被丟棄。在對鏈路中斷進行本地修復之后,向發(fā)起者節(jié)點發(fā)送 RERR 可以允許發(fā)起者節(jié)點基于當前的節(jié)點位置,找到一條更好更新 的到目的地節(jié)點的路由。然而,它并不要求發(fā)起者節(jié)點一定要重建這條路由,因為發(fā)起者節(jié)點很可能己經結束或者即將結束數據會話。 當有效路由的鏈路中斷,通常有多個目的地節(jié)點變得不可達。中斷鏈路的上一級節(jié)點只試圖立即對一個目的地節(jié)點進行本地修復,到這個目的地節(jié)點的路由上正在進行數據報文的傳送。其它使用同樣鏈路的路由必須被標記為無效,但是進行本地修復的節(jié)點可以將每一條新丟失的路由標記為本地可修復。這些路由表中 的 本 地 修 復 標 記 在 路 由 超 時 以 后 必 須 被 重 置 ( 比如 路 由 在ACTIVE_OUTE_TIMEOUT 時間一直沒有進行活動 )。在 超時發(fā)生之前,如果有報文需要到達其它目的地節(jié)點,則其它路由將被修復。另外一種做法是,取決于本地擁塞,節(jié)點可以不用等待新的數據報文的到達,就開始為其它路由建立本地修復的過程 。 第三章 AODV路由算法模擬 NS2 概述 網絡模擬是進行網絡技術研究的一種基本手段,在新技術的研究過程中,由于各種原因,實際網絡系統的實現往往是代價較高或是不現實的。在這種情況下,模擬就成了最佳可供選擇的測試、評估和驗證手段之一。網絡模擬有著周期小、成本低等特點,而且可以使研究者更容易利用他人的研究成果,可以使研究者 更專注于自己所研究的部分而不必為系統的其他部分耗費過多的精力。 目前得到廣泛應用的網絡模擬工具主要有 OPNET 和 NS 這兩種。 OPNET 主要面向專業(yè)人士,價錢比較昂貴 。而 NS 是用于模擬各種 IP 網絡為主的源代碼公開的、免費的模擬平臺,它有大量的協議庫支持,已廣泛應用于局域網、廣域網、無線移動網和衛(wèi)星網絡仿真。 NS2 采用面向對象、離散事件驅動的模擬方法,易于對實際網絡建模,模擬效率高,系統易于擴展。 NS2 使用 OTcI 和 C++兩種程序設計語言,這兩種語言都是面向對象的。 C++程序模塊的運行速度非???, 是強制類型的程序設計語言,容易實現精確的、復雜的算法,但是修改和實現、修正 bug 所花費的時間較長 。 Otcl 是腳本程序編寫語言,是無強制類型的,比較簡單,容易實現和修改,容易發(fā)現和修正 bug,只是運行速度比 C++模塊要慢得多。所以為了兼顧網絡模擬效率和系統建模的靈活性,編程者可以使用面向對象、解釋執(zhí)行的腳本程序設計語言 Otcl 進行模擬配置,并通過編寫 C++構件擴充系統的模擬能力。 NS2 支持 TCP、 UDP、 IP、 RTP/RTCP、 MAC、 MAC 等協議 。支持算法路由、分級路 由、廣播路由、多播路由、靜態(tài)路由、動態(tài)路由協議 。可生成指定的業(yè)務流,如 Tel 業(yè)務流、 FTP 業(yè)務流、 Web 業(yè)務流、 VBR 業(yè)務流、CBR 業(yè)務流等 。支持 Drop Tail、 RED、 CBQ、 WRR、 DRR 和 SFQ 等隊列管理和包調度機制 。支持鏈路失效、鏈路出錯處理。 NS2 利用 NAM (Network Animator)和 Xgraph 軟件,可以將仿真結果文件*.nam39。,和, 39。*.tr39。,以 Nam和 Xgraph 2 種方式進行動態(tài)顯示。 在使用 NS2 進行模擬前,首先要分析模擬涉及哪個層次 [3].NS2 模擬 分兩個層次 :一個是基于 Otcl 編程的層次,利用 NS2 己有的網絡元素實現模擬,無需對 NS2 本身進行任何修改,只要編寫 Otcl 腳本 。另一個是基于 C++和 Otcl 編程的層次,如果 NS2 中沒有所需的網絡元素,就需要首先對 NS2 擴展,添加所需要的網絡元素。這就需要利用到分裂對象模型,添加新的 C++類和 Otcl 類,然后再編寫 Otcl 腳本。 模擬步驟 NS2 支持 AODV 路由協議,因此在 NS2 中模擬 AODV 路由協議的性能還是比較方便的,本次模擬是基于 Otcl 編程的層次,這時進行模擬的步驟大致如下 : Otcl 腳本。首先配置模擬網絡拓撲結構,此時可以確定鏈路的一 些基本特性,如帶寬、延遲和丟失策略等。 ,包括端設備的協議綁定和通信業(yè)務量模型的建立。 ,從而確定網絡上的業(yè)務量分布。 Trace 對象。 Trace 對象能夠把模擬過程中發(fā)生的特定類型的時間記錄 在 trace 文件中。 NS 一通過 trace 文件來保存整個模擬過程。仿真完成后,可以對 trace 文件進行分析研究。 ,設定模擬結束時間,至 此 Otcl 腳本編寫完成。 NS2 解釋執(zhí)行剛才編寫的 Otcl 腳本。 trace 文件進行分析,得出有用的數據,也可以用 Nam等工具觀看網絡模擬運行過程。 ,重新進行上述模擬過程。 本章將在 NS2 環(huán)境下模擬無線傳感器網絡的幾個重要網絡性能指標,包括網絡吞吐量,網絡數據包時間延遲,跳數,路由負載等,然后用 nam 工具演示了 RREQ 廣播,數據傳輸,掉包等過程。 網絡吞吐量模擬 shell 腳本 一次計算多個連接的吞吐量并且畫圖顯示的 shell 腳本如下 : !/bin/csh grep AGT $$ srcl=1 dstl=2 src2=4 dst2=5 src3=4 dst3=6 src4=6 dst4=7 src5=7 dst5=8 src6=7 dst6=9 src7=8 dst7=9 i=$src 1 j=$dstl dd=plot \$1 一 $i$\title\$i$j\with linespoints gawk v outfile=$1 一 $i$39。, v src=$i v dst=$j f $ echo $dd for k in2 3 4 5 6 7 do i=src$k i=$ [$i] j=dst$k j=$[$jJ gawk v outfile=$1 一 $i$39。, v src=$i v dst=$j f $ dd=$dd,\ $1 一 $i$\title\$i$j\with linespoints done echo set term png medium 。$1 echo set output \$1 \ 。$1 echo set ylabel \Transmission Speed(KB/s)\。$ echo set xlabel \Time(s)\。$ echo set key left top box。$1 echo set title 1AODV Analysis\。$1 echo $dd。$ gnuplot $1 模擬結果 圖 是 shell 腳本的執(zhí)行結果,橫坐標是整個模擬場景持續(xù)的時間,縱坐標是節(jié)點間的傳輸速率,從圖中我們可以看到共有 7 條曲線,表示不同的連接速率,如 I2,45 等。 圖 AODV 協議吞吐量 網絡數據包時間延遲 計算延遲的 awk 腳本 BEGIN{ recvdSize=0。 startTime=1 e6。 st 叩 Time=0。 } $2!}/^t/{ event=$1。 t 加 e=$2。 node id=$3。 plotid=$6。 pkt size=$8。 level=$4。 } $0}/^s.*AGT/amp。amp。sendTime[pktid]=0{ if($3=(_src_ )){ if (timestartTime){ startT 而 e=time。 } sendTime[pkt id]=time。 } } $0}/^r.*AGT/{ if($3=(dst_ )){ if (timestopTime){ stopTime=time } Recv Time[pkt_id]=time。 } } END{ delay=avgse delay=recvd Num=0。 for (i in recvTime){ if (sendTime[i]=0){ printf }nError in :receiving a packet that wasnot sent %g}n,i。 } delay+=(recvTime[i)sendTime[i))。 recvdNum++。 } if (recvdNum!=0) {avgee delay=delay/recvdNum。} else {avg delay=0。} if (recvdNum=0){ printf }nWarning:no packets were received,simulation may be too shortln。 } printf %15s:%d}n,startTime,startTime。 printf %ISs:%d}n,stopTime,stopTime。 printf %15s:%gin,avgDelay[ms],avg_delay*1000。 模擬結果 圖 網絡數據包時間延遲 圖中橫坐標 是不同的連接,比如 12, 45 等,縱坐標表示的延遲量, pause time是暫停的時間,值越大,表示整個場景的移動性越小,由圖可以看出, pause time越大網絡的延遲就越小,這說明傳感網絡中節(jié)點的移動對整個網絡的延遲影響很大。 跳數模擬 跳數 :消息成功傳輸的平均跳數二每個成功消息的跳數之和 /消息總成功數目 圖 跳數模擬 由圖 可以看出, pause time 較小時,各節(jié)點移動性比較大,所以跳數就會比較均衡,而 pause time 比較大時,節(jié)點移動性比較小,那跳數很大程度 上取決于初始的拓撲,這樣就會造成不同的連接之間跳數差別比較大。 路由負載模擬 圖 34 路由負載模擬 由圖 可以很明顯的看出,隨著 pause time 的增大,路由負載呈遞減趨勢,這說明移動性小的傳感網絡的路由負載要比移動性大的好。 RREQ 廣播演示 如果節(jié)點確定它需要一條到目的節(jié)點的路由而該路由并不可用,則節(jié)點發(fā)起一個 RREQ 廣播請求幀??梢杂?NS2 下的 nam 工具來演示 RREQ 廣播情形,圖 是在某一時刻截取到的運行場景圖。從圖中可以看出, RREQ 請求幀是以某個節(jié)點為中心向四周 擴散開,這與 AODV 路由協議的運行是一致的。 圖 用 nam演示 RREQ 廣播 數據傳輸演示 無線網絡中存在大量的節(jié)點,節(jié)點間需要相互通信,可以用 nam 來演示這一過程,圖 是其中某個時刻的一個截圖,圖中的小黑點表示傳輸的數據,當前正在從 1 號節(jié)點傳往 38 號節(jié)點。 圖 用 nam演示數據傳播 掉包演示 無線網絡中的節(jié)點在傳輸數據過程中,會發(fā)生掉包現象,可以用 nam 來演示掉包現象,圖 正是網絡中發(fā)生掉包現象時的一個截圖,圖中的帶數字的小圓圈表示網絡中的節(jié)點,黑色小方塊就是掉的包。 圖 用 nam演示掉包 本章小節(jié) NS 是一個龐大的系統,無線網絡模塊內容只是他其中很小的一部分,本章首先概要得介紹了 NS 系統,然后在 NS 環(huán)境下構建了一個無線網絡,并在該網絡上運行 AODV 路由協議。無線網絡的性能指標有很多,本章對其中的網絡吞吐量,網絡數據包時間延遲,跳數,路由負載等指標進行了模擬,然后又用 NS下的 nam工具演示了 RREQ 廣播,數據傳輸,掉包等過程。 通過本章的 NS 模擬,對 AODV 路由協議的性能及運行原理有了直觀的了解。 總 結 通過編寫這個 程序,我體會最為深刻的一點是系統架構和設計模式的重要性。即使是對于一個并不大的程序,代碼的組織都是非常重要的,因為這關系到日后的維護 以及擴展。但是對于系統的架構,卻完全是自己的事情,幾千上萬行的代碼需要通過合適的方法組織起來,使程序員編寫代碼更加有條理,更加符合軟件工程的
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1