趙蓓英,姬偉峰,翁 江,吳 玄,李映岐
(空軍工程大學(xué) 信息與導(dǎo)航學(xué)院,西安 710177)
近年來,無人機(jī)廣泛應(yīng)用于民用和軍事領(lǐng)域:在民用領(lǐng)域,無人機(jī)用于航空攝影、智慧農(nóng)業(yè)、電力巡檢等方面;在軍事領(lǐng)域,無人機(jī)用于情報(bào)偵查、軍事打擊、電子對(duì)抗等任務(wù)[1]。單架無人機(jī)的載荷與能量有限且覆蓋范圍小,無法完成大規(guī)模、高難度的任務(wù),因此,無人機(jī)自主集群成為趨勢(shì)[2]。無人機(jī)自組織網(wǎng)絡(luò)(Flying Ad hoc Network,F(xiàn)ANET)不依賴固定的基礎(chǔ)設(shè)施,通過各無人機(jī)節(jié)點(diǎn)協(xié)同通信,是實(shí)現(xiàn)自主集群的關(guān)鍵技術(shù)[3]。但是,F(xiàn)ANET 中節(jié)點(diǎn)的高機(jī)動(dòng)性、網(wǎng)絡(luò)開放性與拓?fù)渥兓l繁等特點(diǎn),導(dǎo)致網(wǎng)絡(luò)路由面臨性能與安全方面的雙重考驗(yàn)[4]。
本文提出一種基于啟發(fā)式Q 學(xué)習(xí)的可信路由(Heuristic Q-learning based Trusted Routing,HQTR)算法。將FANET 中的路由選擇問題映射為有限馬爾科夫決策過程,并提出模糊動(dòng)態(tài)信任獎(jiǎng)勵(lì)機(jī)制,針對(duì)路由層面的黑洞攻擊與泛洪攻擊,考慮節(jié)點(diǎn)的轉(zhuǎn)發(fā)行為與路由請(qǐng)求發(fā)送速率,通過模糊推理計(jì)算節(jié)點(diǎn)的信任值,根據(jù)信任值與跳數(shù)計(jì)算節(jié)點(diǎn)的獎(jiǎng)勵(lì)值。結(jié)合單跳鏈路狀況設(shè)計(jì)啟發(fā)式函數(shù),加速最優(yōu)可信下一跳節(jié)點(diǎn)Q 值的更新,引導(dǎo)當(dāng)前節(jié)點(diǎn)選擇最優(yōu)可信下一跳節(jié)點(diǎn)。同時(shí)在路由過程中,根據(jù)信任值檢測(cè)并隔離惡意節(jié)點(diǎn),從而實(shí)現(xiàn)安全可靠且高效的數(shù)據(jù)傳輸。
在高動(dòng)態(tài)的FANET 中,路由協(xié)議應(yīng)該能夠自適應(yīng)地感知環(huán)境的變化,選擇一個(gè)可靠的鄰居節(jié)點(diǎn)來完成通信。強(qiáng)化學(xué)習(xí)是一種以環(huán)境反饋為輸入的自適應(yīng)機(jī)器學(xué)習(xí)算法,智能體可以根據(jù)環(huán)境反饋來不斷調(diào)整行動(dòng)策略,從而更好地適應(yīng)動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境,因此,強(qiáng)化學(xué)習(xí)常被用于改進(jìn)自組織網(wǎng)絡(luò)的路由算法,以提高服務(wù)質(zhì)量[5]。
在路由性能優(yōu)化方面,強(qiáng)化學(xué)習(xí)算法主要用于優(yōu)化不同的服務(wù)質(zhì)量參數(shù),如端到端延遲、吞吐量、數(shù)據(jù)包投遞率、跳數(shù)、路由開銷等[6]。文獻(xiàn)[7]提出一種基于Q-learning 的無人機(jī)網(wǎng)絡(luò)地理路由協(xié)議QGeo,該協(xié)議采用強(qiáng)化學(xué)習(xí)算法,根據(jù)數(shù)據(jù)包傳輸速度計(jì)算獎(jiǎng)勵(lì)值,同時(shí)根據(jù)鄰居節(jié)點(diǎn)的距離調(diào)整折扣因子,選擇Q 值最高的節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)。文獻(xiàn)[8]提出一種基于Q-learning 的多目標(biāo)優(yōu)化路由協(xié)議QMR,其考慮時(shí)延與剩余能量設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù),根據(jù)節(jié)點(diǎn)的鄰居關(guān)系調(diào)整學(xué)習(xí)率與折扣因子,從而為FANET 提供低延遲、低能耗的通信服務(wù)質(zhì)量。模糊數(shù)學(xué)能夠很好地處理信息的不確定性與不完整性,同時(shí)可以融入人類專業(yè)知識(shí),適用于自組織網(wǎng)絡(luò)高度動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境[9]。文獻(xiàn)[10]提出一種改進(jìn)的AΟDV 協(xié)議PFQ-AΟDV,其利用鏈路帶寬、鏈路質(zhì)量以及車輛方向、速度變化的模糊推理結(jié)果修正Q 值更新函數(shù),在路由發(fā)現(xiàn)過程中選擇Q 值最大的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)。文獻(xiàn)[11]提出一種基于模糊Q-learning 的路由算法FQ-AGΟ,該算法考慮可用帶寬、鏈路質(zhì)量、節(jié)點(diǎn)傳輸功率和距離,利用模糊邏輯來評(píng)估無線鏈路,采用Q-learning 算法選擇最優(yōu)的下一跳節(jié)點(diǎn)。針對(duì)Q-learning 算法效率低的問題,文獻(xiàn)[12-13]引入啟發(fā)式函數(shù)指導(dǎo)動(dòng)作的選取,提出啟發(fā)式Q-learning。文獻(xiàn)[14]結(jié)合節(jié)點(diǎn)間的延遲信息來指導(dǎo)節(jié)點(diǎn)的轉(zhuǎn)發(fā)行為,設(shè)計(jì)啟發(fā)式函數(shù)和評(píng)價(jià)函數(shù),加快當(dāng)前最優(yōu)動(dòng)作Q 值的更新,減少不必要的探索,從而提高Q-learning 過程的收斂速度以及學(xué)習(xí)效率。
采用信任模型是確保自組織網(wǎng)絡(luò)路由安全性與可靠性的有效措施之一[15]。文獻(xiàn)[16]抽象出一種分布式信任推理模型,采用直接信任度、間接信任度、歷史信任度、鏈路質(zhì)量等作為信任評(píng)估因子,通過模糊層次分析法來確定權(quán)重,提出一種輕量級(jí)信任增強(qiáng)路由協(xié)議TEAΟMDV。文獻(xiàn)[17]將信任機(jī)制與Q-learning 算法相結(jié)合,根據(jù)節(jié)點(diǎn)轉(zhuǎn)發(fā)行為確定節(jié)點(diǎn)的可信度,并將其作為獎(jiǎng)勵(lì)值,選擇滿足剩余能量要求的最大Q 值節(jié)點(diǎn),以有效應(yīng)對(duì)槽洞攻擊與黑洞攻擊。文獻(xiàn)[18]針對(duì)VANET中的竊聽、干擾和欺騙攻擊,通過信任模型評(píng)估節(jié)點(diǎn)對(duì)VANET 的威脅級(jí)別,采用區(qū)塊鏈技術(shù)防止信息篡改,基于Q-learning 決定是否響應(yīng)源節(jié)點(diǎn)的請(qǐng)求或選擇可靠的中繼節(jié)點(diǎn)。針對(duì)SDN架構(gòu)的VANET,文獻(xiàn)[19-20]采用信任模型評(píng)估鄰居轉(zhuǎn)發(fā)數(shù)據(jù)包的行為,以應(yīng)對(duì)惡意節(jié)點(diǎn)的丟包攻擊,SDN 控制器作為Agent,通過深度強(qiáng)化學(xué)習(xí)確定VANET 中最可信的路由路徑。
隨著FANET 的發(fā)展,其承載的業(yè)務(wù)更加復(fù)雜繁重,安全威脅層出不窮,對(duì)路由算法的性能與安全性都提出了更高的要求。然而,目前大多數(shù)算法僅關(guān)注性能優(yōu)化或安全防護(hù),為了有效應(yīng)對(duì)潛在的惡意攻擊,同時(shí)優(yōu)化算法性能并提高服務(wù)質(zhì)量,需要設(shè)計(jì)實(shí)現(xiàn)一種安全、高效且可靠的路由算法。
本文考慮一種多無人機(jī)協(xié)同作業(yè)場(chǎng)景,無人機(jī)之間形成自組織網(wǎng)絡(luò),不依賴地面站即可完成機(jī)間通信,從而擺脫地面站對(duì)無人機(jī)群活動(dòng)范圍的限制,擴(kuò)大網(wǎng)絡(luò)覆蓋區(qū)域[21]。如圖1 所示,無人機(jī)節(jié)點(diǎn)同時(shí)充當(dāng)終端與路由器,鄰居節(jié)點(diǎn)直接通信,非鄰居節(jié)點(diǎn)可通過其他節(jié)點(diǎn)作為中繼節(jié)點(diǎn)進(jìn)行多跳通信。多跳FANET 模型的關(guān)鍵在于找到一條最優(yōu)路徑,能夠在低延遲、低開銷的情況下安全傳輸數(shù)據(jù)。

圖1 多跳FANET 模型Fig.1 Multi-hop FANET model
針對(duì)FANET 路由層面存在的攻擊,根據(jù)其特征的不同可分為以下3 類:
1)以丟包為特征的攻擊,如黑洞、灰洞、選擇性轉(zhuǎn)發(fā)攻擊。
2)以篡改、偽造報(bào)文為特征的攻擊,如槽洞、黑洞、灰洞、蟲洞攻擊。
3)以泛洪為特征的攻擊,如Hello 消息泛洪攻擊、RREQ 消息泛洪攻擊。
本文假設(shè)攻擊者具有以下破壞能力:
1)外部攻擊者可以捕獲網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn),將其轉(zhuǎn)化為一個(gè)惡意節(jié)點(diǎn)。
2)內(nèi)部攻擊者或被轉(zhuǎn)化的惡意節(jié)點(diǎn)可以篡改路由信息,如篡改路由回復(fù)報(bào)文、欺騙鄰居節(jié)點(diǎn)其距離目的節(jié)點(diǎn)最近,從而加入轉(zhuǎn)發(fā)路徑,繼而發(fā)動(dòng)黑洞、灰洞等攻擊,丟棄接收到的數(shù)據(jù)包。
3)內(nèi)部攻擊者或被轉(zhuǎn)化的惡意節(jié)點(diǎn)不受路由請(qǐng)求發(fā)送速率的限制,利用RREQ 泛洪特性不斷廣播虛假的請(qǐng)求報(bào)文,淹沒正常請(qǐng)求,占用網(wǎng)絡(luò)資源,造成網(wǎng)絡(luò)擁塞。
為保證多跳FANET 中無人機(jī)節(jié)點(diǎn)間的通信安全并協(xié)同完成通信任務(wù),本文考慮以下安全目標(biāo):
1)檢測(cè)與防范黑洞、灰洞等丟包類攻擊與路由請(qǐng)求RREQ 消息泛洪攻擊。
2)通過驗(yàn)證節(jié)點(diǎn)之間的可信度,隔離內(nèi)部惡意節(jié)點(diǎn)。
3)提供從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的安全數(shù)據(jù)傳輸,實(shí)現(xiàn)高吞吐量和高數(shù)據(jù)包投遞率,控制網(wǎng)絡(luò)開銷,優(yōu)化平均端到端時(shí)延。
Q-learning 是基于有限馬爾科夫決策過程的強(qiáng)化學(xué)習(xí)算法,主要由智能體(Agent)、環(huán)境(Environment)、狀態(tài)(State)、動(dòng)作(Action)組成,如圖2 所示[22]。智能體在執(zhí)行某個(gè)動(dòng)作后,環(huán)境將轉(zhuǎn)換到一個(gè)新的狀態(tài)并給出獎(jiǎng)勵(lì)(Reward)信號(hào),隨后智能體根據(jù)新的狀態(tài)和環(huán)境反饋的獎(jiǎng)勵(lì),按照一定的策略執(zhí)行新動(dòng)作。

圖2 馬爾科夫決策過程Fig.2 Markov decision process
本文將FANET 中的路由選擇問題描述為一個(gè)馬爾科夫決策過程,給出如下定義:
1)基本組件。
(1)學(xué)習(xí)環(huán)境:整個(gè)FANET 網(wǎng)絡(luò)環(huán)境,包括無人機(jī)節(jié)點(diǎn)、通信鏈路等。
(2)智能體:FANET 中每個(gè)無人機(jī)節(jié)點(diǎn)作為學(xué)習(xí)主體Agent。
(3)狀態(tài)空間:本節(jié)點(diǎn)以外其余節(jié)點(diǎn)構(gòu)成該節(jié)點(diǎn)的狀態(tài)空間。
(4)動(dòng)作空間:動(dòng)作表示節(jié)點(diǎn)在數(shù)據(jù)傳輸時(shí)對(duì)下一跳節(jié)點(diǎn)的選擇,動(dòng)作空間為其鄰居節(jié)點(diǎn)。
2)獎(jiǎng)勵(lì)。
將節(jié)點(diǎn)對(duì)下一跳節(jié)點(diǎn)的可信度評(píng)估作為獎(jiǎng)勵(lì)信號(hào),表示節(jié)點(diǎn)動(dòng)作選擇的可靠性。獎(jiǎng)勵(lì)值函數(shù)定義如式(1)所示:

其中:Γ(d)表示目的節(jié)點(diǎn)的鄰居節(jié)點(diǎn)集,目的節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn)的可信鄰居節(jié)點(diǎn)時(shí),獎(jiǎng)勵(lì)值為1,否則獎(jiǎng)勵(lì)值為0;Tsx表示當(dāng)前節(jié)點(diǎn)s通過鄰居節(jié)點(diǎn)x作為中繼節(jié)點(diǎn)傳輸數(shù)據(jù)的可信程度;h為節(jié)點(diǎn)x距離目的節(jié)點(diǎn)的跳數(shù)。可信度越高,跳數(shù)越少,獎(jiǎng)勵(lì)值越高。
3)Q 值更新函數(shù)。
Q-learning 的動(dòng)作值函數(shù)更新如式(2)所示:

其中:Qs(d,x)表示當(dāng)前節(jié)點(diǎn)s選擇x作為下一跳到達(dá)目的地d的Q 值表示節(jié)點(diǎn)x選擇y作為下一跳到達(dá)目的地d的Q 值;y為x鄰居節(jié)點(diǎn)中Q 值最大的點(diǎn);α為學(xué)習(xí)率;γ為折扣因子。每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)Q 表,節(jié)點(diǎn)將最大Q 值添加到Hello 消息中,通過定期交換Hello 消息來更新Q 值。學(xué)習(xí)任務(wù)分配到每個(gè)節(jié)點(diǎn),使算法能夠快速收斂到最優(yōu)路徑,并依據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓M(jìn)行及時(shí)調(diào)整。
針對(duì)FANET 中的黑洞攻擊與RREQ 泛洪攻擊,本文提出一種模糊動(dòng)態(tài)信任獎(jiǎng)勵(lì)機(jī)制,該機(jī)制包括模糊化處理、模糊推理和去模糊化3 個(gè)步驟,實(shí)時(shí)監(jiān)測(cè)節(jié)點(diǎn)的數(shù)據(jù)包轉(zhuǎn)發(fā)率、RREQ 發(fā)送速率,周期性地計(jì)算節(jié)點(diǎn)可信度,并將其作為節(jié)點(diǎn)的獎(jiǎng)勵(lì)值。該機(jī)制的具體流程如圖3 所示,其中,數(shù)據(jù)包轉(zhuǎn)發(fā)率、RREQ 發(fā)送速率計(jì)算公式如式(3)、式(4)所示,NRDP為節(jié)點(diǎn)接收到的數(shù)據(jù)包個(gè)數(shù),NFDP為轉(zhuǎn)發(fā)的數(shù)據(jù)包個(gè)數(shù),τ為信任計(jì)算周期,NRREQ為一個(gè)周期內(nèi)節(jié)點(diǎn)發(fā)送的路由請(qǐng)求報(bào)文個(gè)數(shù)。


圖3 模糊動(dòng)態(tài)信任獎(jiǎng)勵(lì)機(jī)制流程Fig.3 Procedure of fuzzy dynamic trust reward mechanism
本文模糊動(dòng)態(tài)信任獎(jiǎng)勵(lì)機(jī)制各步驟具體如下:
1)模糊化處理。定義數(shù)據(jù)包轉(zhuǎn)發(fā)率與RREQ 發(fā)送速率的模糊隸屬函數(shù)如圖4(a)、圖4(b)所示,參考文獻(xiàn)[23],將數(shù)據(jù)包轉(zhuǎn)發(fā)率分為3 個(gè)等級(jí),RREQ 發(fā)送速率分為2 個(gè)等級(jí),利用隸屬函數(shù)將其轉(zhuǎn)換成模糊值。

圖4 模糊隸屬函數(shù)Fig.4 Fuzzy membership function
2)模糊推理。定義模糊規(guī)則庫如表1 所示,根據(jù)模糊規(guī)則庫進(jìn)行模糊推理,輸出信任值對(duì)應(yīng)的模糊等級(jí)與隸屬度。

表1 模糊規(guī)則庫Table 1 Fuzzy rule base
3)去模糊化。定義輸出信任值的隸屬函數(shù)如圖4(c)所示,采用隸屬度加權(quán)平均法對(duì)模糊推理結(jié)果進(jìn)行去模糊化處理,計(jì)算方式如式(5)所示。模糊推理輸出一個(gè)信任等級(jí),根據(jù)該等級(jí)的隸屬度函數(shù)及隸屬度得到對(duì)應(yīng)的信任值,有2 個(gè)點(diǎn)則取平均值。若對(duì)應(yīng)多個(gè)信任等級(jí),則分別求出其對(duì)應(yīng)的信任值,再以歸一化后的隸屬度作為權(quán)重系數(shù),加權(quán)平均得到最終信任值。

在FANET 環(huán)境下,Q 值的更新速度受到Hello 消息發(fā)送間隔的限制,間隔過小將加重網(wǎng)絡(luò)負(fù)載,間隔過大將無法及時(shí)感知拓?fù)渥兓瑢?dǎo)致算法收斂速度變慢。同時(shí),大多數(shù)算法根據(jù)Q 值采用貪婪策略選擇下一跳,然而高可信度節(jié)點(diǎn)可能鏈路狀況較差,并非最佳下一跳節(jié)點(diǎn),這也會(huì)增加高可信度節(jié)點(diǎn)的負(fù)擔(dān)。因此,本文提出一種基于啟發(fā)式Q 學(xué)習(xí)的路由選擇算法,通過利用-探索平衡策略,根據(jù)單跳延遲與鏈路質(zhì)量來確定當(dāng)前最優(yōu)的可信下一跳節(jié)點(diǎn)。啟發(fā)式評(píng)價(jià)函數(shù)用于更新當(dāng)前最優(yōu)動(dòng)作的Q 值,若節(jié)點(diǎn)x為最優(yōu)可信下一跳,為其賦予一個(gè)適當(dāng)?shù)膯l(fā)值,引導(dǎo)當(dāng)前節(jié)點(diǎn)選擇該節(jié)點(diǎn)作為下一跳,以加快收斂速度,提高路由算法的效率。
3.3.1 利用-探索平衡策略
當(dāng)選擇轉(zhuǎn)發(fā)數(shù)據(jù)包的鄰居節(jié)點(diǎn)時(shí),HQTR 算法不直接選擇Q 值最大的下一跳節(jié)點(diǎn),而采用改進(jìn)的標(biāo)準(zhǔn)貪婪策略選擇動(dòng)作,如式(6)所示:

其中:A表示選取的動(dòng)作,即下一跳節(jié)點(diǎn);Hs(d,x)表示當(dāng)前最優(yōu)動(dòng)作的啟發(fā)式函數(shù)值;σ∈[0,1]是度量啟發(fā)式函數(shù)影響程度的實(shí)數(shù),本文中取σ=1;P=ε表示算法以一定的概率ε隨機(jī)選擇下一跳節(jié)點(diǎn),即智能體在環(huán)境中“探索”;P=1-ε表示算法以1-ε概率選擇價(jià)值最大的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),即智能體直接“利用”已經(jīng)探索得到的信息。
3.3.2 最優(yōu)動(dòng)作確定
多跳路由的效率取決于構(gòu)成該路由的所有直接無線鏈路(即單跳鏈路),因此,為提高通信服務(wù)質(zhì)量,本文考慮單跳節(jié)點(diǎn)間的鏈路狀況,包括單跳延遲與鏈路質(zhì)量,通過衡量單位時(shí)間內(nèi)接收Hello 消息的平均單跳延遲與數(shù)量,確定最優(yōu)可信下一跳。最優(yōu)可信下一跳定義如式(7)所示,其中:AADelay為平均單跳延遲,計(jì)算方式如式(8)、式(9)所示;HHRR為Hello包接收率,計(jì)算方式如式(10)所示;TA*為當(dāng)前節(jié)點(diǎn)對(duì)下一跳節(jié)點(diǎn)的信任值;θ為可信閾值。平均單跳延遲越小,Hello 包接收率越高,表明其與該節(jié)點(diǎn)之間的鏈路狀況越好,此節(jié)點(diǎn)將被確定為最優(yōu)可信下一跳。

3.3.3 啟發(fā)式函數(shù)
當(dāng)確定最優(yōu)可信下一跳節(jié)點(diǎn)后,啟發(fā)式函數(shù)Hs(d,x)引導(dǎo)當(dāng)前節(jié)點(diǎn)選擇該節(jié)點(diǎn)并更新相應(yīng)的Q值。啟發(fā)式函數(shù)定義如式(11)所示,其中,η取0.01。若節(jié)點(diǎn)x為最優(yōu)可信下一跳,為其賦予一個(gè)適當(dāng)?shù)膯l(fā)值,否則啟發(fā)值為0。Hs(d,x) 的值必須大于Qs(d,x)值之間的變化,以便其可以影響動(dòng)作選擇,同時(shí)為了最小化誤差,Hs(d,x)必須盡可能小。

綜上,將啟發(fā)式路由算法主要分為Hello 消息維護(hù)、數(shù)據(jù)傳輸、路由發(fā)現(xiàn)、惡意節(jié)點(diǎn)隔離4 個(gè)部分,描述如算法1 所示,將該算法應(yīng)用于AΟMDV 協(xié)議中,建立多條可信路徑,便于在鏈路中斷、惡意節(jié)點(diǎn)破壞時(shí)進(jìn)行路徑切換。
算法1HQTR 算法

本文HQTR 算法的復(fù)雜度主要與信任值、Q 值和啟發(fā)式函數(shù)值的更新相關(guān),三者的時(shí)間復(fù)雜度與空間復(fù)雜度相同,分別為Ο(N)、Ο(N2)、Ο(N2),因此,算法1 的時(shí)間復(fù)雜度與空間復(fù)雜度均為Ο(N2)。
本文采用NS2 模擬器進(jìn)行仿真實(shí)驗(yàn),具體參數(shù)設(shè)置如表2 所示,基于包投遞率、吞吐量、路由開銷、平均端到端時(shí)延這4 個(gè)性能評(píng)價(jià)指標(biāo),對(duì)AΟMDV、TEAΟMDV[16]、ESRQ[17]與HQTR 進(jìn)行仿真對(duì)比,分析惡意攻擊、節(jié)點(diǎn)移動(dòng)速度與網(wǎng)絡(luò)規(guī)模對(duì)算法性能的影響,比較結(jié)果如表3 所示。

表2 仿真參數(shù)設(shè)置Table 2 Simulation parameters setting

表3 算法性能比較結(jié)果Table 3 Algorithms performance comparison results
設(shè)置節(jié)點(diǎn)最大移動(dòng)速度為10 m/s,黑洞攻擊中設(shè)置6 個(gè)惡意節(jié)點(diǎn),泛洪攻擊中設(shè)置1 個(gè)惡意節(jié)點(diǎn),2 種攻擊并存時(shí)設(shè)置3 個(gè)惡意節(jié)點(diǎn),仿真結(jié)果如圖5所示。
由圖5(a)可知,在未受到攻擊時(shí),包投遞率都保持在90%以上,TEAΟMDV 與HQTR 選擇了鏈路質(zhì)量較高的下一跳節(jié)點(diǎn),ESRQ 考慮距離因素,包投遞率略高于AΟMDV。當(dāng)受到黑洞攻擊時(shí),AΟMDV 包投遞率有所下降,而TEAΟMDV、ESRQ 與HQTR 隔離了惡意節(jié)點(diǎn),包投遞率下降幅度較小。當(dāng)存在泛洪攻擊節(jié)點(diǎn)時(shí),大量的RREQ 消息被不斷地轉(zhuǎn)發(fā),占用了有效帶寬,導(dǎo)致數(shù)據(jù)包得不到及時(shí)處理而被丟棄,AΟMDV、TEAΟMDV 與ESRQ 包投遞率下降,而HQTR 丟棄了來自惡意節(jié)點(diǎn)的路由請(qǐng)求,包投遞率下降幅度較小,降低了泛洪攻擊對(duì)網(wǎng)絡(luò)的影響。當(dāng)惡意節(jié)點(diǎn)同時(shí)發(fā)動(dòng)2種攻擊時(shí),TEAΟMDV 與ESRQ 雖然能夠檢測(cè)出黑洞攻擊,但惡意節(jié)點(diǎn)的請(qǐng)求仍然能夠被發(fā)送與轉(zhuǎn)發(fā),而HQTR可以同時(shí)應(yīng)對(duì)2 種攻擊,包投遞率更高。
由圖5(b)可知,AΟMDV 由于受到惡意節(jié)點(diǎn)的攻擊,丟包狀況嚴(yán)重,網(wǎng)絡(luò)吞吐量下降,TEAΟMDV與ESRQ 在一定程度上防御了黑洞攻擊,提升了吞吐量,但無法應(yīng)對(duì)泛洪攻擊,當(dāng)存在泛洪攻擊時(shí),兩者的吞吐量較低,HQTR 能夠有效應(yīng)對(duì)黑洞攻擊與泛洪攻擊,吞吐量始終保持較高水平。
由圖5(c)可知,在未受到攻擊時(shí),HQTR 與AΟMDV、ESRQ 路由開銷相近,而TEAΟMDV 略高,表明在正常情況下HQTR 未引入冗余開銷。當(dāng)受到黑洞攻擊時(shí),隔離惡意節(jié)點(diǎn)需要路徑切換或重新建立新路徑,HQTR 的路由開銷相比TEAΟMDV 與ESRQ 更低,選擇的路徑更加安全可靠。當(dāng)受到泛洪攻擊時(shí),惡意節(jié)點(diǎn)不斷發(fā)送請(qǐng)求報(bào)文,同時(shí)這些報(bào)文也被其他節(jié)點(diǎn)轉(zhuǎn)發(fā),導(dǎo)致路由開銷大幅上升。HQTR 將不再接受惡意節(jié)點(diǎn)的請(qǐng)求,抑制了RREQ的傳播,控制了路由開銷,但不能阻止惡意節(jié)點(diǎn)發(fā)送RREQ,因此,其路由開銷相比正常情況高。當(dāng)惡意節(jié)點(diǎn)同時(shí)發(fā)動(dòng)2 種攻擊時(shí),TEAΟMDV 與ESRQ 中部分節(jié)點(diǎn)由于檢測(cè)出黑洞攻擊而隔離了惡意節(jié)點(diǎn),降低了路由開銷,但惡意節(jié)點(diǎn)的請(qǐng)求仍能被其他節(jié)點(diǎn)接收并轉(zhuǎn)發(fā),因此,TEAΟMDV 與ESRQ 的路由開銷高于HQTR。同時(shí),TEAΟMDV 需要發(fā)送額外的控制包用于信任推薦,其路由開銷較ESRQ 更高。
由圖5(d)可知,在未受到攻擊時(shí),HQTR 平均端到端時(shí)延較低,當(dāng)受到黑洞攻擊時(shí),平均端到端時(shí)延均有所上升,TEAΟMDV 略高,TEAΟMDV 將惡意節(jié)點(diǎn)從路徑中剔除后,需重新選擇可信路由路徑,可能會(huì)增加跳數(shù),從而導(dǎo)致時(shí)延增大。ESRQ 優(yōu)先選取距離較近的下一跳,平均端到端時(shí)延低于TEAΟMDV。HQTR在選擇下一跳時(shí)考慮跳數(shù)、單跳延遲與鏈路質(zhì)量,優(yōu)化了時(shí)延。當(dāng)存在泛洪攻擊時(shí),由于網(wǎng)絡(luò)中充斥大量請(qǐng)求報(bào)文,產(chǎn)生擁塞,時(shí)延明顯上升,HQTR緩解了網(wǎng)絡(luò)擁塞,其時(shí)延相比TEAΟMDV 與ESRQ更低。

圖5 惡意攻擊下的算法性能比較Fig.5 Performance comparison of algorithms under malicious attacks
設(shè)置3 個(gè)惡意節(jié)點(diǎn),同時(shí)進(jìn)行黑洞攻擊與泛洪攻擊,仿真結(jié)果如圖6 所示。由圖6 可知,隨著節(jié)點(diǎn)移動(dòng)速度的提升,鏈路中斷頻繁,丟包狀況嚴(yán)重,包投遞率與吞吐量均不斷下降,同時(shí)需要發(fā)送更多的控制包用于路由發(fā)現(xiàn)與維護(hù),路由開銷與平均端到端時(shí)延有所上升。ESRQ 僅考慮了距離因素,而節(jié)點(diǎn)移動(dòng)速度過大時(shí),鏈路質(zhì)量不穩(wěn)定,因此,其包投遞率與吞吐量較低,路由開銷與平均端到端時(shí)延也逼近TEAΟMDV。HQTR 避免了存在惡意節(jié)點(diǎn)以及丟包嚴(yán)重節(jié)點(diǎn)的路徑,通信鏈路較為穩(wěn)定,相比TEAΟMDV 與ESRQ,其包投遞率與吞吐量下降緩慢,始終保持較高水平,同時(shí)降低了路由開銷與平均端到端時(shí)延。

圖6 不同節(jié)點(diǎn)移動(dòng)速度下的算法性能比較Fig.6 Performance comparison of algorithms under different node moving speeds
設(shè)置節(jié)點(diǎn)最大移動(dòng)速度為10 m/s,3個(gè)惡意節(jié)點(diǎn)同時(shí)進(jìn)行黑洞攻擊與泛洪攻擊,仿真結(jié)果如圖7所示。由圖7可知,在相同的飛行范圍內(nèi),當(dāng)網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量較少時(shí),數(shù)據(jù)包轉(zhuǎn)發(fā)跳數(shù)較多,由于無線鏈路的不穩(wěn)定性,導(dǎo)致數(shù)據(jù)包投遞率與吞吐量略低。隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,惡意節(jié)點(diǎn)造成的破壞更加嚴(yán)重,導(dǎo)致數(shù)據(jù)包投遞率與吞吐量不斷下降,路由開銷與平均端到端時(shí)延不斷上升。HQTR能夠有效抵御惡意節(jié)點(diǎn)的黑洞攻擊與泛洪攻擊,其相比AΟMDV、TEAΟMDV與ESRQ性能更優(yōu)且穩(wěn)定。

圖7 不同網(wǎng)絡(luò)規(guī)模下的算法性能比較Fig.7 Performance comparison of algorithms under different network sizes
本文提出一種基于啟發(fā)式Q 學(xué)習(xí)的可信路由算法HQTR,該算法考慮黑洞攻擊、RREQ 泛洪攻擊的主要攻擊特征,檢測(cè)與隔離惡意節(jié)點(diǎn),建立多條可信路徑,采用啟發(fā)式Q 學(xué)習(xí)引導(dǎo)當(dāng)前節(jié)點(diǎn)選擇鏈路狀況最佳的可信下一跳節(jié)點(diǎn)。仿真結(jié)果表明,HQTR 能夠有效應(yīng)對(duì)黑洞攻擊與RREQ 泛洪攻擊,在不增加路由開銷的情況下可以降低網(wǎng)絡(luò)拓?fù)漕l繁變更與網(wǎng)絡(luò)規(guī)模變化所帶來的影響,提高數(shù)據(jù)包投遞率與吞吐量,優(yōu)化平均端到端時(shí)延。下一步將運(yùn)用深度學(xué)習(xí)方法對(duì)FANET 中存在的多種路由攻擊進(jìn)行入侵檢測(cè),同時(shí)在路由選擇時(shí)結(jié)合強(qiáng)化學(xué)習(xí)方法來實(shí)現(xiàn)安全且智能的路由。