1 引言
無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)是傳感器,、通信和計算機(jī)3種技術(shù)相結(jié)合的產(chǎn)物,難于無線傳感器網(wǎng)絡(luò)將邏輯信息世界與客觀物理世界融合在一起,,改變了人類與自然界的交互方式,,因而具有廣泛的應(yīng)用前景。無線傳感器網(wǎng)絡(luò)具有很多不同于傳統(tǒng)網(wǎng)絡(luò)的特點,,如能量嚴(yán)重受限,、拓?fù)浣Y(jié)構(gòu)頻繁變化等。因此,,WSN網(wǎng)絡(luò)協(xié)議的設(shè)計同現(xiàn)有各種網(wǎng)絡(luò)協(xié)議的設(shè)計大不同,,因而面臨著各種新的挑戰(zhàn)。在協(xié)議棧的眾多協(xié)議中,,網(wǎng)絡(luò)層路由協(xié)議算法作為一項關(guān)鍵技術(shù)已成為目前研究的熱點,。
2 無線傳感器網(wǎng)絡(luò)的路由協(xié)議
由于WSN路由協(xié)議分類標(biāo)準(zhǔn)有很多,因此路由協(xié)議的分類方法也多種多樣,。根據(jù)路由協(xié)議不同的工作原理將路由協(xié)議劃分為兩種類型,,并分析每種類型的典型路由協(xié)議。
2.1 平面路由
平面路由認(rèn)為傳感器網(wǎng)絡(luò)中的各節(jié)點具有相同的功能和平等的角色,,節(jié)點或?qū)⒆约旱氖录z測結(jié)果主動報告給其他節(jié)點,,或者是其他節(jié)點向檢測事件的節(jié)點發(fā)出查詢信息,,數(shù)據(jù)傳輸通過多節(jié)點的多跳路由協(xié)作轉(zhuǎn)發(fā)完成。信息協(xié)商傳感器SPIN(Sensor Protocols for Information via Negotiation)是平面路由中第一個以數(shù)據(jù)為中心的算法,,通過節(jié)點問的協(xié)商機(jī)制減少數(shù)據(jù)冗余和能量損耗,。SPIN是一種基于協(xié)商機(jī)制的以數(shù)據(jù)為中心的路由算法,SPIN先對節(jié)點收到的數(shù)據(jù)的特點進(jìn)行高層次的抽象,,形成描述節(jié)點收到數(shù)據(jù)特點的元數(shù)據(jù)(meta-data),。在轉(zhuǎn)發(fā)收到的數(shù)據(jù)前,節(jié)點 A先用元數(shù)據(jù)與相鄰節(jié)點B進(jìn)行協(xié)商,,發(fā)送ADV信號判斷節(jié)點B是否需要該數(shù)據(jù)(圖la),。如果節(jié)點B對元數(shù)據(jù)代表的數(shù)據(jù)有需求,就發(fā)出反饋信號REO(圖 lb),。否則就丟棄該ADV信號,,然后節(jié)點A就將數(shù)據(jù)DATA轉(zhuǎn)發(fā)給節(jié)點B(圖lc)。節(jié)點B收到從節(jié)點A轉(zhuǎn)發(fā)來的數(shù)據(jù)后,,采用與節(jié)點A相同的處理方法,。先用元數(shù)據(jù)與其相連的所有節(jié)點協(xié)商是否需要該數(shù)據(jù),發(fā)送ADV信號(圖1d),。如果節(jié)點有需求則回復(fù)REQ信號,,無需求則直接將ADV信號丟棄(圖 1e),然后節(jié)點B將向所有回復(fù)REQ信號的節(jié)點發(fā)送數(shù)據(jù)DATA(圖1f),。
SPIN算法并沒有明確定義元數(shù)據(jù)的格式,。其具體格式和應(yīng)用相關(guān),如ADV和REQ的格式可根據(jù)具體應(yīng)用做詳細(xì)規(guī)定,。另外,,當(dāng)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,每個節(jié)點只需在局部范圍內(nèi)維護(hù)與其相鄰的節(jié)點狀態(tài),,不需全網(wǎng)廣播,,既節(jié)省能量又降低對節(jié)點運算能力的要求,這種SPIN稱為SPIN-1,。但SPIN-1不能保證遠(yuǎn)程數(shù)據(jù)的正確遞送,,如遠(yuǎn)端節(jié)點需要數(shù)據(jù)而與源節(jié)點相鄰的近端節(jié)點則不需要,在轉(zhuǎn)發(fā)的開始就將代表該數(shù)據(jù)的元數(shù)據(jù)丟棄,,不做REQ回復(fù),,造成數(shù)據(jù)遞送失敗。為了解決這一問題,,在SPIN-2在SPIN-1的基礎(chǔ)上加入了能量門限機(jī)制,。在遞送數(shù)據(jù)前先檢測相鄰節(jié)點的能量,如果能量值低于某一個門限值,,則認(rèn)為該節(jié)點沒有足夠能力完成遠(yuǎn)程遞送任務(wù),,將該數(shù)據(jù)轉(zhuǎn)發(fā)給其他有足夠能量的相鄰節(jié)點,。除此之外,針對不同的應(yīng)用情況,,SPIN的其他擴(kuò)展協(xié)議,,如SPIN- BC和SPIN-RL針對傳感器網(wǎng)絡(luò)這種多播網(wǎng)絡(luò)、SPIN-PP和SPIN-EC針對傳統(tǒng)的點對點網(wǎng)絡(luò)都做出專門優(yōu)化,。
2.2 層次路由
層次路由(也稱為以分簇為基礎(chǔ)的路由)是最早產(chǎn)生并應(yīng)用于有線網(wǎng)絡(luò)的,滿足大規(guī)模網(wǎng)絡(luò)的高效通信,。因此層次路由的概念也被引入到WSN中,,用于滿足傳感器節(jié)點的低能耗和高效率通信。在層次路由中,,高能量節(jié)點可用于數(shù)據(jù)轉(zhuǎn)發(fā),、數(shù)據(jù)查詢、數(shù)據(jù)融合,、遠(yuǎn)程通信和全局路由維護(hù)等高耗能應(yīng)用場合,;低能量節(jié)點用于事件檢測、目標(biāo)定位和局部路由維護(hù)等低耗能應(yīng)用場合,。這樣,,將不同的應(yīng)用按照節(jié)點不同的能力合理分配,使節(jié)點能充分發(fā)揮各自優(yōu)勢,,以應(yīng)付大規(guī)模網(wǎng)絡(luò)情況,,并有效提高整個網(wǎng)絡(luò)的生存時間。層次路由主要包括兩個層次的路由:一是用于選擇簇頭節(jié)點,,二是用于路由選擇,。LEACH(low-energy adaptiveclustering hierarchy)是一個提出較早的基于分簇思想的WSN層次路由算法。與傳統(tǒng)網(wǎng)絡(luò)固定網(wǎng)關(guān)節(jié)點能量較充足相比,,WSN中的節(jié)點能量有限,,故不能用同定簇頭節(jié)點作為網(wǎng)關(guān)。LEACH從WSN中隨機(jī)選擇少數(shù)節(jié)點作簇頭,,考慮到網(wǎng)絡(luò)中各節(jié)點能耗的平衡性,,讓其他沒有做過簇頭的節(jié)點輪流作為簇頭,使網(wǎng)絡(luò)不會因少數(shù)節(jié)點先耗盡能量造成網(wǎng)絡(luò)癱瘓,。
LEACH算法分簇頭建立和穩(wěn)定狀態(tài)兩階段,,前者是LEACH算法實現(xiàn)的關(guān)鍵,后者是數(shù)據(jù)傳輸?shù)谋WC,。在簇頭建立階段,,節(jié)點隨機(jī)選擇一個數(shù)值r (O
LEACH的分簇機(jī)制可降低網(wǎng)絡(luò)的整體能耗,,延長網(wǎng)絡(luò)生存時間;在簇內(nèi)節(jié)點間采用TDMA編碼,,在簇頭與基站間采用CDMA編碼,,保證信息有效傳輸;數(shù)據(jù)采集和簇頭節(jié)點都是周期性的,,網(wǎng)絡(luò)適合監(jiān)測連續(xù)變化事件,。
3 結(jié)束語
闡述無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)層,以路由算法作為研究主線,,深入分析WSN的兩種路由算法,。路由算法研究主要存在以下難題:(1)在網(wǎng)絡(luò)層或應(yīng)用層進(jìn)行數(shù)據(jù)融合,網(wǎng)絡(luò)層主要依靠路由算法協(xié)調(diào),,以丟棄冗余分組,,降低節(jié)點能耗和提高數(shù)據(jù)轉(zhuǎn)發(fā)效率。(2)為保證數(shù)據(jù)傳輸?shù)目煽啃?,盡量降低多路徑維護(hù)的開銷,,算法不應(yīng)太復(fù)雜。(3)對于WSN,,除考慮節(jié)點靜止時的情況,,節(jié)點移動性也需考慮。如果不是移動跟蹤節(jié)點,,一般可在節(jié)點移動時關(guān)閉射頻通道,。(4)路由算法應(yīng)處理好節(jié)點間的協(xié)調(diào),即使在節(jié)點數(shù)量較大時也能完成正常數(shù)據(jù)轉(zhuǎn)發(fā),,不會造成在短時間內(nèi)失效,。(5)對于節(jié)點數(shù)量較大的WSN,由于網(wǎng)絡(luò)拓?fù)浞植嫉碾S機(jī)性,,可能出現(xiàn)某些關(guān)鍵節(jié)點能耗較多,,而其他節(jié)點能耗較少,網(wǎng)絡(luò)負(fù)載不平衡,。因此,,有必要用路南算法加強(qiáng)網(wǎng)絡(luò)負(fù)載平衡性。(6)由于WSN的特殊性,必須考慮節(jié)點的能耗,。因此,,研究WSN路由算法,要盡可能降低節(jié)點能耗,,以延長網(wǎng)絡(luò)生存時間,。