無線傳感器網(wǎng)絡(luò)路由協(xié)議與改進
掃描二維碼
隨時隨地手機看文章
1 引言
無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)是傳感器、通信和計算機3種技術(shù)相結(jié)合的產(chǎn)物,南于無線傳感器網(wǎng)絡(luò)將邏輯信息世界與客觀物理世界融合在一起,改變了人類與自然界的交互方式,因而具有廣泛的應(yīng)用前景。無線傳感器網(wǎng)絡(luò)具有很多不同于傳統(tǒng)網(wǎng)絡(luò)的特點,如能量嚴重受限、拓撲結(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é)議分類標準有很多,因此路由協(xié)議的分類方法也多種多樣。根據(jù)路由協(xié)議不同的工作原理將路由協(xié)議劃分為兩種類型,并分析每種類型的典型路由協(xié)議。
2.1 平面路由
平面路由認為傳感器網(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é)商機制減少數(shù)據(jù)冗余和能量損耗。SPIN是一種基于協(xié)商機制的以數(shù)據(jù)為中心的路由算法,SPIN先對節(jié)點收到的數(shù)據(jù)的特點進行高層次的抽象,形成描述節(jié)點收到數(shù)據(jù)特點的元數(shù)據(jù)(meta-data)。在轉(zhuǎn)發(fā)收到的數(shù)據(jù)前,節(jié)點 A先用元數(shù)據(jù)與相鄰節(jié)點B進行協(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)用做詳細規(guī)定。另外,當(dāng)拓撲結(jié)構(gòu)發(fā)生變化時,每個節(jié)點只需在局部范圍內(nèi)維護與其相鄰的節(jié)點狀態(tài),不需全網(wǎng)廣播,既節(jié)省能量又降低對節(jié)點運算能力的要求,這種SPIN稱為SPIN-1。但SPIN-1不能保證遠程數(shù)據(jù)的正確遞送,如遠端節(jié)點需要數(shù)據(jù)而與源節(jié)點相鄰的近端節(jié)點則不需要,在轉(zhuǎn)發(fā)的開始就將代表該數(shù)據(jù)的元數(shù)據(jù)丟棄,不做REQ回復(fù),造成數(shù)據(jù)遞送失敗。為了解決這一問題,在SPIN-2在SPIN-1的基礎(chǔ)上加入了能量門限機制。在遞送數(shù)據(jù)前先檢測相鄰節(jié)點的能量,如果能量值低于某一個門限值,則認為該節(jié)點沒有足夠能力完成遠程遞送任務(wù),將該數(shù)據(jù)轉(zhuǎn)發(fā)給其他有足夠能量的相鄰節(jié)點。除此之外,針對不同的應(yīng)用情況,SPIN的其他擴展協(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ù)融合、遠程通信和全局路由維護等高耗能應(yīng)用場合;低能量節(jié)點用于事件檢測、目標定位和局部路由維護等低耗能應(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中隨機選擇少數(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é)點隨機選擇一個數(shù)值r (O<r<1),如果該隨機數(shù)r小于閾值T(n),則該節(jié)點成為這一輪的一個簇頭。用G表示最后的1/p輪中沒有被選為簇頭的節(jié)點集合,p表示簇頭節(jié)點濃度(如5%),則T(n)為:
LEACH的分簇機制可降低網(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)用層進行數(shù)據(jù)融合,網(wǎng)絡(luò)層主要依靠路由算法協(xié)調(diào),以丟棄冗余分組,降低節(jié)點能耗和提高數(shù)據(jù)轉(zhuǎn)發(fā)效率。(2)為保證數(shù)據(jù)傳輸?shù)目煽啃裕M量降低多路徑維護的開銷,算法不應(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ò)拓撲分布的隨機性,可能出現(xiàn)某些關(guān)鍵節(jié)點能耗較多,而其他節(jié)點能耗較少,網(wǎng)絡(luò)負載不平衡。因此,有必要用路南算法加強網(wǎng)絡(luò)負載平衡性。(6)由于WSN的特殊性,必須考慮節(jié)點的能耗。因此,研究WSN路由算法,要盡可能降低節(jié)點能耗,以延長網(wǎng)絡(luò)生存時間。