中南大學無線傳感器網(wǎng)絡課程設計NS2仿真_第1頁
中南大學無線傳感器網(wǎng)絡課程設計NS2仿真_第2頁
中南大學無線傳感器網(wǎng)絡課程設計NS2仿真_第3頁
中南大學無線傳感器網(wǎng)絡課程設計NS2仿真_第4頁
中南大學無線傳感器網(wǎng)絡課程設計NS2仿真_第5頁
免費預覽已結束,剩余18頁可下載查看

下載本文檔

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

文檔簡介

1、中南大學信息科學與工程學院無線傳感器網(wǎng)絡課程設計題目名稱:基于NS2的無線傳感器網(wǎng)絡軟件仿真實驗 姓名: 董嘉偉 學號: 0909103303 專業(yè): 物聯(lián)網(wǎng)工程1002班 組員: 裘鋮、施國豪 指導教師: 何小賢 時間: 2013、07、11 目錄l 課程設計目的l 課程設計內容l 課程設計實驗原理n WSN路由協(xié)議n WSN MAC層協(xié)議n 修改的路由協(xié)議l 課程設計小組分工l 課程設計實驗流程l 課程設計實驗結果分析l 課程設計心得體會l 課程設計總結l 參考文獻l 源代碼1、 課程設計目的 無線傳感器網(wǎng)絡是物聯(lián)網(wǎng)的基本組成部分,是物聯(lián)網(wǎng)用來感知和識別周圍環(huán)境的信息生成和采集系統(tǒng),傳感器

2、網(wǎng)絡對信息處理來說如同人體的感覺突觸一樣重要。為了方便感知和部署并提高網(wǎng)絡的可擴展性,傳感器網(wǎng)絡一般采用無線通信方式,從而形成了節(jié)點之間可自組織拓撲結構的無線傳感器網(wǎng)絡。本課程設計的目的綜合應用學生所學知識,建立系統(tǒng)和完整的傳感器網(wǎng)絡概念,理解和鞏固無線傳感器網(wǎng)絡基本理論、原理和方法,掌握無線傳感器網(wǎng)絡開發(fā)的基本技能。2、 課程設計內容 軟件仿真實驗。要求使用相關軟件仿真一個無線傳感器網(wǎng)絡,要求如下:l 自行參考相關資料,成功安裝 NS2(或 OPNET也可以);l 利用NS2自帶的范例,構建一個100個節(jié)點的無線傳感器網(wǎng)絡,能夠成功運行;最好能有界面顯示;l 利用利用NS2自帶的范例或其它已

3、有腳本,仿真上述無線傳感器網(wǎng)絡一種路由協(xié)議(例如一種多播路由協(xié)議);l 利用利用NS2自帶的范例或其它已有腳本,仿真上述無線傳感器網(wǎng)絡采用一種MAC協(xié)議;l 修改或自行編寫一個簡單路由協(xié)議或MAC協(xié)議,并進行仿真運行。3、 課程設計實驗原理a) WSN路由協(xié)議 傳統(tǒng)計算機網(wǎng)絡對路由協(xié)議要求如下:正確性,健壯性,穩(wěn)定性,公平性,最優(yōu)性。除此之外,無線傳感器網(wǎng)絡對路由協(xié)議更注重以下特殊要求:能源有效性,簡單性,多路性。無線傳感器網(wǎng)絡是以數(shù)據(jù)為中心(Data Centric)進行路由的,不同于傳統(tǒng)Ad hoc網(wǎng)絡以地址為中心(Address Centric)進行路由的模

4、式。由于傳感器最基本任務就是感知、采集數(shù)據(jù),無線傳感器網(wǎng)絡鄰近節(jié)點間采集的數(shù)據(jù)必然具有相似性,存在冗余信息,需經(jīng)數(shù)據(jù)融合(Data Fusion)處理再進行路由。有研究表明,在分布密度為(x, y)的隨機區(qū)域,傳感器間冗余數(shù)據(jù)為:=Se。直接傳輸這些未經(jīng)處理、存在冗余的數(shù)據(jù),將會造成網(wǎng)絡帶寬、節(jié)點能源的巨大浪費,導致節(jié)點迅速死亡,縮短整個網(wǎng)路的生命周期。 無線傳感器網(wǎng)絡中的大部分節(jié)點不像傳統(tǒng)Ad hoc網(wǎng)絡中的節(jié)點一樣快速移動,因此沒有必要花費很大的代價頻繁地更新路由表信息。常規(guī)路由協(xié)議通常認為底層的通信信道是雙向的,但是在采用無線通信的無線傳感器網(wǎng)絡環(huán)境中,由于

5、發(fā)射功率或地理位置等因素的影響,可能存在單向信道。它給常規(guī)路由協(xié)議帶來三個嚴重的影響:認知單向性、路由單向性和匯點不可達。 本次實驗中涉及到路由協(xié)議原理如下:l AODV AODV(Ad hoc on-demand distance vector routing)是一種源驅動路由協(xié)議。當一個節(jié)點需要給網(wǎng)絡中的其他節(jié)點傳送信息時,如果沒有到達目標節(jié)點的路由,則必須先以多播的形式發(fā)出RREQ(路由請求)報文。RREQ報文中記錄著發(fā)起節(jié)點和目標節(jié)點的網(wǎng)絡層地址,鄰近節(jié)點收到RREQ,首先判斷目標節(jié)點是否為自己。如果是,則向發(fā)起節(jié)點發(fā)送RREP(路由回應);如果不是,則首先在路由表中查找是否有到達目標

6、節(jié)點的路由,如果有,則向源節(jié)點單播RREP,否則繼續(xù)轉發(fā)RREQ進行查找。在網(wǎng)絡資源充分的情況下,AODV協(xié)議可以通過定期廣播hello報文來維護路由,一旦發(fā)現(xiàn)某一個鏈路斷開,節(jié)點就發(fā)送ERROR報文通知那些因鏈路斷開而不可達的節(jié)點刪除相應的記錄或者對已存在的路由進行修復。 b) WSN MAC層協(xié)議 MAC層位于OSI七層協(xié)議中數(shù)據(jù)鏈路層,數(shù)據(jù)鏈路層分為上層LLC(Logical Links Control,邏輯鏈路控制),和下層的MAC(媒體訪問控制),MAC主要負責控制與連接物理層的物理介質。在發(fā)送數(shù)據(jù)的時候,MAC協(xié)議可以事先判斷是否可以發(fā)送數(shù)據(jù),如果可以發(fā)送將給數(shù)據(jù)加上一些控制信息,

7、最終將數(shù)據(jù)以及控制信息以規(guī)定的格式發(fā)送到物理層;在接收數(shù)據(jù)的時候,MAC協(xié)議首先判斷輸入的信息并是否發(fā)生傳輸錯誤,如果沒有錯誤,則去掉控制信息發(fā)送至LLC(邏輯鏈路控制)層。 不管是在有線局域網(wǎng)(LAN)中還是在無線局域網(wǎng)(WLAN)中,MAC協(xié)議都被廣泛地應用。在傳統(tǒng)局域網(wǎng)中,各種傳輸介質的物理層對應到相應的MAC層,目前普遍采用的是IEEE 802.3的MAC層標準,采用CSMA/CD訪問控制方式;而在無線局域網(wǎng)中,MAC所對應的標準為IEEE 802.11,其工作方式采用DCF(分布控制)和PCF(中心控制)。l 802.11 接入點能夠通過使用傳輸規(guī)范(TSPECs)控制網(wǎng)絡工作量。一

8、個接入點能夠要求每一個站點為每一個訪問類發(fā)送一個傳輸規(guī)范請求。這個請求將具體說明這個站點為每一個訪問類申請的數(shù)據(jù)量以及可以承受多長時間的延遲。如果一個接入點計算它從各個站點收到的請求超過了網(wǎng)絡的容量,它將拒絕這些請求。如果一個申請遭到拒絕,提出申請的站點就不再發(fā)送那種訪問類的數(shù)據(jù),并且必須把這種訪問類的數(shù)據(jù)結合到優(yōu)先等級低的數(shù)據(jù)中。同PCF一樣,HCCA是一種輪詢協(xié)議。當使用時,它總是能夠獲得訪問媒體的權限,因為它等待的時間比任何EDCA用戶最短的AIFS時間還要短。HCCA能夠為每一個應用配置單獨的服務質量設置。位于接入點中的混合協(xié)調器(HC)輪流查詢單個的站點,并且根據(jù)已經(jīng)配置的具體的服務

9、質量設置批準訪問媒體的權限。這里沒有競爭,因此,高優(yōu)先等級數(shù)據(jù)的延遲不會隨著網(wǎng)絡通信的增加而遭到損失。c) 修改的路由協(xié)議AODV協(xié)議的一個很大的缺陷是每個源結點只維護一條到一個特定目的結點的路由,如果這條路由失效,將會重新發(fā)起路由發(fā)現(xiàn)過程,從而增大網(wǎng)絡的開銷。在拓撲變化頻繁的網(wǎng)絡中,這個缺點顯得尤為突出。如圖所示例子,如果結點S需要和結點D進行通信,但結點S中沒有到結點D的有效路由,結點S將會廣播一個RREQ分組。結點1收到此砌也Q分組后,假設其沒有到結點D的有效路由,結點1會繼續(xù)廣播此RREQ分組。假設結點2的路由表中有一條到達目的結點D的有效路由,結點4和結點5的路由表中沒有到結點D的有

10、效路由。最終結點S將會先后收到由結點2和結點D發(fā)送的包含S123D和S1-456D路由的RREP分組。結點S只會根據(jù)目的節(jié)的序列號和至目的結點的跳數(shù)保留其中的一條路由,另一條路由即使是有效路由也將被丟棄。在此例中,由于目的結點序列號較小,路由S1-23一D將被丟棄。如在結點S通過路由S1456D與結點D通信的過程中,結點1發(fā)現(xiàn)與結點4斷開,結點S需要重新發(fā)起一個至結點D的路由發(fā)現(xiàn)過程,最后可能會再次收到包含路由S1-23D的RREP分組。在每個源結點維護一條到指定目的結點的備份路由,并通過修改本地修復機制,使得當主路由失效時,會通過備份路由來發(fā)送數(shù)據(jù)包。只有當備用路由也失效時才重新發(fā)起路由發(fā)現(xiàn)

11、過程,是我們改進路由協(xié)議的思想。為了區(qū)分主路由與備份路由,需要對原有的路由表做一定的擴充,具體做法為在aodvrtableh中的aodvrtentry類聲明中添加一個標志位rt_pfiority并在aodvrt entry的構造函數(shù)中將其初始化為0。當其為0時,表示主路由,當其為1時,表示備份路由。為了實現(xiàn)備份路由的添加及查找功能,在aodvrtable類中添加rt_addbackup(nsad&'tid)和rt_lookupbaekup(nsaddr_t,id)兩個函數(shù)。代碼如下:Aodvlc_rt_entry*aodvle_rtable:rt_addback(nsaddr_

12、tid)Aodvlc_rt_entry*rt;assert(rt_lookup(id)=o);Rt=new aodvlc_rt_entry;assert(rt);rt->rt_dst=id;rt->rt_priofity=1;LIST_INSERT_HEAD(&rthead,rt,rt link);Retum rt;Aodvlc_rt_entry*aodvlc_rtable:rt_lookupback(nsaddr_tid)Aodvlc_rt_entry*rt=rthead.1h_first;for(;rt;rt=rt->rt_link1e_next)if(rt-&g

13、t;rt_dst_id)&&(rt->rt_priority=1)break;Return rt;4、 課程設計小組分工組長:施國豪無線傳感器網(wǎng)絡設計及TCL腳本編寫:董嘉偉路由、MAC層協(xié)議仿真:裘鋮路由協(xié)議改進:董嘉偉報告編寫:董嘉偉、裘鋮資料收集:施國豪5、 課程設計實驗流程a) 實驗環(huán)境的搭建 我采用了VMWARE+CENTOS+NS2的搭建方式。曾經(jīng)考慮在Windows下使用Cygwin+NS2的搭建方式,但由于Cygwin下模擬Linux編譯NS2文件經(jīng)常出現(xiàn)錯誤,所以換用虛擬機VMWARE安裝CENTOS來測試。安裝需要額外的包來完成支持,具體包如下: G+

14、、Gcc、libX11、xorg-x11、libXt、libXmu,以CentOS為例,需執(zhí)行以下指令(使用Root用戶) $yum install libX11-devel* $yum install xorg-x11-proto-devel* $yum install libXt-devel* $yum install libXmu-devel* 在NS2的解壓目錄下執(zhí)行./install,安裝完成后執(zhí)行簡單的tcl測試腳本,運行成功,結果如下: b) 無線傳感器網(wǎng)絡設計根據(jù)課程設計指導書要求,設計一個含有100個傳感器節(jié)點的無線網(wǎng)絡。拓撲圖如下: 借助NSG2完成隨機節(jié)點的分布,其中具備

15、鄰居條件的用藍色線條連接表示,灰色線條代表某節(jié)點的廣播域。 除此之外,NSG2還可以用來輔助生成TCL腳本文件。根據(jù)自己預設的條件設置諸如節(jié)點路由協(xié)議、MAC協(xié)議、物理層模型、節(jié)點數(shù)、節(jié)點位置、節(jié)點橫縱坐標范圍等等,極大地降低了編寫測試腳本的難度,提高了協(xié)議的修改和測試速度。根據(jù)現(xiàn)有TCL測試腳本,編輯節(jié)點屬性如下:set val(chan) Channel/WirelessChannel ;# channel typeset val(prop) Propagation/TwoRayGround ;# radio-propagation modelset val(netif) Phy/Wire

16、lessPhy ;# network interface typeset val(mac) Mac/802_11 ;# MAC typeset val(ifq) Queue/DropTail/PriQueue ;# interface queue typeset val(ll) LL ;# link layer typeset val(ant) Antenna/OmniAntenna ;# antenna modelset val(ifqlen) 50 ;# max packet in ifqset val(nn) 100 ;# number of mobilenodesset val(rp)

17、 DSDV ;# routing protocolset val(x) 14248 ;# X dimension of topographyset val(y) 100 ;# Y dimension of topographyset val(stop) 10 ;# time of simulation end$ns node-config -adhocRouting $val(rp) -llType $val(ll) -macType $val(mac) -ifqType $val(ifq) -ifqLen $val(ifqlen) -antType $val(ant) -propType $

18、val(prop) -phyType $val(netif) -channel $chan -topoInstance $topo -agentTrace ON -routerTrace ON -macTrace ON -movementTrace ONAGENT屬性設置set udp_(0) new Agent/UDP$ns attach-agent $n84 $udp_(0)set null_(0) new Agent/Null$ns attach-agent $n30 $null_(0)$ns connect $udp_(0) $null_(0)set cbr_(0) new Appli

19、cation/Traffic/CBR$cbr_(0) set packetSize_ 512$cbr_(0) set interval_ 0.1$cbr_(0) set random_ 1$cbr_(0) set maxpkts_ 100000000$cbr_(0) attach-agent $udp_(0)$ns at 4.0 "$cbr_(0) start"c) 路由層、MAC層協(xié)議仿真1. 路由層協(xié)議仿真在路由層,我們模擬的路由協(xié)議是AODV路由協(xié)議。100個節(jié)點網(wǎng)絡具體測試如下:2. MAC層協(xié)議仿真節(jié)點TCL測試腳本編輯如下:set tcp new Agent/T

20、CP$tcp set class_ 2set sink new Agent/TCPSink$ns_ attach-agent $node_(0) $tcp$ns_ attach-agent $node_(1) $sink$ns_ connect $tcp $sinkset ftp new Application/FTP$ $tcp$ns_ at 0.5 "$" for set i 0 $i < $val(nn) incr i $ns_ at 6.0 "$node_($i) reset"$ns_ at 6.0 "stop"$ns_

21、 at 6.01 "puts "NS EXITING." ; $ns_ halt"proc stop global ns_ tracefd $ns_ flush-trace close $tracefdputs "Starting Simulation."$ns_ runWireless-simple-mac的trace內容截圖如下:Wireless-simple-mac的NAM截圖如下:d) 路由協(xié)議改進節(jié)點開始廣播建立網(wǎng)絡 節(jié)點根據(jù)傳輸需求建立路由線路 節(jié)點建立路由成功,開始傳輸數(shù)據(jù) 六、課程設計結果分析 在路由協(xié)議仿真中,AOD

22、V協(xié)議確實跟我們之前學過的路由協(xié)議不一樣,傳統(tǒng)的無線傳感器網(wǎng)絡路由協(xié)議運行大致分為兩個階段:路由建立階段、數(shù)據(jù)收集階段。當節(jié)點部署到網(wǎng)絡并開啟電源后,并不是立即進入數(shù)據(jù)收集。而是首先由基站發(fā)送Hello包,節(jié)點接受到Hello包后,更新自己的鄰居節(jié)點信息,從而建立樹狀的網(wǎng)絡結構。進入數(shù)據(jù)收集階段后,當網(wǎng)絡中某一節(jié)點接受到數(shù)據(jù)包后,該節(jié)點就會向鄰居表中的某一節(jié)點發(fā)送數(shù)據(jù)收集包(Collect包),最終將接收到的數(shù)據(jù)信息發(fā)送到基站,傳給應用程序進行處理。而AODV協(xié)議采用產(chǎn)生數(shù)據(jù)傳輸請求時才會建立路由,這種所需才所求的方式特別適合傳感器節(jié)點這種能量有限、數(shù)據(jù)量小的特征,所以具有一定的優(yōu)越性。 在MAC協(xié)議仿真中,MAC層在建立連接后,即傳輸傳輸層中產(chǎn)生的數(shù)據(jù)請求,在本次實驗中,采用的是TCP AGENTS,由于TCP三次握手的原理,所以TCP在數(shù)據(jù)傳輸中會產(chǎn)生太多的額外信息,加重了節(jié)點的負擔,不利于節(jié)點長期穩(wěn)定的工作。所以我們在無線傳感器網(wǎng)絡的傳輸層中,應選取短小安全的傳輸層協(xié)議,例如PSFQ協(xié)議。這類協(xié)議屬于慢分發(fā)快提取可

溫馨提示

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

評論

0/150

提交評論