關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于NS2的無線傳感器網(wǎng)絡(luò)仿真平臺(tái)設(shè)計(jì)

基于NS2的無線傳感器網(wǎng)絡(luò)仿真平臺(tái)設(shè)計(jì)

作者: 時(shí)間:2009-12-16 來源:網(wǎng)絡(luò) 收藏

0 引言
是當(dāng)前國(guó)際上備受關(guān)注的、涉及多學(xué)科高度交叉、知識(shí)高度集成的前沿?zé)狳c(diǎn)研究領(lǐng)域。未來的將向海、陸、空、天立體化系統(tǒng)的方向發(fā)展,最終將成為人類生產(chǎn)和生活不可分割的一部分。網(wǎng)絡(luò)無論是在國(guó)防,還是在國(guó)民經(jīng)濟(jì)的各個(gè)領(lǐng)域均有著廣闊的應(yīng)用前景。對(duì)該技術(shù)的深入研究與推廣應(yīng)用將推動(dòng)我國(guó)信息化建設(shè)的進(jìn)程,并極大地帶動(dòng)相關(guān)產(chǎn)業(yè)和學(xué)科的發(fā)展。
在開展的無線傳感器網(wǎng)絡(luò)的研究中,我們都力求圍繞網(wǎng)絡(luò)的各種關(guān)鍵性能對(duì)無線傳感器網(wǎng)絡(luò)的各種技術(shù)進(jìn)行改進(jìn)。然而受有限的資金和網(wǎng)絡(luò)條件的限制,在實(shí)驗(yàn)室構(gòu)建大規(guī)模的實(shí)驗(yàn)比較昂貴。因此,充分利用現(xiàn)有資源,構(gòu)建虛擬的環(huán)境是非常有意義的。
本文在無線傳感器網(wǎng)絡(luò)特點(diǎn)和協(xié)議棧的研究基礎(chǔ)上,利用網(wǎng)絡(luò)軟件進(jìn)行了研究和二次開發(fā),構(gòu)建了一個(gè)各種無線傳感器網(wǎng)絡(luò)關(guān)鍵性能的界面。使得用戶可以通過仿真界面來自主配置網(wǎng)絡(luò)元素,搭建網(wǎng)絡(luò),運(yùn)行并直觀地顯示各種關(guān)鍵性能,以對(duì)其研究起到一定的指導(dǎo)作用。

本文引用地址:http://m.butianyuan.cn/article/163406.htm


1 無線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu)及仿真機(jī)制
1.1 無線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu)
網(wǎng)絡(luò)體系結(jié)構(gòu)是網(wǎng)絡(luò)的協(xié)議分層以及網(wǎng)絡(luò)協(xié)議的集合,是對(duì)網(wǎng)絡(luò)及其部件所應(yīng)完成功能的定義和描述。對(duì)于無線傳感器網(wǎng)絡(luò)來說,圖l是傳感器節(jié)點(diǎn)使用的最典型的網(wǎng)絡(luò)協(xié)議體系結(jié)構(gòu),包括物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和應(yīng)用層,與互聯(lián)網(wǎng)協(xié)議棧的五層協(xié)議相對(duì)應(yīng)。此外,還包括網(wǎng)絡(luò)管理模塊。這些管理使得傳感器節(jié)點(diǎn)能夠按照能源高效的方式協(xié)同工作,在節(jié)點(diǎn)移動(dòng)的傳感器網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù),并支持多任務(wù)和資源共享。該模型既參考了現(xiàn)有通用網(wǎng)絡(luò)的TCP/IP和0sI模型的架構(gòu),同時(shí)又包含了傳感器網(wǎng)絡(luò)特有的電源管理、移動(dòng)管理及任務(wù)管理。應(yīng)用層為不同的應(yīng)用提供了一個(gè)相對(duì)統(tǒng)一的高層接口;如果需要,傳輸層可為傳感器網(wǎng)絡(luò)保持?jǐn)?shù)據(jù)流或保證與Internet連接;網(wǎng)絡(luò)層主要關(guān)心數(shù)據(jù)的路由;數(shù)據(jù)鏈路層協(xié)調(diào)無線媒質(zhì)的訪問,盡量減少相鄰節(jié)點(diǎn)廣播時(shí)的沖突;物理層為系統(tǒng)提供一個(gè)簡(jiǎn)單、穩(wěn)定的調(diào)制、傳輸和接收系統(tǒng)。除此而外,電源、移動(dòng)和任務(wù)管理負(fù)責(zé)傳感節(jié)點(diǎn)能量、移動(dòng)和任務(wù)分配的監(jiān)測(cè),幫助傳感節(jié)點(diǎn)協(xié)調(diào)感測(cè)任務(wù),盡量減少整個(gè)系統(tǒng)的功耗。

1.2 的仿真機(jī)制
NS是美國(guó)加州Lawrence Berkeley國(guó)家實(shí)驗(yàn)室于1989年開始開發(fā)的軟件。NS是一種可擴(kuò)展、以配置和可編程的事件驅(qū)動(dòng)的仿真工具,可以提供有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)中鏈路層及其上層,精確到數(shù)據(jù)包的一系列行為的仿真。最值得一提的是,NS中的許多協(xié)議代碼都和真實(shí)網(wǎng)絡(luò)中的應(yīng)用代碼十分接近,其真實(shí)性和可靠性高居世界仿真軟件的前列。
NS底層的仿真引擎主要由C++編寫,同時(shí)利用0TCL語言作為仿真命令和配置的接口語言,網(wǎng)絡(luò)仿真的過程由一段OTCL的腳本來描述,這段腳本通過調(diào)用引擎中各類屬性、方法,定義網(wǎng)絡(luò)的拓?fù)?,配置源?jié)點(diǎn)、目的節(jié)點(diǎn),建立連接,產(chǎn)生所有事件的時(shí)間表,運(yùn)行并跟蹤仿真結(jié)果,還可以對(duì)結(jié)果進(jìn)行相應(yīng)的統(tǒng)計(jì)處理或制圖。
通常情況下,NS仿真器的工作從創(chuàng)建仿真器類(simulator)的實(shí)例開始,仿真器調(diào)用各種方法生成節(jié)點(diǎn),進(jìn)而構(gòu)造拓?fù)鋱D,對(duì)仿真的各個(gè)對(duì)象進(jìn)行配置,定義事件,然后根據(jù)定義的事件,模擬整個(gè)網(wǎng)絡(luò)活動(dòng)的過程。
仿真器封裝了多個(gè)功能模塊:
(1)事件調(diào)度器:由于NS是事件驅(qū)動(dòng)的,調(diào)度器也成為NS的調(diào)度中心,可以跟蹤仿真時(shí)間,調(diào)度當(dāng)前事件鏈中的仿真時(shí)間并交由產(chǎn)生該事件的對(duì)象處理。
(2)節(jié)點(diǎn):是一個(gè)復(fù)合組件,在NS中可以表示端節(jié)點(diǎn)和路由器,節(jié)點(diǎn)為每個(gè)連接到他的節(jié)點(diǎn)分配不同的端口,用于模擬實(shí)際網(wǎng)絡(luò)中的端口。
(3)鏈路:有多個(gè)組件復(fù)合而成,用來連接網(wǎng)絡(luò)節(jié)點(diǎn)。
(4)代理:代理類包含源及目的節(jié)點(diǎn)地址,數(shù)據(jù)包類型、大小、優(yōu)先級(jí)等狀態(tài)變量,每個(gè)代理鏈接到一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上,通常連接到端節(jié)點(diǎn),由該節(jié)點(diǎn)給他分配端口號(hào)。
(5)包:由頭部和數(shù)據(jù)兩部分組成。
NS采取對(duì)真實(shí)網(wǎng)絡(luò)元素進(jìn)行抽象,保留其基本特征,并運(yùn)用等效描述的方法來建立網(wǎng)絡(luò)仿真模型。他們由大量的仿真組件所構(gòu)成,用于實(shí)現(xiàn)對(duì)真實(shí)網(wǎng)絡(luò)的抽象和模擬。


2 仿真
2.1 系統(tǒng)整體結(jié)構(gòu)
NS2的主代碼主要采用Tcl和C++兩種語言進(jìn)行編寫。C++的程序運(yùn)行時(shí)間很短,轉(zhuǎn)換時(shí)間很長(zhǎng),適合具體協(xié)議的實(shí)現(xiàn),而Tcl運(yùn)行較慢但轉(zhuǎn)換很快,正好用來仿真的配置。Tcl提供了一個(gè)強(qiáng)有力的平臺(tái),可以生成面向多種平臺(tái)的應(yīng)用程序、協(xié)議、驅(qū)動(dòng)程序等等。他與Tk(too1kit)協(xié)作,可生產(chǎn)GUI應(yīng)用程序。Tk是Tcl的圖形程序開發(fā)工具箱,是Tcl的重要擴(kuò)展部分。利用Tcl/Tk進(jìn)行界面編程速度快,且界面編程工作可以從應(yīng)用程序的其余部分分離開來,開發(fā)人員可以先集中精力實(shí)現(xiàn)程序的核心部分,然后逐步建立用戶界面。
本文主要就是采用Tk工具包來作出友好的無線傳感器網(wǎng)絡(luò)用戶操作界面,將所要運(yùn)行的ns代碼嵌入其中,通過Nam動(dòng)畫演示來展現(xiàn)網(wǎng)絡(luò)運(yùn)行的過程,用Xgraph靜態(tài)圖表來分析網(wǎng)絡(luò)的各種關(guān)鍵性能。通過Tcl腳本來描述在用戶界面上所定義的網(wǎng)絡(luò)拓?fù)?、?chǎng)景參數(shù)以及網(wǎng)絡(luò)協(xié)議等網(wǎng)絡(luò)場(chǎng)景信息。
系統(tǒng)體系結(jié)構(gòu)如圖2所示。系統(tǒng)主要有網(wǎng)絡(luò)場(chǎng)景模塊和模塊組成,網(wǎng)絡(luò)場(chǎng)景模塊主要包括環(huán)境參數(shù)設(shè)定、拓?fù)渖梢约熬W(wǎng)絡(luò)協(xié)議添加的實(shí)現(xiàn)。當(dāng)設(shè)定好基站以及普通節(jié)點(diǎn)拓?fù)浞秶?,隨機(jī)生成一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)拓?fù)湮募Y(jié)合其余的環(huán)境參數(shù)和網(wǎng)絡(luò)協(xié)議,便可完成網(wǎng)絡(luò)環(huán)境的初始化。

在NS2仿真器中,模擬的配置被作為一種程序而不是一種靜態(tài)的配置。一次模擬的場(chǎng)景為模擬的運(yùn)行定義了一個(gè)輸入配置,NS采用Tcl腳本來描述用戶提交的網(wǎng)絡(luò)模擬場(chǎng)景。
當(dāng)提交網(wǎng)絡(luò)模擬場(chǎng)景后,根據(jù)參數(shù)便會(huì)生成Tcl模擬腳本并調(diào)用NS仿真器進(jìn)行模擬運(yùn)行網(wǎng)絡(luò),模擬結(jié)束后模塊即被激活,模塊主要包括Nam動(dòng)畫演示和Xgraph靜態(tài)性能分析的實(shí)現(xiàn)。其中靜態(tài)分析實(shí)現(xiàn)了網(wǎng)絡(luò)能量、延時(shí)、丟包以及吞吐量等關(guān)鍵性能的仿真。
2.2 系統(tǒng)具體實(shí)現(xiàn)
系統(tǒng)具體的用戶操作界面如圖3所示:


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉