NS2網(wǎng)絡模擬簡介以及MTE、LEACH、LEACH-C協(xié)議仿真課件_第1頁
NS2網(wǎng)絡模擬簡介以及MTE、LEACH、LEACH-C協(xié)議仿真課件_第2頁
NS2網(wǎng)絡模擬簡介以及MTE、LEACH、LEACH-C協(xié)議仿真課件_第3頁
NS2網(wǎng)絡模擬簡介以及MTE、LEACH、LEACH-C協(xié)議仿真課件_第4頁
NS2網(wǎng)絡模擬簡介以及MTE、LEACH、LEACH-C協(xié)議仿真課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、無線傳感器網(wǎng)絡仿真平臺NS2 計算機應用技術 張道遠內容NS2介紹OTcl語言簡介NS2的實現(xiàn)機制和體系結構利用NS2模擬流程和注意事項NS2協(xié)議仿真NS2介紹NS2是面向對象的,離散事件驅動的網(wǎng)絡環(huán)境模擬器,開發(fā)于UC Berkeley,它可以模擬各種IP網(wǎng)絡環(huán)境。NS2實現(xiàn)了對許多網(wǎng)絡協(xié)議的模擬,如TCP,UDP,和數(shù)據(jù)源發(fā)生器(traffic source)如FTP,WWW,Telnet,Web,CBR和VBR等。NS2模擬了路由隊列的管理機制,如Drop Tail,RED和VBR,實現(xiàn)了Dijkstra和其他的路由算法。NS2也實現(xiàn)了Multicasting和一些應用于局域網(wǎng)模擬的在M

2、AC層的協(xié)議。NS2采用分裂對象模型的開發(fā)機制,由C+和Otcl(加上面向對象特性的TCL腳本程序設計語言,開發(fā)于MIT)兩種程序設計語言實現(xiàn)。Otcl是Tcl的面向對象(Object Oriented)的擴展,在Otcl中加入了類的概念。對象是類的實例,它有自己的屬性(成員變量,InstVar)和自己的內部操作(成員函數(shù),InstProc)。對象具有繼承、封裝、多態(tài)性和動態(tài)綁定等性質。面向對象機制的加入使得原始的Tcl變得更加強大,更加方便使用。實際上,Tcl和OTcl的關系就像C和C+ 。因此,所有的Tcl命令都可以在OTcl中使用。C+程序模塊的運行速度非???,是強制類型的程序設計語言(

3、變量嚴格定義整型,浮點型和字符、字符串類型),容易實現(xiàn)精確的、復雜的算法,但是修改和發(fā)現(xiàn)、修正bug所花費的時間要長一些。適合對具體協(xié)議的模擬和實現(xiàn),因為它需要很有效率的處理字節(jié)(Byte),報頭(Packet Header)等信息,需要應用合適的算法在大量的數(shù)據(jù)集合上進行操作。Otcl是腳本程序編寫語言,是無強制類型的,比較簡單,容易實現(xiàn)和修改,容易發(fā)現(xiàn)和修正bug,雖然它的運行速度和C+的模塊相比要慢很多。許多網(wǎng)絡中的研究工作都圍繞著網(wǎng)絡組件和環(huán)境的具體參數(shù)的設置和改變而進行的,需要在短時間內快速的開發(fā)和模擬出所需要的網(wǎng)絡環(huán)境(scenarios),并且方便修改和發(fā)現(xiàn)、修復程序中的Bug。

4、這種環(huán)境的配置只需要一次。NS2的實現(xiàn)機制和體系結構NS是一種面向對象Tcl(OTcl)語言腳本解釋器,它有一個事件調度器、一個網(wǎng)絡組件庫。換句話說,使用NS時需要使用OTcl語言編寫腳本文件。事件調度器:事件在NS中是一個具有唯一ID號的數(shù)據(jù)包、數(shù)據(jù)包被處理的時間及處理它的主對象的總稱。事件調度器跟蹤仿真的時間并且根據(jù)預定時間安排隊列中的事件,激活當前時間對應的處理該事件的網(wǎng)絡對象。事件調度器維護一個排序的數(shù)據(jù)結構(缺省情況下ns使用鏈表),對事件有序地執(zhí)行、釋放,并激活事件處理對象。NS仿真試圖NS由C+和OTcl寫成:其中C+語言實現(xiàn)各種網(wǎng)絡組件,這是為了提高效率;OTcl語言編寫腳本文

5、件來建立網(wǎng)絡和運行仿真,這樣是為了簡單而快速地進行網(wǎng)絡環(huán)境的建立。 編譯過的C+對象只要通過鏈接,創(chuàng)建一個與之匹配的OTcl對象就可在OTcl解釋器中使用。 OTcl與C+的類對應示意圖NS2的總體系結構NS2的部分類結構連接器Connector是NS2基本網(wǎng)絡組件中的另一個大類。它的基本派生類對象包括緩沖隊列(Queue)、延遲(Delay)、各種產生和處理數(shù)據(jù)包的代理(Agent)和對象的跟蹤器(Trace)。基于連接器的基本網(wǎng)絡組件只有一個可能數(shù)據(jù)輸出的路徑,和分類器有1個或多個可能的數(shù)據(jù)輸出路徑(Switch)是不同的。拓撲結點連接類(Link)是NS2中另一個主要的復合組件對象。一個

6、結點和另一個結點之間的簡單連接(simplex-link)是單向的。一個最基本的簡單連接由一個連接入口、包緩沖隊列、延遲處理對象、廢棄處理對象和時間處理對象(TTL)組成。如何從OTcl來操縱NS2的C+對象, 這包括: 動態(tài)創(chuàng)建一個新的C+對象, 訪問這個C+對象的屬性, 調用該C+對象的方法. 利用NS2模擬流程和注意事項1. 流程整個模擬流程主要有三部分工作量:一是修改源代碼,二是 編寫Tcl模擬腳本,三是分析結果。源代碼在需要修改的時候才修改,注意修改C+代碼時候,要修改相應的OTcl代碼需要用awk語言對結果進行分析,用gnuplot作圖或者用nam生 成動畫tcl 腳本ns-2Tr

7、ace文件Nam文件namGawkgnuplot2. 注意事項NS2協(xié)議仿真1. MTE(Minimum Transmission Energy)協(xié)議:在MTE協(xié)議中,節(jié)點選擇離自己平面距離 最近的節(jié)點進行路由中轉當且僅當如下公式滿足時,節(jié)點A將會選擇 B轉發(fā)自己的數(shù)據(jù)到節(jié)點C3.LEACH-C協(xié)議:LEACH-C引入中心控制機制,保證簇頭較優(yōu)地分布于網(wǎng)絡中,從而優(yōu)化網(wǎng)絡性能。LEACH-C 協(xié)議也分為簇的建立和數(shù)據(jù)傳輸階段。在簇的建立階段,所有節(jié)點都將自己的位置與能量信息傳送給基站?;居嬎愠鏊泄?jié)點能量的平均值,只有能量大于平均值的節(jié)點才有資格成為簇頭。然后基站利用模擬退火算法劃分簇,選出簇頭節(jié)點。然后向所有節(jié)點廣播簇頭節(jié)點的ID 信息,各個節(jié)點根據(jù)接收的消息判斷自己的身份。如果ID 與自己的ID 信息相同,則成為簇頭;否則,則根據(jù)自己所在的簇決定自己的數(shù)據(jù)傳輸TDMA 時隙,并進入“睡眠”狀態(tài),直到傳輸數(shù)據(jù)的時隙到來。數(shù)據(jù)傳輸階段,LEACH-C 與LEACH 機制相同。LEACH模型仿真后生成 x.data,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論