陳不了,馮 熳,馬海波
(1.東南大學(xué) 信息科學(xué)與工程學(xué)院,南京 211189;2.網(wǎng)絡(luò)通信安全紫金山實驗室,南京 211189)
隨著無線通信技術(shù)的發(fā)展,無人機集群之間可以形成一種高動態(tài)無線通信網(wǎng)絡(luò),即飛行自組網(wǎng)(flying Ad hoc network, FANET)。飛行自組網(wǎng)是移動自組網(wǎng)的子集,出于便攜性考慮,無人機節(jié)點將受到功率,重量和尺寸的限制,其內(nèi)置電源所提供的支持十分有限。此外,在FANET中,每個無人機節(jié)點都將作為中繼,承擔(dān)著路由轉(zhuǎn)發(fā)的任務(wù),這意味著相比無人機-基站架構(gòu),每個數(shù)據(jù)包到達目的節(jié)點將會消耗更多的能量,對網(wǎng)絡(luò)性能是一個巨大的挑戰(zhàn)[1]。
Ad hoc網(wǎng)絡(luò)的性能與網(wǎng)絡(luò)節(jié)點的能量消耗密切相關(guān),節(jié)點過低的能量利用率和各節(jié)點間不平衡的能量消耗都將導(dǎo)致網(wǎng)絡(luò)中過早的出現(xiàn)節(jié)點死亡,使整個網(wǎng)絡(luò)的壽命縮短、性能下降。無人機節(jié)點的能量消耗主要分為移動能耗和通信能耗,隨著移動計算的發(fā)展,無人機終端擁有更大的計算能力,以完成更多與通信有關(guān)的活動,使得無線通信所導(dǎo)致的能量消耗可占總功率的一半以上。因此,從組網(wǎng)通信的各層出發(fā),研究節(jié)能路由協(xié)議是無人機Ad hoc網(wǎng)絡(luò)能量優(yōu)化的重點[2]。
針對Ad hoc網(wǎng)絡(luò)中應(yīng)用最廣泛的按需路由協(xié)議,前人已經(jīng)提出了很多能量優(yōu)化的變體。文獻[3]是在考慮了路由算法、移動性和無線電傳播模型的現(xiàn)實環(huán)境中探索平衡能耗的第一項工作,提出的本地能量感知路由LEAR針對每個節(jié)點設(shè)置了能量閾值,節(jié)點根據(jù)其剩余能量與閾值決定路由請求是否被轉(zhuǎn)發(fā),當(dāng)源節(jié)點的路由請求全部失效時會動態(tài)調(diào)整閾值。文獻[4]采用備份路由機制,根據(jù)動態(tài)優(yōu)先級權(quán)重選擇路由,通過綜合分析選擇消耗較少能量并具有較大容量的路徑。文獻[5]引入了節(jié)點剩余能量能級概念,在選擇節(jié)點進行路由之前,計算節(jié)點能級,并且僅當(dāng)其能量級別高于某閾值時,才考慮將節(jié)點用于路由。文獻[6]通過計算網(wǎng)絡(luò)中不同路徑的穩(wěn)定性和壽命來獲取路由度量,在一定程度上降低了能耗,提升了服務(wù)質(zhì)量。上述文章中提出的改進協(xié)議,針對Ad hoc路由協(xié)議的能量優(yōu)化給出了相對簡單的能量度量選擇與路由算法實現(xiàn),但大多度量選擇并未考慮到信道頻繁變化導(dǎo)致的節(jié)點通信能耗變化,并不適用于FANET的高移動性節(jié)點與快速變化的拓?fù)洹?/p>
本文從分層優(yōu)化的角度出發(fā),提出了一種綜合飛行自組網(wǎng)物理層實時能量消耗率與網(wǎng)絡(luò)層快速變化拓?fù)涮匦缘奶厥釧d hoc網(wǎng)絡(luò)路由算法,該方法考慮了數(shù)據(jù)包傳輸跳數(shù)和鏈路中各節(jié)點的能量狀態(tài),提出了一種全新的路由度量,使無人機組網(wǎng)通信時各節(jié)點的能量消耗分布更加均勻,減少了網(wǎng)絡(luò)總能耗,延長了網(wǎng)絡(luò)壽命。
Ad hoc網(wǎng)絡(luò)中節(jié)點的能源利用效率可以從多角度進行優(yōu)化,除了硬件設(shè)備對能源的支持以外,單從網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)慕嵌?,可以按傳輸層、網(wǎng)絡(luò)層、鏈路層、物理層這種自上而下的分層模型進行考慮[2]。其中,網(wǎng)絡(luò)層的路由協(xié)議是飛行自組網(wǎng)優(yōu)化的重點,經(jīng)典按需距離矢量路由協(xié)議(Ad hoc on-demand distance vector routing, AODV)作為FANET中最常用的協(xié)議之一,其基本路由算法由路由發(fā)現(xiàn)、路由回復(fù)、路由修復(fù)與活躍鄰居維護4個流程構(gòu)成。
當(dāng)源節(jié)點(source node, SRC)想要將數(shù)據(jù)發(fā)送到?jīng)]有路由的目的地(destination node, DST)時,SRC通過廣播路由請求包(route request, RREQ)啟動路由發(fā)現(xiàn)。中間節(jié)點接收到RREQ后,如果鄰居就是目的節(jié)點或具有到目的節(jié)點的有效路由,則通過將路由回復(fù)(route reply, RREP)單播到SRC進行響應(yīng)。如果中間節(jié)點沒有到達DST的路由,會重新廣播RREQ到其鄰居。若中間節(jié)點收到重復(fù)的RREQ,則丟棄該數(shù)據(jù)包。RREQ傳播同時建立了到SRC的反向路由,RREP傳播期間建立了到DST的正向路由,路由發(fā)現(xiàn)與路由回復(fù)的基本流程如圖1所示[7]。
圖1 AODV協(xié)議的路由發(fā)現(xiàn)與路由回復(fù)基本流程Fig.1 Basic route discovery and route reply process of AODV protocol
經(jīng)典AODV協(xié)議為了實現(xiàn)通信服務(wù)質(zhì)量的最大化,以最小跳數(shù)為原則,在路由發(fā)現(xiàn)流程中表現(xiàn)為:在相同源節(jié)點的一次路由建立請求中,各中間節(jié)點只接收第一次到達的RREQ路由控制包,而拒絕重復(fù)的路由請求。最小跳數(shù)度量雖然保證了通信的端到端時延等QoS性能,但沒有考慮到網(wǎng)絡(luò)節(jié)點的能量因素,例如:經(jīng)典路由協(xié)議在選擇路由路徑時更偏向于選擇特定的移動節(jié)點。而無人機節(jié)點高速移動的情況下,網(wǎng)絡(luò)拓?fù)渥兓诸l繁,由拓?fù)渥兓鴮?dǎo)致的鏈路斷裂迫使源節(jié)點不斷重新選路,若重新建立的路徑仍然不將能量因素考慮在內(nèi),則會導(dǎo)致這些節(jié)點可能在網(wǎng)絡(luò)中不公平地負(fù)擔(dān)著中繼功能,從而消耗更多的電量,其無線網(wǎng)卡比其他節(jié)點更早停止運行?;诖?,本文引入新的度量,重新構(gòu)建路由發(fā)現(xiàn)和路由回復(fù)過程,實現(xiàn)無人機自組網(wǎng)的跨層能源優(yōu)化。
移動自組網(wǎng)節(jié)點間進行無線通信時,其能量消耗率的影響因素有很多,其中最關(guān)鍵的是Wifi設(shè)備的工作模式,在不同工作模式下,節(jié)點之間的無線信道具有不同物理層狀態(tài),分別對應(yīng)著不同的天線接收、發(fā)射功率。
以組網(wǎng)最常使用的物理層與MAC層交互協(xié)議IEEE 802.11為例,在CSMA/CA接入機制下,節(jié)點的物理層會采用物理載波監(jiān)聽進行信道空閑評估(clear channel assessment, CCA),在一個Slot time內(nèi)持續(xù)監(jiān)聽信道。該過程包含了能量檢測(energy detection,ED)與載波檢測(carrier sense,CS)兩個部分:當(dāng)信道空閑時,節(jié)點并未收到數(shù)據(jù)幀,在ED流程中未達到能量檢測的閾值,此時802.11設(shè)備處于接收空閑狀態(tài)(IDLE)。若信道的能量通過了ED檢測,CCA會轉(zhuǎn)移到CS狀態(tài)并認(rèn)為此時信道是繁忙的(clear channel assessment busy,CCA BUSY),物理層繼續(xù)通過載波檢測的方式判斷該數(shù)據(jù)幀是否是802.11數(shù)據(jù)幀。在CS過程中,節(jié)點若識別數(shù)據(jù)幀頭符合802.11幀格式且是發(fā)送給自己的,該節(jié)點會立即轉(zhuǎn)移到接收狀態(tài)(receive,Rx)進行接收,若數(shù)據(jù)幀不符合或不是發(fā)送給本節(jié)點,CCA監(jiān)聽的結(jié)果就是忙,然后等待此Slot time階段結(jié)束后再進行新一輪的監(jiān)聽。若節(jié)點本身有數(shù)據(jù)要發(fā)送且信道是空閑的,則轉(zhuǎn)移到發(fā)送狀態(tài)(transport,Tx)發(fā)送[8]。
此外,802.11設(shè)備還有其他幾種工作狀態(tài),例如,節(jié)點在多個信道之間切換是一個獨立的狀態(tài)(Switching)。由于節(jié)點真正處于收發(fā)數(shù)據(jù)幀的有效狀態(tài)只有Rx和Tx,為保證這兩個狀態(tài)的工作與切換不產(chǎn)生任何沖突,節(jié)點需要長期處于IDLE空閑狀態(tài)并持續(xù)進行監(jiān)聽和CCA檢測,這將導(dǎo)致節(jié)點在數(shù)據(jù)傳輸需求較小時消耗大量無意義的能量。因此,802.11協(xié)議為達到節(jié)能的目的,引入了一種單獨的休眠模式(Sleep),使節(jié)點在通信需求較小時關(guān)閉發(fā)送和接收模塊進行休眠,從而使能耗將到最低。最后,如果完全關(guān)閉無線設(shè)備,則該設(shè)備狀態(tài)為關(guān)閉(Off),不產(chǎn)生任何能量消耗。各工作狀態(tài)的轉(zhuǎn)換圖如圖2所示。
圖2 802.11物理層工作狀態(tài)轉(zhuǎn)換圖Fig.2 Physical layer’s working state transition of 802.11 protocol
綜上所述,節(jié)點無線通信的能耗基本由802.11協(xié)議所定義的幾種狀態(tài)來決定,不同的設(shè)備狀態(tài)對應(yīng)著不同的工作電流,因此,無線網(wǎng)卡在一定工作時間T0內(nèi)消耗的能量E0如式(1)所示。
(1)
其中i=1~6時,Statusi分別為IDLE、CCA BUSY、Tx、Rx、Switching、Sleep狀態(tài)中的一種,PStatusi和IStatusi分別為該Statusi狀態(tài)對應(yīng)的功率與工作電流,U為無線網(wǎng)卡工作的額定電壓,TStatusi為T0時間段內(nèi)該無線網(wǎng)卡處于Statusi工作狀態(tài)的總時間,有:
(2)
無人機自組網(wǎng)中各節(jié)點的能量消耗率反映了該節(jié)點在網(wǎng)絡(luò)拓?fù)渲械墓ぷ鞣泵Τ潭龋^大的負(fù)載會使節(jié)點過早的耗盡能量,進而影響整個網(wǎng)絡(luò)的通信性能。
節(jié)點在網(wǎng)絡(luò)層選擇路由轉(zhuǎn)發(fā)時,通過跨層對物理層和鏈路層的工作狀態(tài)進行感知,計算出節(jié)點的實時能量消耗情況,將其應(yīng)用于路由度量的選擇,可以有效避免同一中繼節(jié)點的過度負(fù)載。
設(shè)節(jié)點的初始能量為E1,節(jié)點開始通信T0時間后的剩余能量為E2,有:
(3)
其中TStatusi為T0時刻內(nèi)無線網(wǎng)卡位于Statusi工作的總時間。
為充分衡量節(jié)點在網(wǎng)絡(luò)中的壽命,不能僅使用節(jié)點的剩余能量或平均剩余能量作為路由度量,因為剩余能量較低的節(jié)點不一定是網(wǎng)絡(luò)中最早死亡的。若該節(jié)點在最近的t時刻內(nèi)的平均能量消耗率較低,則其預(yù)期工作壽命反而可能較長。因此,本文提出將節(jié)點的預(yù)期壽命Lp作為均衡能量協(xié)議的路由度量,其計算方式如式(4)所列:
(4)
(5)
t時刻的選取十分重要,因為無人機自組網(wǎng)的節(jié)點移動速度很快,節(jié)點在網(wǎng)絡(luò)拓?fù)渲械牡匚慌c其實時能量消耗狀態(tài)也變化很快,選取過大或過小的t都不能準(zhǔn)確反映節(jié)點近期的能量消耗狀況,因此也無法準(zhǔn)確的預(yù)測節(jié)點壽命。
由于節(jié)點在網(wǎng)絡(luò)中的拓?fù)渥兓怕逝c自身的移動速度是成正相關(guān)的,高速移動的節(jié)點所在的通信鏈路更容易斷裂,導(dǎo)致形成新的拓?fù)浣Y(jié)構(gòu),節(jié)點的能量消耗率也會改變。因此,高速節(jié)點越久,之前的能量消耗率就越?jīng)]有參考價值。相反,低速節(jié)點拓?fù)浔容^穩(wěn)定,其能量消耗率在較長一段時間內(nèi)也比較恒定,選取更大的t計算出的平均功率可以更準(zhǔn)確的反映該節(jié)點的能耗情況。本文選取節(jié)點通信的總時刻T作為節(jié)點固定(速度為0)時選取t的參考基準(zhǔn),考慮到無人機以10m/s及以下速度運動時網(wǎng)絡(luò)拓?fù)漭^為穩(wěn)定,本文選取10m/s作為速度梯度來衡量t,若當(dāng)前節(jié)點的移動速度為v,則選取計算平均功率的時間段t,如式(6)所示:
(6)
其中,vmod 10表示速度v對10取余。
基于AODV協(xié)議在無人機場景下未考慮節(jié)點能耗,存在網(wǎng)絡(luò)能耗不均衡的問題,提出一種改進的無人機自組網(wǎng)跨層能源優(yōu)化協(xié)議,通過引入綜合考量物理層能源消耗率與網(wǎng)絡(luò)層跳數(shù)最小化的預(yù)期壽命路由度量,使協(xié)議在路由選擇時充分考慮節(jié)點的能量消耗屬性,進一步降低網(wǎng)絡(luò)總能耗,延長網(wǎng)絡(luò)壽命。
2.2.1 路由度量的計算
當(dāng)各節(jié)點的無線網(wǎng)卡開始工作后,會不斷記錄其工作狀態(tài)及該狀態(tài)持續(xù)的起止時間戳,并周期地計算自身的預(yù)期壽命度量,其計算流程為:1)節(jié)點通過當(dāng)前移動速度與網(wǎng)卡工作的總時間根據(jù)式(6)計算出預(yù)估平均功率的時間區(qū)間t;2)在當(dāng)前時刻前t時間段內(nèi),查找并統(tǒng)計各工作狀態(tài)的持續(xù)時間,根據(jù)式(5)計算出該時間段內(nèi)的平均功率;3)根據(jù)式(3)計算節(jié)點的當(dāng)前剩余能量,再由式(4)計算出預(yù)期壽命度量。
2.2.2 路由發(fā)現(xiàn)
重構(gòu)協(xié)議的詳細(xì)路由發(fā)現(xiàn)流程如圖3所示。具體的,在RREQ,RREP消息包與路由表中,添加最小預(yù)期壽命字段,記錄各節(jié)點預(yù)期壽命的最小值。當(dāng)節(jié)點有通信需求卻沒有到達目的地址的有效路由時,會開啟路由發(fā)現(xiàn)過程,洪泛廣播帶有源節(jié)點預(yù)期壽命字段的RREQ。當(dāng)中間節(jié)點收到RREQ請求時,會進行兩個操作:首先計算當(dāng)前節(jié)點的預(yù)期壽命,并與RREQ記錄的最小預(yù)期壽命字段比較,按照圖3(b)的流程更新該字段。其次判斷是否轉(zhuǎn)發(fā)RREQ,若節(jié)點第一次收到相同源節(jié)點同一次路由請求中廣播的RREQ,則繼續(xù)轉(zhuǎn)發(fā),并記錄更新后的鏈路預(yù)期壽命最小值到本地路由表中;若非第一次收到,則比較該RREQ的預(yù)期壽命最小值字段與當(dāng)前節(jié)點路由表所記錄的預(yù)期壽命最小值字段,若RREQ字段值較大,則更新該值到路由表中并繼續(xù)轉(zhuǎn)發(fā),反之則丟棄。
圖3 重構(gòu)協(xié)議的路由發(fā)現(xiàn)流程Fig.3 Refactor routing discovery process of AODV protocol
重構(gòu)的路由發(fā)現(xiàn)流程選擇了最小預(yù)期壽命值較大的鏈路,避免了經(jīng)典協(xié)議選擇的路徑中存在能量即將耗盡節(jié)點的情況。但需要注意的是,節(jié)點在比較RREQ能量字段的時候,來自同一源節(jié)點請求的跳數(shù)不能比最小跳數(shù)多2跳以上,超出跳數(shù)限制的RREQ會被丟棄。若不對跳數(shù)做限制,會導(dǎo)致RREQ在網(wǎng)絡(luò)中的大規(guī)模洪泛,造成網(wǎng)絡(luò)擁塞和〗開銷增大,這與經(jīng)典協(xié)議的初衷是相違背的。
2.2.3 路由回復(fù)
改進協(xié)議的路由回復(fù)流程與原來類似,當(dāng)目的節(jié)點第一次收到源節(jié)點發(fā)送的RREQ后,立刻按其傳播時所建立的反向路由向源節(jié)點單播發(fā)送路由回復(fù)RREP。不同的是,若目的節(jié)點收到了多條RREQ,允許其向源節(jié)點回復(fù)多個RREP,后接收到的RREQ代表著可能不是最小跳數(shù),但能量度量較好的路徑,因此再次回復(fù)的RREP可以建立一條均衡能量的正向路由。
此外,為最小化等待時間,源節(jié)點在接收到第一個RREP之后開始發(fā)送數(shù)據(jù)包。如果稍后接收到具有更好度量的其他RREP,則使用更好的路由來更新源節(jié)點的路由表,新的路由也將用于后續(xù)的數(shù)據(jù)包傳輸[9]。
本文針對提出的路由度量及完整的路由協(xié)議,在開源網(wǎng)絡(luò)仿真器(network simulator 3, NS-3)中進行了實現(xiàn),所使用的軟件版本與實驗環(huán)境分別為NS-3.29和Ubuntu 18.04。為了驗證均衡能量路由相較于AODV協(xié)議的性能提升,本文建立了一個由50個節(jié)點所組成的組網(wǎng)系統(tǒng),其初始隨機分布在一個700m×700m的矩形區(qū)域內(nèi),如圖4所示。
圖4 無人機節(jié)點初始位置分布Fig.4 Initial position distribution of UAV nodes
使用OnOffApplication和PacketSink分別配置了應(yīng)用層的數(shù)據(jù)收發(fā),使0~9號節(jié)點持續(xù)地向10~19號節(jié)點以恒定的比特流生成數(shù)據(jù)流量。除了節(jié)點的網(wǎng)絡(luò)層分別使用經(jīng)典AODV協(xié)議與改進協(xié)議以外,其余的協(xié)議與仿真參數(shù)設(shè)置如表1所列。
表1 NS-3仿真平臺參數(shù)設(shè)置Tab.1 Parameters of NS-3 simulation platform
改進協(xié)議重新定義了路由度量,主要在節(jié)點開始組網(wǎng)與路由失效重建時起作用,因此選擇在無人機節(jié)點移動速度較大的場景下進行仿真,此時網(wǎng)絡(luò)拓?fù)淇焖僮兓垂?jié)點會更加頻繁地重新選擇剩余壽命較大的路徑,改進協(xié)議的優(yōu)勢更加突出。
此外,由于路由控制包的傳輸也會消耗能量,應(yīng)用層要選擇較高的數(shù)據(jù)傳輸速率以保證節(jié)點正常通信,其消耗能量占總能耗的比重較大,若控制包的能耗占主導(dǎo)地位,協(xié)議即使重新選路,均衡能量的效果也不明顯[10]。因此,本文選取了20480bit/s的應(yīng)用層速率。
各無人機節(jié)點的無線網(wǎng)卡能耗功率默認(rèn)值參考了文獻[11]給出的實驗測量結(jié)果,不同傳輸速率的無線網(wǎng)卡,其相同狀態(tài)的功耗相似。物理層各狀態(tài)對應(yīng)的功率分別為:Ptx=1.14W(以0dbm發(fā)射),Prx=0.94W,Pidle=0.82W,Psleep=0.10W,默認(rèn)信道的CCA繁忙狀態(tài)與空閑狀態(tài)功率相同,即Pcca=0.82W??紤]到在NS-3的能源模型BasicEnergySource中,默認(rèn)的電源電壓為U=3.0V,因此在WifiRadioEnergyModel中各狀態(tài)的電流分別初始化為:Itx=380mA,Irx=313mA,Iidle=Icca=273mA,Isleep=33mA。在仿真過程中,WifiRadioEnergyModel會對物理層的狀態(tài)進行持續(xù)監(jiān)聽,對于每一段能量消耗,該模型都會通知EnergySource對象,在EnergySource對象中根據(jù)總電流與狀態(tài)持續(xù)時間計算消耗的能量以及其他度量[12]。
為了獲得吞吐量、端到端時延、分組投遞率、開銷等仿真結(jié)果,本文使用了NS-3的pcap追蹤系統(tǒng),將整個仿真過程中統(tǒng)計的分組傳輸信息全部保存在各節(jié)點的pcap文件內(nèi)。仿真結(jié)束后,使用tcpdump對各節(jié)點的pcap文件進行抓包,并配合gawk進行文本分析處理,統(tǒng)計了使用不同路由協(xié)議時的網(wǎng)絡(luò)性能[13]。
為驗證改進協(xié)議對節(jié)點能量消耗情況的影響,本文設(shè)計了以下兩組實驗:
1)設(shè)置所有節(jié)點的初始能量為5000J,仿真持續(xù)100s,為了在較短的仿真時間內(nèi)更加清晰地顯示網(wǎng)絡(luò)節(jié)點的能量分布情況,在配置能量模型時把所有狀態(tài)的工作電流都同比例增大了5倍,觀察仿真結(jié)束時各節(jié)點的剩余能量分布情況,如圖5所示,通過改變隨機數(shù)種子進行多次仿真,節(jié)點的剩余能量均值與方差分布如圖6所示。從圖5、圖6中可以觀察到,改進協(xié)議的節(jié)點剩余能量普遍高于原協(xié)議,仿真時間內(nèi)網(wǎng)絡(luò)的總能耗相比原來降低了12%。各個節(jié)點的剩余能量分布更加平均,節(jié)點剩余能量的最大值與最小值差距減小,能量分布的方差比原協(xié)議降低了17%。其原因為新的動態(tài)能源度量充分考慮了鏈路中各節(jié)點的預(yù)期壽命,有效避免了個別節(jié)點的負(fù)載過度,均衡了負(fù)載過大與負(fù)載過小節(jié)點的能量消耗。同時,緩解了網(wǎng)絡(luò)擁塞,減少了分組丟失與重傳,降低了每個通信請求的傳輸總能耗。
圖5 仿真100s后改進協(xié)議與原協(xié)議節(jié)點的剩余能量分布Fig.5 Remaining energy distribution between improved protocol and AODV after 100s
圖6 改進協(xié)議與原協(xié)議節(jié)點剩余能量的均值與方差對比Fig.6 Comparison of mean and variance of remaining energy between improved protocol and AODV
仿真持續(xù)時間內(nèi),在所有接受節(jié)點的套接字端統(tǒng)計了應(yīng)用層流量,并計算總和得到了網(wǎng)絡(luò)吞吐量,其隨時間的變化曲線如圖7所示,由于網(wǎng)絡(luò)吞吐量波動較大,繪圖時采用了gnuplot的bezier數(shù)據(jù)平滑方式進行曲線擬合。仿真起始時各節(jié)點開始建立路由并進行通信,吞吐量不斷增大,當(dāng)趨于穩(wěn)定時,改進協(xié)議的網(wǎng)絡(luò)吞吐量約比經(jīng)典協(xié)議提升了13%,這是因為改進協(xié)議避免了能耗較大,可能導(dǎo)致網(wǎng)絡(luò)擁塞的節(jié)點,從網(wǎng)絡(luò)層降低了信道競爭和鏈路質(zhì)量較差導(dǎo)致的分組丟失。
圖7 仿真100s內(nèi)改進協(xié)議與原協(xié)議的網(wǎng)絡(luò)吞吐量變化Fig.7 Throughput between improved protocol and AODV during 100s’ simulation
此外,本文從10組中選擇了3組通信質(zhì)量有明顯差距的通信鏈路進行跟蹤,分別為3~13,5~15,7~17號節(jié)點構(gòu)成的鏈路。使用NS-3的flowmonitor模塊測量了3組鏈路的端到端時延與丟包率情況,分別如圖8(a)和圖8(b)所示。
圖8 改進協(xié)議的端到端時延與丟包率性能Fig.8 Throughput and end to end delay performance between improved protocol and AODV
從仿真結(jié)果可看出,無論通信鏈路的穩(wěn)定性如何,改進協(xié)議均降低了源節(jié)點與目的節(jié)點的端到端時延與丟包率:在鏈路不穩(wěn)定時,由于改進協(xié)議減少了網(wǎng)絡(luò)擁塞節(jié)點導(dǎo)致的分組傳輸延遲,端到端時延可降低達30ms以上;丟包率平均可降低10%左右,直接導(dǎo)致了網(wǎng)絡(luò)的總吞吐量提升。
2)設(shè)置所有節(jié)點初始能量為1000J,仿真持續(xù)100s,觀察節(jié)點存活率隨時間變化,結(jié)果如圖9所示。其中,改進協(xié)議的節(jié)點首次死亡時間較原協(xié)議有所延后,網(wǎng)絡(luò)的有效壽命得以延長,且改進協(xié)議的節(jié)點存活率始終高于原協(xié)議,仿真結(jié)束時,改進協(xié)議的節(jié)點存活率比原協(xié)議提升了18%。新的路由度量在一定程度上對快速拓?fù)渥兓W(wǎng)絡(luò)起到了節(jié)能與能量均衡的作用。
圖9 仿真100s改進協(xié)議與原協(xié)議的節(jié)點存活數(shù)曲線Fig.9 The node survival curve between improved protocol and AODV during 100s’ simulation
本文根據(jù)無人機節(jié)點物理層的能源消耗率,提出了一種基于預(yù)期壽命路由度量的自組網(wǎng)跨層能源優(yōu)化路由協(xié)議。改進協(xié)議綜合考慮了最小跳數(shù)與節(jié)點能耗因素,重新定義了路由度量,引入新度量后節(jié)點選擇了預(yù)期壽命較大的鏈路,避免了過早出現(xiàn)能量不足而導(dǎo)致的鏈路失效與路由修復(fù)。仿真結(jié)果表明:在無人機節(jié)點高速移動的情況下,網(wǎng)絡(luò)各節(jié)點負(fù)載得到了均衡,能量分布方差降低了17%。隨仿真進行,節(jié)點剩余能量分布更加平衡,有效減緩了個別節(jié)點過早能源耗盡的情況,節(jié)點最終存活率提升了18%。此外,新協(xié)議對網(wǎng)絡(luò)的整體性能也有所提升,其中網(wǎng)絡(luò)總能耗降低了12%,吞吐量和分組投遞率平均提升了10%左右,當(dāng)鏈路不穩(wěn)定時,端到端時延可提升30ms以上。