摘"要:針對能量損耗問題,為增加節(jié)點(diǎn)在網(wǎng)絡(luò)中的有效存活時間和延長網(wǎng)絡(luò)的使用壽命,文章提出了一種平衡關(guān)鍵傳感器節(jié)點(diǎn)能量損耗的解決方案ENPSRPL。該方案依據(jù)關(guān)鍵節(jié)點(diǎn)的轉(zhuǎn)發(fā)數(shù)據(jù)包次數(shù)調(diào)節(jié)有向無環(huán)圖的構(gòu)建,并預(yù)估關(guān)鍵節(jié)點(diǎn)的平均能量消耗,從而改變路徑的選取,以延長無線傳感網(wǎng)絡(luò)的有效生存時間。通過比較ELT、ETX、RPL與ENPSRPL方案在鏈路質(zhì)量和網(wǎng)絡(luò)信息傳遞中的性能參數(shù),結(jié)果表明,ENPSRPL方案在整個網(wǎng)絡(luò)范圍內(nèi)轉(zhuǎn)發(fā)報文的平均能量消耗最低,為44個單位;當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)為70時,ENPSRPL方案具有較佳的220跳的網(wǎng)絡(luò)存活時間。ENPSRPL方案有效改善了傳感器節(jié)點(diǎn)在無線傳感網(wǎng)中的能量損耗,從而延長了使用壽命。
關(guān)鍵詞:ENPSRPL;轉(zhuǎn)發(fā)數(shù)據(jù)包次數(shù);性能評估;傳感器節(jié)點(diǎn)
中圖分類號:TN915.04"""""文獻(xiàn)標(biāo)識碼:A""""""文章編號:20959699(2024)03003405
自無線傳感網(wǎng)絡(luò)(Wireless Sensor Network,WSN)提出以來,它已廣泛應(yīng)用于生活中的各行各業(yè),包括農(nóng)業(yè)、衛(wèi)生醫(yī)療行業(yè)、智能家居和智能物流等多個領(lǐng)域[1]。然而,無線傳感網(wǎng)絡(luò)中的設(shè)備的能量從根本上限制了網(wǎng)絡(luò)的各項(xiàng)性能。早期提出的路由協(xié)議,如開放式最短路徑優(yōu)先(Open Shortest Path First,OSPF)、按需平面距離向量路由(Ad hoc Ondemand Distance Vector Routing,AODV)和優(yōu)化鏈路狀態(tài)路由(Optimized Link State Routing,OLSR)等都在無線傳感網(wǎng)絡(luò)中得到了應(yīng)用[2]。OSPF支持點(diǎn)到點(diǎn)、點(diǎn)到多點(diǎn)以及廣播的方式進(jìn)行報文通信,使用最短路徑優(yōu)先的方式生成路由表,但其泛洪式的鏈路更新和狀態(tài)報文發(fā)送方式消耗大量能量,導(dǎo)致其不適合低功耗有損網(wǎng)絡(luò)(Low Power and Lossy Networks,LLN)[3]。AODV是一種主動式按需路由協(xié)議,僅在節(jié)點(diǎn)有發(fā)送報文需求時才開啟路由發(fā)現(xiàn)機(jī)制,無法滿足無線傳感網(wǎng)中實(shí)時監(jiān)測并進(jìn)行傳感器數(shù)據(jù)包實(shí)時發(fā)送的要求,且AODV協(xié)議實(shí)現(xiàn)起來較為復(fù)雜,限制了在傳感器節(jié)點(diǎn)能量和計(jì)算能力較低的無線傳感網(wǎng)中的應(yīng)用[4]。OLSR協(xié)議用于無線自組織網(wǎng)絡(luò),基于經(jīng)典鏈路狀態(tài)的改進(jìn),通過多點(diǎn)中繼技術(shù)(Multipoint Relay,MPR)減少同一分組內(nèi)的報文轉(zhuǎn)發(fā)次數(shù),從而減緩能量損耗[5]。在互聯(lián)網(wǎng)協(xié)議第6版(Internet Protocol version 6,IPv6)引入無線網(wǎng)絡(luò)之后,IETF ROLL工作組針對以上幾種路由協(xié)議進(jìn)行了研究,專為低功耗有損網(wǎng)絡(luò)應(yīng)用場景下提出了RPL(Routing for LowPower and Lossy Networks)路由協(xié)議[6]。盡管RPL路由協(xié)議滿足了大部分網(wǎng)絡(luò)設(shè)計(jì)需求,但在不同環(huán)境下對其要求也有所不同。例如,在電池可隨時更換的環(huán)境中,需保證電池穩(wěn)定供電,而在對數(shù)據(jù)實(shí)時性要求較高的環(huán)境中,節(jié)點(diǎn)的短暫休眠時間可能導(dǎo)致問題[7]。此外,當(dāng)前針對能量損耗研究而提出的RPL改進(jìn)方案大多數(shù)是基于總體能量消耗的最小化來實(shí)現(xiàn),通常通過考慮每個節(jié)點(diǎn)的能量消耗來優(yōu)化路由協(xié)議[8]。
針對低功耗有損網(wǎng)絡(luò)路由RPL協(xié)議因能量消耗導(dǎo)致傳感器節(jié)點(diǎn)存活時間短的問題,文章提出了一種RPL協(xié)議改進(jìn)方案(以下簡稱ENPSRPL)。該方案利用關(guān)鍵節(jié)點(diǎn)的轉(zhuǎn)發(fā)數(shù)據(jù)包次數(shù)(The Expected Number of Packets Sent,ENPS)構(gòu)建有向無環(huán)圖(Directed acyclic graph,DAG),盡量減少節(jié)點(diǎn)的轉(zhuǎn)發(fā)次數(shù),從而延長無線傳感網(wǎng)絡(luò)中節(jié)點(diǎn)的有效生存時間。通過仿真比較ENPSRPL與ELT、ETX和RPL方案在報文轉(zhuǎn)發(fā)率、網(wǎng)絡(luò)存活時間和能量消耗等方面的性能,為驗(yàn)證ENPSRPL的性能提供理論支持。
1"基于關(guān)鍵節(jié)點(diǎn)的ENPSRPL算法
文中的算法改進(jìn)思路是通過計(jì)算路由鏈路關(guān)鍵節(jié)點(diǎn)(即當(dāng)前ENPS最小的節(jié)點(diǎn))的剩余轉(zhuǎn)發(fā)報文次數(shù)來選擇下一跳節(jié)點(diǎn),同時考慮到報文發(fā)送到匯聚節(jié)點(diǎn)所消耗的轉(zhuǎn)發(fā)次數(shù),盡量選擇消耗次數(shù)較少的路徑作為路由,從而構(gòu)建DAG。關(guān)鍵節(jié)點(diǎn)的ENPS是衡量當(dāng)前網(wǎng)絡(luò)存活時間的重要參數(shù)。
該算法主要包括以下步驟:(1)計(jì)算關(guān)鍵節(jié)點(diǎn)剩余的報文轉(zhuǎn)發(fā)次數(shù);(2)選擇剩余轉(zhuǎn)發(fā)報文次數(shù)最多且路徑消耗轉(zhuǎn)發(fā)次數(shù)最少的節(jié)點(diǎn)作為下一跳節(jié)點(diǎn);(3)確定節(jié)點(diǎn)到根節(jié)點(diǎn)的距離,即計(jì)算相關(guān)節(jié)點(diǎn)的Rank值,使相關(guān)鏈的節(jié)點(diǎn)對應(yīng)的Rank值單調(diào)遞增。
1.1"關(guān)鍵節(jié)點(diǎn)的剩余轉(zhuǎn)發(fā)報文次數(shù)計(jì)算
關(guān)鍵節(jié)點(diǎn)可能是第一個因報文轉(zhuǎn)發(fā)次數(shù)耗盡而丟失的節(jié)點(diǎn),因此協(xié)議基于關(guān)鍵節(jié)點(diǎn)的存活時間作為對協(xié)議質(zhì)量的評估標(biāo)準(zhǔn)。假設(shè)當(dāng)前有新的節(jié)點(diǎn)要加入無線網(wǎng)絡(luò),當(dāng)新節(jié)點(diǎn)加入網(wǎng)絡(luò)的時候需要計(jì)算關(guān)鍵節(jié)點(diǎn)的ENPS。同時,考慮期望傳輸次數(shù)(Expected transmission count,ETX)的最小化,以ENPS和ETX為度量設(shè)計(jì)目標(biāo)函數(shù)。設(shè)關(guān)鍵節(jié)點(diǎn)是key,節(jié)點(diǎn)選擇路由過程時先計(jì)算關(guān)鍵節(jié)點(diǎn)的ENPS。計(jì)算關(guān)鍵節(jié)點(diǎn)的剩余轉(zhuǎn)發(fā)次數(shù)ENPS(key)前,需要計(jì)算節(jié)點(diǎn)傳輸每個數(shù)據(jù)包所消耗的能量和當(dāng)前節(jié)點(diǎn)的剩余能量。當(dāng)傳輸報文的能量消耗大于某閾值時,視為該報文無法到達(dá)目的地,此時將數(shù)據(jù)包丟棄,不再繼續(xù)向其他節(jié)點(diǎn)轉(zhuǎn)發(fā)。節(jié)點(diǎn)I加入傳感網(wǎng)時對關(guān)鍵節(jié)點(diǎn)剩余轉(zhuǎn)發(fā)報文次數(shù)ENPS(key)的計(jì)算還與key節(jié)點(diǎn)的轉(zhuǎn)發(fā)率R有關(guān)。
ENPS(key)=N(total)×R(1)
式中,ENPS(key)為關(guān)鍵節(jié)點(diǎn)的剩余轉(zhuǎn)發(fā)報文次數(shù);R為轉(zhuǎn)發(fā)率;N(total)為總報文次數(shù)。
1.2"剩余轉(zhuǎn)發(fā)次數(shù)最多的路由選擇
在節(jié)點(diǎn)為自己選擇下一跳節(jié)點(diǎn)時,必須考慮當(dāng)前轉(zhuǎn)發(fā)報文次數(shù)和對關(guān)鍵節(jié)點(diǎn)的影響。選擇下一跳的節(jié)點(diǎn)算法流程如下:假定節(jié)點(diǎn)i尋找下一跳節(jié)點(diǎn)(通過Cand_next函數(shù)實(shí)現(xiàn))。首先,考慮所有相鄰節(jié)點(diǎn)的Rank值,將Rank值小于或等于自己的節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)的備選節(jié)點(diǎn);其次,計(jì)算所有備選節(jié)點(diǎn)的ENPS值并進(jìn)行比較,得到其中最大值作為自己的下一跳節(jié)點(diǎn)輸出;然后,在尋找下一跳節(jié)點(diǎn)的過程中需要考慮Rank值,但RPL協(xié)議中并沒有明確給出對Rank值的計(jì)算方法;最后,為滿足單調(diào)性以避免環(huán)路,可以在下一跳節(jié)點(diǎn)的Rank值基礎(chǔ)上加一個變量M,另使用變量S作為M的基礎(chǔ)值,M的計(jì)算來源于S和最小跳數(shù)增長常數(shù)的乘積。最小跳數(shù)增長常數(shù)是RPL協(xié)議中標(biāo)識線路壽命的參數(shù),由RPL協(xié)議所提供,顯然它是一個非負(fù)數(shù)。因此,節(jié)點(diǎn)的Rank值等于下一跳節(jié)點(diǎn)的Rank值加上變量M,從而滿足單調(diào)性需求。
1.3"改進(jìn)協(xié)議的DAG構(gòu)建過程
使用本協(xié)議構(gòu)建DAG的過程如下:當(dāng)遇到路由選擇時,使用文中的度量決定下一跳路由的選擇。圖1中的A節(jié)點(diǎn)是現(xiàn)有路由拓?fù)涞膮R聚節(jié)點(diǎn),當(dāng)前剩余轉(zhuǎn)發(fā)報文數(shù)目為60個單位。當(dāng)新的G節(jié)點(diǎn)想要加入這個網(wǎng)絡(luò)時,可以選擇GDBA、GFECA和GDEBA等三種路由選擇方式。如圖1所示,E節(jié)點(diǎn)和B節(jié)點(diǎn)分別是GDBA和GFECA上的關(guān)鍵節(jié)點(diǎn),而使用GDEBA路由則會消耗B和E節(jié)點(diǎn)的轉(zhuǎn)發(fā)次數(shù),因此選擇GFECA作為G節(jié)點(diǎn)到邊界節(jié)點(diǎn)A的路由線路。在關(guān)鍵節(jié)點(diǎn)剩余轉(zhuǎn)發(fā)次數(shù)相差不大的情況下,選擇ETX和較小的那條路由線路。以此構(gòu)建的DAG1,如圖1所示。
由圖1可知,當(dāng)節(jié)點(diǎn)在網(wǎng)絡(luò)中工作后,隨著節(jié)點(diǎn)傳輸報文的進(jìn)行,關(guān)鍵節(jié)點(diǎn)會相應(yīng)發(fā)生改變。當(dāng)G節(jié)點(diǎn)在轉(zhuǎn)發(fā)數(shù)輪報文之后,GFECA鏈路上的資源消耗根據(jù)所轉(zhuǎn)發(fā)的報文經(jīng)歷的跳數(shù)而導(dǎo)致有不同的能量剩余。其后按照剩余報文轉(zhuǎn)發(fā)次數(shù)所構(gòu)建的DAG2發(fā)報,如圖2所示。
由圖2可知,在協(xié)議運(yùn)行過程中,關(guān)鍵節(jié)點(diǎn)是會隨著具體情況而有所變化的。其目的是在構(gòu)建DAG過程中選擇一條情況較好的路由作為數(shù)據(jù)包轉(zhuǎn)發(fā)的鏈路,從而在一定情況下延長傳感器網(wǎng)絡(luò)的有效壽命。
2"結(jié)果與討論
2.1"數(shù)據(jù)處理
采用了Contiki操作系統(tǒng)(2.7版本,ubuntu為內(nèi)核)下的COOJA仿真器自定義建立的仿真區(qū)域,大小為400 m×400 m,組網(wǎng)節(jié)點(diǎn)選擇分別是20、30、40、50、60、70和80個節(jié)點(diǎn)。在這個區(qū)域內(nèi)隨機(jī)分布節(jié)點(diǎn)位置,然后自行組織網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)??紤]到誤差原因,每組數(shù)據(jù)仿真次數(shù)為10,取得的平均數(shù)值作為測試記錄值。采用最小跳數(shù)增長常數(shù)為256,仿真時長每次1小時。在協(xié)議測試中,以網(wǎng)絡(luò)的穩(wěn)定性、報文轉(zhuǎn)發(fā)率、網(wǎng)絡(luò)存活時間和能量消耗等指標(biāo),分別對比ETX方案、期望發(fā)送壽命(Expected lifetime,ELT)方案、RPL方案和ENPSRPL方案的性能。
2.2"報文轉(zhuǎn)發(fā)率分析
為了測試網(wǎng)絡(luò)穩(wěn)定性,在相同的網(wǎng)絡(luò)報文數(shù)下,比較四種協(xié)議的數(shù)據(jù)包轉(zhuǎn)發(fā)率,結(jié)果如圖3所示。
由圖3可知,在當(dāng)前節(jié)點(diǎn)范圍內(nèi),四種解決方案的數(shù)據(jù)包傳輸效率相差不大,并且都會隨著網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)的增加而緩慢增加。使用ETX方案的協(xié)議轉(zhuǎn)發(fā)報文數(shù)據(jù)轉(zhuǎn)發(fā)率最高,其原因在于該解決方案僅考慮鏈路質(zhì)量作為路由質(zhì)量的判定標(biāo)準(zhǔn)[9]。此外,數(shù)據(jù)分析顯示,文中所提出的ENPSRPL方案和ELT方案、RPL方案在報文轉(zhuǎn)發(fā)率上相差不大。
2.3"網(wǎng)絡(luò)存活時間分析
將網(wǎng)絡(luò)中第一個節(jié)點(diǎn)丟失時所經(jīng)歷的總時間記作為網(wǎng)絡(luò)的存活時間。由圖4可知,當(dāng)傳感器節(jié)點(diǎn)數(shù)目增加時,網(wǎng)絡(luò)存活時間急劇下降。網(wǎng)絡(luò)規(guī)模越大,報文轉(zhuǎn)發(fā)數(shù)量急劇增加,能量消耗也迅速加劇[10],因此網(wǎng)絡(luò)存活時間會劇烈降低。節(jié)點(diǎn)增多后,關(guān)鍵節(jié)點(diǎn)的報文轉(zhuǎn)發(fā)次數(shù)急劇消耗,導(dǎo)致網(wǎng)絡(luò)存活時間也隨之急劇下降。然而,當(dāng)規(guī)模增大到一定程度后,下降速度就會趨于平緩。ETX方案主要考慮鏈路質(zhì)量的問題[11],因此組網(wǎng)后的網(wǎng)絡(luò)存活時間比ELT、RPL方案和ENPSRPL方案稍低。當(dāng)節(jié)點(diǎn)規(guī)模達(dá)到一定數(shù)量時,網(wǎng)絡(luò)壽命下降趨于平緩。ENPSRPL方案在節(jié)點(diǎn)規(guī)模為70到80之間的表現(xiàn)優(yōu)于其他三種方案,達(dá)到220跳;在網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)為80時,四種方案的網(wǎng)絡(luò)存活時間相差不大。
2.4"轉(zhuǎn)發(fā)報文的能量消耗與Rank值的關(guān)聯(lián)
轉(zhuǎn)發(fā)報文的資源消耗與Rank值有很大關(guān)系。一般來說,Rank值較低的節(jié)點(diǎn)產(chǎn)生的報文傳輸對資源要求也較低,而距離邊界節(jié)點(diǎn)越遠(yuǎn)的節(jié)點(diǎn)所產(chǎn)生的數(shù)據(jù)報文在傳輸過程中對資源消耗較大[12]。圖5為四種方案的轉(zhuǎn)發(fā)報文的資源消耗與Rank值的關(guān)系。
由圖5可知,隨著Rank值的增大,轉(zhuǎn)發(fā)報文的能量消耗先增大后逐漸減小。在相同Rank值下,ENPSRPL方案的能量消耗最小,其次為ELT,而ETX的能量消耗最大。ENPSRPL方案在整個網(wǎng)絡(luò)范圍里平均消耗在44個單位的能量,說明該協(xié)議在一定程度上可以平衡能量損耗,實(shí)現(xiàn)延長網(wǎng)絡(luò)壽命的目的。
3"結(jié)語
文中研究所提出使用節(jié)點(diǎn)轉(zhuǎn)發(fā)報文次數(shù)的期望值ENPS,并結(jié)合期望傳輸跳數(shù)ETX進(jìn)行DAG圖的構(gòu)建,在延長無線網(wǎng)絡(luò)壽命方面取得了良好效果。通過仿真實(shí)驗(yàn)表明,文中所提出的改進(jìn)方案ENPSRPL在有效壽命上面有顯著提升。
在相同實(shí)驗(yàn)環(huán)境下,使用本協(xié)議時在節(jié)點(diǎn)數(shù)目為70左右時有較好的延長網(wǎng)絡(luò)壽命的效果。當(dāng)節(jié)點(diǎn)規(guī)模在70~80之間時,協(xié)議運(yùn)行比較平穩(wěn)。然而,由于實(shí)際環(huán)境中不確定因素較多,今后的工作中還需要對該方案做進(jìn)一步的改進(jìn)與優(yōu)化。
參考文獻(xiàn):
[1]董海俊,韋素媛,劉興成,等.面向環(huán)境感知的無線傳感網(wǎng)絡(luò)路由方法綜述[J].計(jì)算機(jī)科學(xué),2018,45(01):1423,33.
[2]李飛,李登.無線傳感網(wǎng)絡(luò)中的路由選擇及優(yōu)化研究[J].電腦知識與技術(shù),2022,18(20):3436.
[3]柯躍.路由引入中次優(yōu)路徑問題分析與解決[J].長江工程職業(yè)技術(shù)學(xué)院學(xué)報,2023,40(04):914.
[4]衛(wèi)濃鈺,江子龍,陳芳炯.基于位置信息和能量均衡的聲電協(xié)同網(wǎng)絡(luò)AODV[J].物聯(lián)網(wǎng)學(xué)報,2023,7(01):2736.
[5]王柄焱,鄭向平,賈文杰,等.基于鏈路質(zhì)量與節(jié)點(diǎn)負(fù)載估計(jì)的Q學(xué)習(xí)UANET路由協(xié)議[J].移動通信,2023,47 (10):1723.
[6]王智群,周鑫,張波,等.低功耗有損網(wǎng)絡(luò)RPL目標(biāo)函數(shù)研究綜述[J].軟件工程,2023,26(03):15.
[7]程克非,陳慈飛,李棟,等.低功耗有損網(wǎng)絡(luò)路由協(xié)議的組網(wǎng)優(yōu)化算法研究[J].計(jì)算機(jī)應(yīng)用與軟件,2022,39(06):110115,120.
[8]劉運(yùn)節(jié),包萍.考慮節(jié)點(diǎn)能量消耗的無線傳感網(wǎng)絡(luò)平衡路由算法設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2022,22(01):277282.
[9]林勇.基于鏈路質(zhì)量的無線傳感網(wǎng)絡(luò)路由[J].傳感技術(shù)學(xué)報,2019,32(08):12661270.
[10]李祝紅,楊安東,杜炳,等.物聯(lián)網(wǎng)路由協(xié)議中的能量和延遲感知數(shù)據(jù)聚合[J].信息技術(shù),2020,44(12):96101
[11]孟超,周倩,郭林,等.基于相關(guān)性傳輸模型的無線鏈路質(zhì)量估計(jì)方法及路由優(yōu)化算法[J].電子學(xué)報,2022,50(10):24092424.
[12]宋海龍,張書真.基于期望壽命與均衡能量消耗的RPL路由協(xié)議[J].計(jì)算機(jī)工程,2016,42(01):7782.
責(zé)任編輯:肖祖銘
Improvement Method and Performance Analysis of RPL Routing Protocol
LIN Pei
(College of Digital Media, Lanzhou University of Arts and Science, Lanzhou 730010, China)
Abstract:This paper addresses the issue of energy loss in order to increase the effective life time of nodes in the network and extend the overall service life of the network. A solution named ENPSRPL is proposed in this paper to balance the energy consumption of key sensor nodes. The construction of Directed Acyclic Graph is adjusted according to the number of packets forwarded by key nodes, and the average energy consumption of key nodes is estimated, altering the path selection and extending the effective life time of wireless sensor networks. The performance parameters of ELT, ETX, RPL and ENPSRPL schemes are compared in terms of link quality and network information transmission. The results indicate that the ENPSRPL scheme exhibits the lowest average energy consumption for packet forwarding across the entire network, measured at 44 units. When the number of network nodes is 70, the ENPSRPL scheme demonstrates a superior network lifetime, which is 220 hops. The ENPSRPL scheme effectively mitigates energy loss of sensor nodes within wireless sensor networks, thus extending their service life.
Keywords:ENPSRPL; the number of packets forwarded; performance evaluation; sensor node