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