資源描述:
《無線傳感器網(wǎng)絡(luò)仿真的ns2實(shí)現(xiàn)摘要》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、無線傳感器網(wǎng)絡(luò)仿真的NS2實(shí)現(xiàn)夏樂音王秋光(哈爾濱理工大學(xué)電氣與電子工程學(xué)院黑龍江哈爾濱150040)摘要:本文通過例子,介紹了基于IEEE802.15.4協(xié)議的無線傳感器網(wǎng)絡(luò)仿真的實(shí)現(xiàn)。并且結(jié)合該實(shí)例詳細(xì)說明了NS2中隨機(jī)場景的生成和tcl腳本編寫方法,以及仿真結(jié)果的分析過程。關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);NS2;無線網(wǎng)絡(luò)仿真ThesimulationofWirelessSensorNetworksinNS2XiayueyinWANGqiuguang(Electrical&ElectronicEngineeringCollege,Harbi
2、nUniv.Sci.Tech.,Harbin150040,China)Abstract:Accordingtotheexample,thesimulationofWSNsisimplementedbasedonIEEE802.15.4protocol.ThescenegenerationinNS2,themethodoftclscriptcompilationandtheanalysisofthesimulationresultsareintroducedindetail,combinedwiththeexample.keywords:
3、WSNs;NS2;WirelessNetworkSimulation1引言無線傳感器網(wǎng)絡(luò)[1](WSNs:WirelessSensorNetworks)是由隨機(jī)分布的大量傳感器節(jié)點(diǎn),以無線自組織的方式構(gòu)成的網(wǎng)絡(luò),以無線短距離、低功耗、多跳的通信方式完成對(duì)周邊外部環(huán)境中的數(shù)據(jù)采集和監(jiān)測任務(wù)。無線傳感器網(wǎng)絡(luò)已成為軍事、商業(yè)、學(xué)術(shù)界的一個(gè)研究熱點(diǎn),有十分廣闊的應(yīng)用前景。在無線傳感器網(wǎng)技術(shù)的研究中,仿真是一種既有效又經(jīng)濟(jì)的研究方法。目前的網(wǎng)絡(luò)仿真工具主要包括兩類:一是基于大型網(wǎng)絡(luò)開發(fā)的網(wǎng)絡(luò)仿真工具,如OPNET、GloMoSim等;二是基于小型
4、網(wǎng)絡(luò)開發(fā)的網(wǎng)絡(luò)仿真工具,如NS2、COMNETIII等。大多數(shù)網(wǎng)絡(luò)仿真工具的價(jià)格昂貴[2],而本文采用的NS2是一種應(yīng)用廣泛、影響力較大和源代碼公開的免費(fèi)網(wǎng)絡(luò)模擬軟件。2無線傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu)圖1是無線傳感器網(wǎng)絡(luò)的分層結(jié)構(gòu)。MAC層和物理層協(xié)議采用的是IEEE802.15.4。IEEE802.15.4[3]是針對(duì)低速無線個(gè)人區(qū)域網(wǎng)絡(luò)(LR-WPAN)制定的標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)把低能量消耗、低速率傳輸、低成本作為重點(diǎn)目標(biāo),旨在為個(gè)人或家庭范圍內(nèi)不同設(shè)備之間低速互連提供統(tǒng)一標(biāo)準(zhǔn)。IEEE802.15.4的網(wǎng)絡(luò)特征與無線傳感器網(wǎng)絡(luò)存在很多相似之處,
5、所以許多研究機(jī)構(gòu)把它作為無線傳感器網(wǎng)絡(luò)的無線通信平臺(tái)。圖1無線傳感器網(wǎng)絡(luò)的分層結(jié)構(gòu)3網(wǎng)絡(luò)仿真軟件NS2NS(NetworkSimulator)是1989年由美國的LBNL實(shí)驗(yàn)室等開發(fā)的仿真軟件。運(yùn)行于Windows平臺(tái)的NS2需要PERL和Cygwin的支持[4]。NS2是一個(gè)可擴(kuò)展、易配置和可編程的事件驅(qū)動(dòng)網(wǎng)絡(luò)仿真引擎。底層的仿真引擎由C++編寫,同時(shí)利用面向?qū)ο蟮腛TCL語言作為仿真時(shí)命令和配置的接口語言。C++的特點(diǎn):具有很快的運(yùn)行速度,但每次改變均需要編譯,較為復(fù)雜,適合處理繁瑣但比較固定的工作。OTCL在運(yùn)行速度上無法和C++
6、比擬,但相對(duì)來說更加靈活,適合用來設(shè)計(jì)個(gè)人的仿真方案。C++和OTCL之間通過TCLCL工具包實(shí)現(xiàn)互相調(diào)用。為了分析仿真結(jié)果,NS2提供了兩種基本數(shù)據(jù)追蹤能力:一是跟蹤,生成“.nam”和“.tr”文件。能夠?qū)⒚總€(gè)數(shù)據(jù)包在任何時(shí)刻的狀態(tài)保存到指定文件中,記錄包在隊(duì)列或鏈路中丟棄、到達(dá)、離開等行為;二是監(jiān)視,用戶有選擇地記錄自己需要的數(shù)據(jù),可利用Gawk、Gnuplot等工具統(tǒng)計(jì)發(fā)送包、接收包及丟棄包等結(jié)果進(jìn)行分析。4仿真過程4.1仿真場景配置本文的MAC類型采用IEEE802.15.4協(xié)議,路由采用AODV協(xié)議。節(jié)點(diǎn)移動(dòng)場景:20個(gè)節(jié)點(diǎn)
7、,分布在200m*200m的正方形區(qū)域中,每個(gè)節(jié)點(diǎn)隨機(jī)選擇運(yùn)動(dòng)方向和運(yùn)動(dòng)速度,最大運(yùn)動(dòng)速度為50m/s,場景持續(xù)50s,利用setdest工具來完成。流量場景:流量是cbr,20個(gè)節(jié)點(diǎn),速率為1.0,利用cbrgen流量產(chǎn)生工具來完成[5]。4.2仿真步驟1.編寫tcl腳本[6],在腳本中定義整個(gè)模擬過程,包括網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以及數(shù)據(jù)收發(fā)過程等內(nèi)容。#定義場景參數(shù)…………setval(mac)Mac/802_15_4setval(adhocRouting)AODVsetval(x)200…………#配置節(jié)點(diǎn)的參數(shù)$ns_node-confi
8、g–adhocRouting$val(adhocRouting)…………#記錄模擬過程的跟蹤數(shù)據(jù)settracefd[openexample.trw]$ns_trace-all$tracefdsetnam