基于tinyos的無線傳感器網(wǎng)絡(luò)路由協(xié)議的研究與實(shí)現(xiàn)
路由容錯(cuò)性能是指路由算法的魯棒性,數(shù)據(jù)通過該路由算法確定的路徑到達(dá)目的地的可靠性。比如當(dāng)某個(gè)傳感器節(jié)點(diǎn)失效時(shí),路由算法可以通過路徑修補(bǔ)繞過該點(diǎn),當(dāng)網(wǎng)絡(luò)里信道間誤碼率較高或傳感器節(jié)點(diǎn)所處的環(huán)境影響信號(hào)傳輸時(shí)能夠保證數(shù)據(jù)的安全傳輸?shù)鹊取?p>數(shù)據(jù)傳輸方式是指信息在傳感器網(wǎng)絡(luò)里是通過直接的點(diǎn)對(duì)點(diǎn)傳輸還是通過中間節(jié)點(diǎn),以接力棒的形式進(jìn)行數(shù)據(jù)傳輸。
網(wǎng)絡(luò)生命周期指的是所布置的無線傳感器網(wǎng)絡(luò)能夠進(jìn)行有效工作的時(shí)間,如果網(wǎng)絡(luò)中某些節(jié)點(diǎn)由于過度使用而提前失效,致使其他節(jié)點(diǎn)不能進(jìn)行組網(wǎng)而破壞了網(wǎng)絡(luò)的聯(lián)通性,這樣雖然其他節(jié)點(diǎn)本身能夠采集并發(fā)送數(shù)據(jù),但是由于網(wǎng)絡(luò)聯(lián)通性被破壞,數(shù)據(jù)不能到達(dá)目的節(jié)點(diǎn)。網(wǎng)絡(luò)生命周期是傳感器網(wǎng)絡(luò)里非常周要的一個(gè)指標(biāo)。
數(shù)據(jù)發(fā)送模式指的是數(shù)據(jù)是主動(dòng)發(fā)送的還是通過其他節(jié)點(diǎn)的要求來發(fā)送的。主動(dòng)發(fā)送的數(shù)據(jù)是根據(jù)本地的設(shè)定的采樣頻率連續(xù)發(fā)送的,當(dāng)傳感器采集到數(shù)據(jù)便打包發(fā)送;通過其他節(jié)點(diǎn)的要求來發(fā)送的模式一般是指匯聚節(jié)點(diǎn)根據(jù)需要向目的監(jiān)測(cè)區(qū)域發(fā)送查詢命令,通知目的區(qū)域發(fā)送某種類型的數(shù)據(jù),目的區(qū)域節(jié)點(diǎn)接到命令后,開啟數(shù)據(jù)采集功能,根據(jù)命令中要求的頻率進(jìn)行采樣并發(fā)送。
數(shù)據(jù)/查詢緩存是指路由算法是否設(shè)置緩沖池用來為那些已經(jīng)發(fā)送的數(shù)據(jù)在本地保留副本以便數(shù)據(jù)包丟失后進(jìn)行重傳,或者用來緩存那些接收到的查詢命令等控制信息。數(shù)據(jù)/查詢緩存的使用一方面可以用于保證數(shù)據(jù)的可靠性或優(yōu)化路徑,但是另一方面它增加了維護(hù)路由的開銷,設(shè)計(jì)路由要均衡利弊選擇使用。
數(shù)據(jù)聚集指的是在數(shù)據(jù)包發(fā)到目的地之前是否都發(fā)到某一個(gè)中間節(jié)點(diǎn)進(jìn)行一些必要的處理,比如某個(gè)監(jiān)測(cè)區(qū)域監(jiān)測(cè)到的數(shù)據(jù)先發(fā)往一個(gè)控制節(jié)點(diǎn)進(jìn)行數(shù)據(jù)融合,進(jìn)行一些必要的數(shù)據(jù)過濾或者對(duì)數(shù)據(jù)進(jìn)行求平均值等必要的計(jì)算,然后再發(fā)往目的地,這樣可以減少網(wǎng)絡(luò)通信量。資源有效性是指監(jiān)測(cè)區(qū)域收集的數(shù)據(jù)與匯聚節(jié)點(diǎn)實(shí)際想得到的數(shù)據(jù)是否一致,監(jiān)測(cè)區(qū)域收集數(shù)據(jù)的頻率和發(fā)送時(shí)延是否滿足要求。
分層是指無線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)之間功能的劃分,如果傳感器網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的功能一樣,都是即可以采集數(shù)據(jù)又可以控制路由選擇,那么這種路由是不分層的,又叫平面路由;如果節(jié)點(diǎn)收集到數(shù)據(jù)后要發(fā)往一個(gè)專門的控制節(jié)點(diǎn)進(jìn)行選路,那個(gè)專門的節(jié)點(diǎn)又稱為簇頭,這種路由機(jī)制屬于分層的路由,又叫做層次路由。
§2.3路由協(xié)議接入方式
前面說過無線傳感器網(wǎng)絡(luò)不同于一般的Ad Hoc網(wǎng)絡(luò),它在資源、傳輸方式以及應(yīng)用對(duì)象方面有自己的特點(diǎn)。無線傳感器網(wǎng)絡(luò)的路由協(xié)議與傳感器網(wǎng)絡(luò)的特點(diǎn)對(duì)應(yīng),是與應(yīng)用緊密相連的。前面提到的幾個(gè)應(yīng)用分別應(yīng)用的場(chǎng)合也不盡相同,每種協(xié)議都有自己獨(dú)特的優(yōu)勢(shì)和缺點(diǎn)。這就要求對(duì)于不同的應(yīng)用能夠進(jìn)行自由的切換路由,路由能夠進(jìn)行方便的更替?,F(xiàn)在一些應(yīng)用于無線傳感器網(wǎng)絡(luò)的系統(tǒng)中有一些對(duì)路由層做了封裝,以配置文件的形式可以動(dòng)態(tài)的鏈入,比如:加州大學(xué)伯克利分校研究的tinyos系統(tǒng)把路由層以組件的形式實(shí)現(xiàn),提供給上層接口進(jìn)行調(diào)用。組建可以自由的更換,只要提供的接口一致,給上層應(yīng)用的開發(fā)提供了極大的方便,路由層的加入也很方便。Jennic公司研制的bos系統(tǒng)類似于tinyos,相當(dāng)于tinyos簡(jiǎn)化版,傳感器網(wǎng)絡(luò)中各部分也是以API接口的形式提供給應(yīng)用層調(diào)用。這些系統(tǒng)的共同之處是為方便應(yīng)用,把下層包括路由層封裝起來,以API接口的形式提供功能調(diào)用。下面以tinyos中路由層的調(diào)用方式[3]來說明無線傳感器網(wǎng)絡(luò)中路由層的自由變更方式。
如圖2-3所示,AM模塊用于連接發(fā)送模塊,和下面的mac層、物理層通信,調(diào)用下層功能完成信息的收發(fā)功能。路由模塊MultiHopRouter利用AM層的收發(fā)接口完成路由選擇、路徑優(yōu)化等功能,提供給上層收發(fā)接口和Intercept接口,其中Intercept接口用于那些收到的不是發(fā)給本地節(jié)點(diǎn)的信息。其中AM模塊(Active Message)用專門的組件封裝好,提供基本的數(shù)據(jù)的發(fā)送和接收功能。路由層架設(shè)在AM層之上,提供路由功能,在路由層之上是傳輸層,由于并沒有在系統(tǒng)中實(shí)現(xiàn),所以用虛線表示。路由層之上實(shí)際上是應(yīng)用層,實(shí)現(xiàn)的路由都提供這些接口,上層應(yīng)用在使用時(shí)直接調(diào)用這些接口,根本不關(guān)心具體的實(shí)現(xiàn)。這樣封裝有利于路由層的靈活替換,只要提供相同的接口,就可以很方便的連入應(yīng)用程序。
傳感器網(wǎng)絡(luò)可能需要在相同的監(jiān)測(cè)區(qū)域內(nèi)完成不同的任務(wù),如果為每種任務(wù)部署專門的傳感器網(wǎng)絡(luò)將增加傳感器網(wǎng)絡(luò)的成本。因此,為了完成任務(wù),傳感器網(wǎng)絡(luò)需要根據(jù)應(yīng)用環(huán)境和網(wǎng)絡(luò)條件自主選擇適用的路由協(xié)議,并在各個(gè)路由協(xié)議之間自主切換。靈活的路由自主切換為應(yīng)用提供了方便,節(jié)省了成本,但是為路由協(xié)議的開發(fā)增加了約束條件,加大了開發(fā)難度,提出新的挑戰(zhàn)。
評(píng)論