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