基于節能的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )路由協(xié)議研究
盡管LEACH協(xié)議具備以上優(yōu)點(diǎn),但也存在一些不足之處。
(1)由于LEACH算法假定所有節點(diǎn)能夠與匯聚節點(diǎn)直接通信,并且每個(gè)節點(diǎn)都具備支持不同MAC協(xié)議的計算能力,因此該協(xié)議不適合在大規模的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中應用。
(2)LEACH算法是讓網(wǎng)絡(luò )中自組織的形成簇,由于簇頭節點(diǎn)是隨機產(chǎn)生的,這樣無(wú)法保證簇頭節點(diǎn)的合理分布。因此,很有可能出現被選擇的簇頭節點(diǎn)集中在網(wǎng)絡(luò )中某一區域的現象,這樣就會(huì )使得一些節點(diǎn)的周?chē)鷽](méi)有任何簇。
(3)LEACH算法忽略了被選簇頭在網(wǎng)絡(luò )內的分布狀態(tài)和節點(diǎn)間不同的通信距離而導致的節點(diǎn)能量損耗的不平衡。
1.2 PEGASIS協(xié)議
PEG ASIS(Power一Efficient Gathering in Sensor、Information Systems)協(xié)議是在LEACH基礎上改進(jìn)設計的。PEGASIS算法的主要思想是在傳感器網(wǎng)絡(luò )中形成一條覆蓋所有節點(diǎn)的“鏈”,節點(diǎn)從它的一邊的鄰居節點(diǎn)接收數據,然后將接收到的數據和自身的數據進(jìn)行融合處理之后形成一個(gè)與原來(lái)數據包同樣大小的新數據包,再將得到的新數據包發(fā)送給它的另外一邊的鄰居節點(diǎn),以此類(lèi)推,數據最終被傳到一個(gè)“領(lǐng)導”節點(diǎn),由這個(gè)“領(lǐng)導”節點(diǎn)把數據發(fā)送給基站。節點(diǎn)充當“領(lǐng)導”節點(diǎn)與基站通信是輪流的,當網(wǎng)絡(luò )中的所有節點(diǎn)都充當過(guò)“領(lǐng)導”節點(diǎn)后,節點(diǎn)再進(jìn)行新一回合的輪流通信。
在PEGASIS算法中,“鏈”的形成過(guò)程是整個(gè)通信的關(guān)鍵?!版湣钡男纬刹捎玫姆椒ㄊ牵汗濣c(diǎn)發(fā)送能量遞減的測試信號通過(guò)監測應答來(lái)確定離自己最近的相鄰節點(diǎn)。通過(guò)這種方式,網(wǎng)絡(luò )中的所有節點(diǎn)能夠了解彼此的位置關(guān)系,找到自己的鄰居節點(diǎn),每一輪通信中節點(diǎn)只需要與自己的鄰居節點(diǎn)進(jìn)行通信。為確保每個(gè)節點(diǎn)都有其相鄰節點(diǎn),從離基站最遠的節點(diǎn)開(kāi)始構建,鏈中鄰居節點(diǎn)的距離會(huì )逐漸增大,因為已經(jīng)在鏈中的節點(diǎn)不能被再次訪(fǎng)問(wèn)。依次下去,最終形成一條包含網(wǎng)絡(luò )中所有節點(diǎn)的鏈。
當節點(diǎn)鏈形成并且選舉出領(lǐng)導節點(diǎn)后,就開(kāi)始了數據傳輸過(guò)程。PEGASIS中的數據傳輸使用Token(令牌)機制,如圖1所示。Token很小,故能耗較少。在一輪通信中,領(lǐng)導節點(diǎn)用Token控制數據從鏈尾開(kāi)始傳輸。圖中,C2為領(lǐng)導節點(diǎn),將Token沿著(zhù)鏈傳給C0,Co傳數據給C1,C1將C0數據和自身數據進(jìn)行融合后形成一個(gè)相同長(cháng)度的數據包,再傳給C2。然后,C2將Token傳給C4,C2以相同的方式接收來(lái)自C3,C4的數據。這些數據在C2處進(jìn)行融合后,發(fā)給基站。本文引用地址:http://dyxdggzs.com/article/163861.htm
PEGASIS是在LEACH基礎上建立的路由協(xié)議,PEGASIS比LEACH節省能量主要體現在以下幾個(gè)方面:
(1)在本地數據聚合階段,PEGASIS算法中每個(gè)節點(diǎn)只與離自己最近的鄰居節點(diǎn)進(jìn)行通信,而不是像LEACH算法一樣需要與簇頭節點(diǎn)進(jìn)行通信,PEGAS―IS算法大大減小了每輪通信中每個(gè)節點(diǎn)的通信距離,從而降低了每個(gè)節點(diǎn)在每一輪通信中所消耗的能量。
(2)LEACH算法中,一個(gè)簇頭要接收多個(gè)簇成員節點(diǎn)發(fā)送過(guò)來(lái)的數據,而PEGASIS算法中,一個(gè)領(lǐng)導節點(diǎn)最多只需要接收2個(gè)節點(diǎn)發(fā)送過(guò)來(lái)的數據包。
(3)在每一輪通信中,PEGASIS算法只有1個(gè)領(lǐng)導節點(diǎn)與基站通信,而LEACH中則有多個(gè)簇頭節點(diǎn)與基站通信。PEGASIS也存在一些不足之處:節點(diǎn)維護位置信息(相當于傳統網(wǎng)絡(luò )的拓撲信息)需要額外的資源,在網(wǎng)絡(luò )全局信息比較難以獲得的情況下就不合適了,而且領(lǐng)導節點(diǎn)的惟一性使得其成為整個(gè)通信過(guò)程的瓶頸。
2 其他典型路由協(xié)議
2.1 SPIN協(xié)議
SPIN(Sensor Protocols for Information via Nego―tiation)協(xié)議的設計思想是:每個(gè)節點(diǎn)在發(fā)送數據前通過(guò)協(xié)商來(lái)確定其他節點(diǎn)是否需要該數據;同時(shí),節點(diǎn)通過(guò)“元數據”確定接收數據中是否有重復信息存在。節點(diǎn)通過(guò)3種消息進(jìn)行通信:ADV(數據描述),REQ(數據請求)和DATA(數據)。源節點(diǎn)在傳送DATA信息之前,首先向相鄰節點(diǎn)廣播包含DATA數據描述機制的ADV信息,需要該DATA信息的鄰節點(diǎn)向信息源發(fā)送REQ請求信息,源節點(diǎn)在收到REQ信息后,有選擇地將DATA信息發(fā)送給相應的鄰節點(diǎn)。收到DATA后,該鄰節點(diǎn)可以作為信息源,按照前述過(guò)程將DATA信息繼續傳播到網(wǎng)絡(luò )中的其他節點(diǎn)。該協(xié)議的優(yōu)點(diǎn)是:ADV消息減輕了內爆問(wèn)題;通過(guò)數據命名解決了交疊問(wèn)題;節點(diǎn)根據自身資源和應用信息決定是否進(jìn)行ADV通告,避免了資源利用盲目的問(wèn)題,進(jìn)而有效地節約了能量。其缺陷是:當產(chǎn)生或收到數據的節點(diǎn)的所有鄰節點(diǎn)均不需要該數據時(shí),將導致數據不能繼續轉發(fā),會(huì )使較遠節點(diǎn)無(wú)法得到數據。
評論