陳 凱,任 智,韋 亮,張關(guān)鑫
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
無人機(jī)自組網(wǎng)是由多架無人機(jī)自組織形成的網(wǎng)絡(luò)[1]。因?yàn)闊o人機(jī)具有便捷靈活、成本低等優(yōu)點(diǎn),所以能夠在缺乏通信基礎(chǔ)設(shè)施和復(fù)雜地形條件的情況下提供救援、通信等服務(wù)[2]。在一定空域內(nèi),無人機(jī)集群能夠?yàn)槟繕?biāo)提供更加強(qiáng)大的服務(wù)[3]。但由于無人機(jī)自身機(jī)動(dòng)靈活且負(fù)載有限的特性,導(dǎo)致無人機(jī)網(wǎng)絡(luò)具有拓?fù)鋭?dòng)態(tài)變化、負(fù)載有限等特點(diǎn)。無人機(jī)自組網(wǎng)的無線路由協(xié)議作為無人機(jī)自組網(wǎng)的重要研究方向,可靠高效且低開銷的無線路由協(xié)議是無人機(jī)自組網(wǎng)成功運(yùn)行的基礎(chǔ)。傳統(tǒng)的分布式路由協(xié)議應(yīng)用到無人機(jī)網(wǎng)絡(luò)時(shí),會(huì)存在路由開銷過大、路由信息更新不及時(shí)、通信鏈路不穩(wěn)定和全局視野缺失等問題[4-5]。因此,為提高拓?fù)涔芾砟芰唾Y源處理能力,越來越多的學(xué)者關(guān)注軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)架構(gòu)與傳統(tǒng)無人機(jī)自組網(wǎng)的結(jié)合,同時(shí),軟件定義飛行自組網(wǎng)(Software-Defined Flight Ad Hoc Network,SD-FANET)也逐漸成為近年來的研究熱點(diǎn)。
文獻(xiàn)[6]提出了基于SDN架構(gòu)的無人機(jī)自組網(wǎng)管理策略,目標(biāo)是建立和維護(hù)其拓?fù)浣Y(jié)構(gòu),以便通過中繼單元在節(jié)點(diǎn)之間提供恒定和可靠的通信鏈路。文獻(xiàn)[7]提出了一種切換算法,其有效地完成了因能量退網(wǎng)而進(jìn)行的切換,解決了SDN架構(gòu)的無人機(jī)網(wǎng)絡(luò)的有序退網(wǎng)問題。文獻(xiàn)[8]提出了一種SD-FANET自適應(yīng)切換算法,SDN控制器實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài),然后根據(jù)鏈路優(yōu)先級(jí)和流量閾值周期性進(jìn)行切換決策。該方法提高了鏈路的穩(wěn)定性,保障了數(shù)據(jù)的有效可靠傳輸。文獻(xiàn)[9]提出了一種無線自組網(wǎng)按需平面距離向量路由協(xié)議(Ad Hoc On-Demand Distance Vector Routing,AODV)與SDN結(jié)合的架構(gòu),普通節(jié)點(diǎn)運(yùn)行AODV協(xié)議并周期性上傳鄰居信息,SDN控制器節(jié)點(diǎn)周期性維護(hù)全局網(wǎng)絡(luò)拓?fù)?。該架?gòu)具有更快的路由收斂速度和更強(qiáng)的網(wǎng)絡(luò)健壯性。文獻(xiàn)[10]提出了一種自適應(yīng)路由維護(hù)機(jī)制,結(jié)合已有的流表項(xiàng)信息和已有的控制消息收發(fā)機(jī)制,有效地解決了現(xiàn)有SD-FANET中存在的網(wǎng)絡(luò)開銷過大、處理時(shí)延過大等問題。
通過現(xiàn)有的研究發(fā)現(xiàn),當(dāng)前的無人機(jī)網(wǎng)絡(luò)中仍存在著初始建網(wǎng)時(shí)間過長(zhǎng)及周期性組網(wǎng)開銷過大、業(yè)務(wù)鏈路不穩(wěn)定、用戶數(shù)據(jù)業(yè)務(wù)傳輸可靠性低等問題。為解決上述三個(gè)問題帶來的影響,本文提出了一種SD-FANET下的低開銷且可靠有效的路由解決方案(Low-overhead,Reliable and Efficient Routing Solution Based on Node Cooperation,NC-SDN)。針對(duì)第一個(gè)問題,基于文獻(xiàn)[11]提出的靜態(tài)混合網(wǎng)絡(luò)結(jié)構(gòu),利用節(jié)點(diǎn)之間的周期性感知能力,提出了包含聚合消息自主上傳機(jī)制的SD-FANET的組網(wǎng)機(jī)制;針對(duì)第二個(gè)問題,利用節(jié)點(diǎn)之間HELLO消息的周期性傳遞,修復(fù)了無效未過期路由轉(zhuǎn)發(fā)信息,減少了無效路由數(shù)目,減輕了不可靠傳輸?shù)娘L(fēng)險(xiǎn);針對(duì)第三個(gè)問題,利用普通節(jié)點(diǎn)上傳的位置信息,SDN控制器借助卡爾曼算法修正與預(yù)測(cè),實(shí)時(shí)跟蹤監(jiān)測(cè)業(yè)務(wù)鏈路,預(yù)切換中斷鏈路,降低鏈路中斷和用戶數(shù)據(jù)丟失的風(fēng)險(xiǎn)。
SDN的架構(gòu)具有集中處理和快速感知的特點(diǎn),考慮將SDN架構(gòu)與傳統(tǒng)分布式網(wǎng)絡(luò)路由協(xié)議特征相結(jié)合,這樣將有助于提高無線自組織網(wǎng)絡(luò)的性能。但是,以往對(duì)于SDN架構(gòu)與分布式路由協(xié)議相結(jié)合機(jī)制的探索主要集中在無線靜態(tài)網(wǎng)絡(luò)上。如圖1所示,假設(shè)整個(gè)網(wǎng)絡(luò)由1個(gè)SDN控制器與多個(gè)普通節(jié)點(diǎn)組成,SDN控制器具有全局拓?fù)湟晥D,普通節(jié)點(diǎn)具有鄰居感知功能。首先普通節(jié)點(diǎn)通過周期性收發(fā)HELLO消息來獲取鄰居信息,然后普通節(jié)點(diǎn)創(chuàng)建聚合消息并將自身鄰居信息填充到聚合消息中,之后該普通節(jié)點(diǎn)將聚合消息上傳到控制器節(jié)點(diǎn),最后SDN控制器通過周期性聚合消息構(gòu)造全網(wǎng)拓?fù)湟晥D。當(dāng)網(wǎng)絡(luò)需要傳輸用戶數(shù)據(jù)業(yè)務(wù)時(shí),源節(jié)點(diǎn)將上傳路由查詢信息,SDN控制器經(jīng)全網(wǎng)拓?fù)湟晥D計(jì)算出最優(yōu)路由進(jìn)而下發(fā)路由轉(zhuǎn)發(fā)信息到普通節(jié)點(diǎn)。收到路由轉(zhuǎn)發(fā)信息的普通節(jié)點(diǎn)作為中轉(zhuǎn)節(jié)點(diǎn)維護(hù)路由轉(zhuǎn)發(fā)信息。
圖1 SD-FANET場(chǎng)景
而無人機(jī)群網(wǎng)絡(luò)場(chǎng)景有拓?fù)淇焖僮兓?、帶寬有限等特點(diǎn)。拓?fù)涞目焖僮兓请S機(jī)的,普通節(jié)點(diǎn)維護(hù)的鄰居集存在著變與不變的可能性。在鄰居集未改變的情況下,因?yàn)榫酆舷?nèi)容的重復(fù)性,空閑的普通節(jié)點(diǎn)持續(xù)性上傳聚合消息,會(huì)造成開銷的浪費(fèi),且有悖于無人機(jī)帶寬有限的限制。
如圖2所示,位于源節(jié)點(diǎn)A的用戶為了能夠向目的節(jié)點(diǎn)E傳輸用戶數(shù)據(jù)業(yè)務(wù),將會(huì)向SDN控制器申請(qǐng)圖中所示的鏈路。各節(jié)點(diǎn)收到維持時(shí)間為T的路由轉(zhuǎn)發(fā)信息,則理論上,在T時(shí)間段內(nèi),該鏈路上任意一個(gè)節(jié)點(diǎn)均能自主向目的節(jié)點(diǎn)E傳輸用戶數(shù)據(jù)業(yè)務(wù)。但是,如圖3所示,由于無人機(jī)的隨機(jī)移動(dòng)性,所以會(huì)造成拓?fù)涞目焖僮兓M(jìn)而導(dǎo)致鏈路實(shí)質(zhì)上中斷。但又因?yàn)槁酚芍修D(zhuǎn)節(jié)點(diǎn)不具有全局視圖,所以在T時(shí)間段內(nèi)默認(rèn)其路由轉(zhuǎn)發(fā)信息的有效性。所以當(dāng)上述鏈路情況改變,在T時(shí)間段內(nèi),位于該鏈路的任意一個(gè)前向節(jié)點(diǎn)(斷點(diǎn)之前)向目的節(jié)點(diǎn)E傳輸用戶數(shù)據(jù)業(yè)務(wù),都會(huì)產(chǎn)生嚴(yán)重的丟包。
圖2 因業(yè)務(wù)而建立的鏈路
圖3 因無人機(jī)移動(dòng)而中斷的鏈路
在無人機(jī)網(wǎng)絡(luò)中,無人機(jī)節(jié)點(diǎn)的飛行姿態(tài)具有時(shí)變性和隨機(jī)性。如圖2所示,當(dāng)前網(wǎng)絡(luò)中,鏈路A→B→C→D→E被SDN控制器指定傳輸實(shí)時(shí)用戶數(shù)據(jù)業(yè)務(wù)。設(shè)R為節(jié)點(diǎn)的無線電范圍,只有在R的范圍內(nèi)才能保證雙方的通信數(shù)據(jù)交互。但是因?yàn)闊o人機(jī)節(jié)點(diǎn)的飛行情況不是預(yù)設(shè)的,所以正在進(jìn)行傳輸業(yè)務(wù)的節(jié)點(diǎn)有可能飛離相應(yīng)鏈路鄰節(jié)點(diǎn)的通信范圍導(dǎo)致實(shí)時(shí)用戶數(shù)據(jù)業(yè)務(wù)中斷。
NC-SDN是適用于SD-FANET的低開銷且有效可靠的路由解決方案:設(shè)計(jì)了含有自主上傳機(jī)制的SD-FANET組網(wǎng)機(jī)制,用于無人機(jī)網(wǎng)絡(luò)快速建網(wǎng)且減小了周期性組網(wǎng)開銷;設(shè)計(jì)了HELLO消息接力修復(fù)機(jī)制,減輕了因鏈路變化引起的未過期無效路由信息的影響;設(shè)計(jì)了增強(qiáng)鏈路穩(wěn)定性機(jī)制,降低了因拓?fù)渥兓斐傻膶?shí)時(shí)業(yè)務(wù)中斷的可能性且減少了大范圍路由查詢產(chǎn)生的開銷。
在初始化階段,普通節(jié)點(diǎn)主動(dòng)發(fā)起鄰居感知。普通節(jié)點(diǎn)在自己的HELLO消息中寫入自己的身份信息,然后主動(dòng)廣播出去。HELLO消息格式如圖4所示。各普通節(jié)點(diǎn)整合HELLO消息并生成聚合消息(格式如圖5所示),將其上傳到SDN控制器快速完成初始建網(wǎng)。
圖4 HELLO消息格式
圖5 聚合消息格式
在網(wǎng)絡(luò)運(yùn)行與維護(hù)階段,網(wǎng)絡(luò)中存在某時(shí)間段內(nèi)局部網(wǎng)絡(luò)拓?fù)湮窗l(fā)生實(shí)質(zhì)變化的情況,因此,NC-SDN中設(shè)計(jì)了自主上傳機(jī)制。在網(wǎng)絡(luò)運(yùn)行的過程中,普通節(jié)點(diǎn)需保存上一個(gè)周期時(shí)刻所獲得的各鄰居的HELLO消息,稱為歷史鄰居信息。在當(dāng)前時(shí)刻收到當(dāng)前周期內(nèi)各鄰居發(fā)送的HELLO消息稱為當(dāng)前鄰居信息,普通節(jié)點(diǎn)立即將當(dāng)前鄰居信息與歷史鄰居信息進(jìn)行比對(duì),如果兩種信息所對(duì)應(yīng)的鄰居完全一致,那么就說明此節(jié)點(diǎn)所在的局部網(wǎng)絡(luò)拓?fù)湮串a(chǎn)生改變,此節(jié)點(diǎn)不需要聚合各鄰居的信息進(jìn)行周期性上傳。SDN控制器未收到某普通節(jié)點(diǎn)上傳的聚合消息,默認(rèn)該普通節(jié)點(diǎn)的局部網(wǎng)絡(luò)拓?fù)湮串a(chǎn)生改變,所以在進(jìn)行網(wǎng)絡(luò)拓?fù)涓聲r(shí),SDN控制器將使用該普通節(jié)點(diǎn)的歷史聚合消息。當(dāng)然,為防止出現(xiàn)該普通節(jié)點(diǎn)與SDN控制器之間的南向接口安全通道中斷而致使SDN控制器無法接收該節(jié)點(diǎn)的聚合數(shù)據(jù)包的問題,該普通節(jié)點(diǎn)只有間隔一次暫停上傳的能力,下一個(gè)周期無論歷史鄰居信息和當(dāng)前鄰居信息的比對(duì)結(jié)果是否一致,普通節(jié)點(diǎn)都需要按周期到達(dá)時(shí)刻上傳聚合數(shù)據(jù)包。
普通節(jié)點(diǎn)根據(jù)歷史信息進(jìn)行自主決策,既能夠自適應(yīng)網(wǎng)絡(luò)拓?fù)涞淖兓?又減少了SDN控制器與普通節(jié)點(diǎn)之間不必要的控制開銷。改進(jìn)后的組網(wǎng)機(jī)制更加適應(yīng)于拓?fù)淇焖僮兓邑?fù)載有限的無人機(jī)群網(wǎng)絡(luò)場(chǎng)景。
為有效地減輕無效未過期路由轉(zhuǎn)發(fā)信息帶來的影響,NC-SDN中設(shè)計(jì)了基于HELLO消息接力修復(fù)的路由維護(hù)機(jī)制。鏈路如圖3所示,當(dāng)無人機(jī)節(jié)點(diǎn)C和無人機(jī)節(jié)點(diǎn)D之間因?yàn)殡S機(jī)飛行產(chǎn)生鏈路中斷的時(shí)候,該鏈路上存有的路由轉(zhuǎn)發(fā)信息就失去了作用并開始留下隱患。由于HELLO消息的發(fā)送周期遠(yuǎn)小于路由轉(zhuǎn)發(fā)信息的維護(hù)時(shí)間,因此可以利用HELLO消息的周期廣播的特點(diǎn)減小上述情況的影響。
當(dāng)節(jié)點(diǎn)D作為節(jié)點(diǎn)C的下一跳時(shí),節(jié)點(diǎn)C能夠周期性收到節(jié)點(diǎn)D的HELLO消息,然后在其維護(hù)的某個(gè)路由轉(zhuǎn)發(fā)信息中比對(duì)到Nexthop字段為節(jié)點(diǎn)D的信息。路由轉(zhuǎn)發(fā)信息格式如圖6所示。若鏈路中斷,節(jié)點(diǎn)C在周期性的HELLO消息中無法比對(duì)到節(jié)點(diǎn)D的信息。因此,節(jié)點(diǎn)C將更改關(guān)于節(jié)點(diǎn)D的路由轉(zhuǎn)發(fā)信息,節(jié)點(diǎn)C修改原路由轉(zhuǎn)發(fā)信息的Dest字段為節(jié)點(diǎn)C信息,Nexthop字段為節(jié)點(diǎn)C信息。同時(shí),節(jié)點(diǎn)C把告警信息加入到即將廣播的HELLO消息中。告警信息的格式如圖7所示,其目的是告知其鄰居節(jié)點(diǎn)相應(yīng)鏈路的路由轉(zhuǎn)發(fā)信息已經(jīng)不適用,并按照告警信息更改相應(yīng)的路由轉(zhuǎn)發(fā)信息。在告警信息Src字段寫入該鏈路的源節(jié)點(diǎn)A,在告警信息Dest字段寫入該鏈路的原來的目的節(jié)點(diǎn)E,在告警信息Dest_replace字段寫入發(fā)現(xiàn)中斷情況的節(jié)點(diǎn)C的信息。
圖6 路由轉(zhuǎn)發(fā)信息
圖7 告警字段
節(jié)點(diǎn)B為節(jié)點(diǎn)C的鄰居,節(jié)點(diǎn)B能夠收到節(jié)點(diǎn)C發(fā)送的攜帶告警信息的HELLO消息,與自身的路由轉(zhuǎn)發(fā)信息比對(duì)成功后,節(jié)點(diǎn)B立即修改路由轉(zhuǎn)發(fā)信息中的Dest字段信息為節(jié)點(diǎn)C的身份信息,且修改Nexthop字段信息為一跳鄰居的身份信息(這里將修改為節(jié)點(diǎn)C),路由過期時(shí)間Time保持更新。
同理,節(jié)點(diǎn)B在周期性發(fā)送HELLO消息時(shí),將來自節(jié)點(diǎn)C的告警信息寫入自身的HELLO消息中,原鏈路上的節(jié)點(diǎn)A在接收到來自鄰居B的HELLO消息后,比對(duì)路由轉(zhuǎn)發(fā)信息并借助告警信息修改無效的路由轉(zhuǎn)發(fā)信息。
借助鄰居信息的告警,本身已經(jīng)無效的路由轉(zhuǎn)發(fā)信息重新變成實(shí)質(zhì)有效的路由轉(zhuǎn)發(fā)信息。HELLO消息接力的路由轉(zhuǎn)發(fā)信息修復(fù)方式在一定的時(shí)間和空間范圍內(nèi)自動(dòng)甄別無效路由信息,重新定義生成有效路由信息,在一定程度上降低了上傳查詢的開銷,維護(hù)了鏈路的穩(wěn)定性和路由的可靠性。
為減小因拓?fù)渥兓斐傻膶?shí)時(shí)業(yè)務(wù)中斷的影響,NC-SDN中設(shè)計(jì)了一個(gè)增強(qiáng)鏈路穩(wěn)定性機(jī)制。普通節(jié)點(diǎn)周期性上傳自身的地理位置信息,SDN控制器通過普通節(jié)點(diǎn)地理位置信息分析預(yù)測(cè)實(shí)時(shí)業(yè)務(wù)鏈路上普通節(jié)點(diǎn)的飛行情況,進(jìn)而決定是否進(jìn)入雙向切換。
本節(jié)將從位置、速度作為度量指標(biāo)出發(fā),結(jié)合卡爾曼濾波算法修正獲得精確而合理的最優(yōu)估計(jì)位置;通過最優(yōu)估計(jì)位置得到預(yù)測(cè)位置,而后根據(jù)預(yù)測(cè)位置,SDN控制器對(duì)是否切換業(yè)務(wù)鏈路做出決策。同時(shí),SDN控制器中會(huì)持續(xù)性維護(hù)一個(gè)負(fù)載表,其表示正在傳輸數(shù)據(jù)的鏈路對(duì)。
表1 負(fù)載鏈路表
首先,分解速度:
(1)
(2)
然后,求取第n個(gè)周期時(shí)的位置預(yù)測(cè)值:
(3)
(4)
現(xiàn)假設(shè)預(yù)測(cè)過程誤差恒為δa,測(cè)量過程誤差恒為δb,在周期數(shù)為n-1時(shí)的最優(yōu)估計(jì)誤差為?n-1,即預(yù)測(cè)位置預(yù)測(cè)值的行為會(huì)產(chǎn)生誤差為δa,由定位儀器得到的位置測(cè)量值的行為產(chǎn)生誤差為δb。因此,預(yù)測(cè)在周期數(shù)為n時(shí)的節(jié)點(diǎn)的位置的過程產(chǎn)生的誤差為
(5)
(6)
所以在周期數(shù)n的位置最優(yōu)估計(jì)值為
(7)
(8)
同時(shí),求得在周期數(shù)n的最優(yōu)估計(jì)誤差?n為
(9)
最優(yōu)估計(jì)誤差?n將作為周期數(shù)n+1時(shí)計(jì)算位置最優(yōu)估計(jì)值的迭代信息并入下一次的迭代計(jì)算,因此,每一個(gè)周期都能夠依據(jù)上一個(gè)周期留存的必要信息進(jìn)行位置的計(jì)算與修正:
(10)
(11)
(12)
SDN控制器計(jì)算到了業(yè)務(wù)鏈路的節(jié)點(diǎn)位置預(yù)測(cè)值之后,從兩端開始分別按照順序和逆序的方式進(jìn)行距離估計(jì)。順序方式是指該業(yè)務(wù)鏈路從源節(jié)點(diǎn)開始進(jìn)行相鄰節(jié)點(diǎn)距離估計(jì)。逆序方式是指該業(yè)務(wù)鏈路從目的節(jié)點(diǎn)開始進(jìn)行相鄰節(jié)點(diǎn)距離估計(jì)。通過這種方式,SDN控制器鎖定可能中斷的鏈路范圍。例如,業(yè)務(wù)鏈路節(jié)點(diǎn)B和D之間被認(rèn)為會(huì)產(chǎn)生業(yè)務(wù)中斷,即
(13)
(14)
SB→C≥0.9R,SD→C≥0.9R。
(15)
SDN控制器重新計(jì)算B和D之間的路由,如果節(jié)點(diǎn)B到節(jié)點(diǎn)D之間不存在有效路由,則SDN控制器擴(kuò)大路由搜索范圍,其將計(jì)算節(jié)點(diǎn)B到節(jié)點(diǎn)E以及節(jié)點(diǎn)A到節(jié)點(diǎn)D之間的有效路由,尋找到可用的路由就立即下發(fā)路由修改信息到相應(yīng)的節(jié)點(diǎn),同時(shí)更新其內(nèi)部的實(shí)時(shí)鏈路負(fù)載表。
通過這種預(yù)測(cè)切換與范圍鎖定的方式,可以降低負(fù)載業(yè)務(wù)鏈路因?yàn)橥負(fù)潆S機(jī)變化而導(dǎo)致的用戶數(shù)據(jù)包丟失、業(yè)務(wù)鏈路通信質(zhì)量下降的問題,同時(shí)也降低了因負(fù)載業(yè)務(wù)鏈路完全中斷導(dǎo)致產(chǎn)生的控制開銷,保障了用戶服務(wù)質(zhì)量。
首先對(duì)模擬的網(wǎng)絡(luò)環(huán)境進(jìn)行簡(jiǎn)要介紹,然后使用OPNET14.5軟件進(jìn)行仿真,最后比較分析優(yōu)化鏈路狀態(tài)路由(Optimized Link State Routing,OLSR)網(wǎng)絡(luò)、SDN、AODV網(wǎng)絡(luò)和NC-SDN的初始建網(wǎng)時(shí)間、周期性組網(wǎng)開銷和丟包率等性能指標(biāo)。
仿真場(chǎng)景設(shè)置的范圍大小是2 000 m×2 000 m,SDN控制器節(jié)點(diǎn)初始位于該范圍中心,普通節(jié)點(diǎn)均勻分布在該范圍內(nèi)。重要的仿真參數(shù)設(shè)置如表2所示。
表2 主要仿真參數(shù)
為驗(yàn)證NC-SDN對(duì)于改善無人機(jī)網(wǎng)絡(luò)性能而發(fā)揮的實(shí)質(zhì)性作用,接下來對(duì)性能指標(biāo)進(jìn)行如下分析。首先,比較分析各個(gè)網(wǎng)絡(luò)在周期性組網(wǎng)過程中產(chǎn)生的控制開銷;其次,比較分析各個(gè)網(wǎng)絡(luò)在同步首發(fā)業(yè)務(wù)時(shí)的丟包率,進(jìn)而反映網(wǎng)絡(luò)初始建立路由的快慢;最后,比較分析各個(gè)網(wǎng)絡(luò)在持續(xù)運(yùn)行業(yè)務(wù)時(shí)的丟包率,進(jìn)而反映鏈路的穩(wěn)定性和自適應(yīng)性。
圖8描述了隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,不同的路由協(xié)議在周期性組網(wǎng)過程中產(chǎn)生的控制開銷的變化情況。因?yàn)镺LSR協(xié)議是主動(dòng)式路由發(fā)現(xiàn)協(xié)議,且在維護(hù)網(wǎng)絡(luò)拓?fù)鋾r(shí)需要大量廣播HELLO消息和TC消息,所以隨著網(wǎng)絡(luò)規(guī)模的增大,其對(duì)應(yīng)的控制開銷也顯著增大。反之,因?yàn)锳ODV協(xié)議是按需路由協(xié)議,所以不需要主動(dòng)廣播組網(wǎng)控制信息。其只需要在有路由需求的情況下實(shí)時(shí)向網(wǎng)絡(luò)請(qǐng)求關(guān)于目的節(jié)點(diǎn)的路由信息即可,所以AODV協(xié)議相對(duì)保持一種低組網(wǎng)開銷的狀態(tài)。而NC-SDN中的聚合消息自主上傳機(jī)制利用每一個(gè)普通節(jié)點(diǎn)比對(duì)兩類鄰居信息,然后自主決策是否進(jìn)行鄰居信息的聚合上傳,因此NC-SDN在周期性組網(wǎng)行為中產(chǎn)生的控制開銷小于SDN。
圖8 組網(wǎng)過程開銷變化
圖9描述了隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,不同的路由協(xié)議在相應(yīng)的路由收斂時(shí)間內(nèi),同步首發(fā)業(yè)務(wù)產(chǎn)生的丟包率的變化情況。因?yàn)锳ODV協(xié)議在有路由需求時(shí)會(huì)以廣播的方式逐跳查詢路由信息并以反向路徑的方式逐跳反饋路由信息到源節(jié)點(diǎn),因此,隨著網(wǎng)絡(luò)規(guī)模的增大,路由信息索引范圍與建立路由的時(shí)間明顯增大。因?yàn)镺LSR協(xié)議建立路由表需要鄰居感知和TC消息廣播等過程,而基于SDN架構(gòu)的組網(wǎng)機(jī)制,在初次鄰居感知之后SDN控制器就能夠獲得全局視野,所以反應(yīng)速度快于OSLR協(xié)議。SDN與NC-SDN的網(wǎng)絡(luò)初始化能力相近,但因?yàn)樵贜C-SDN中,是普通節(jié)點(diǎn)自主發(fā)起鄰居感知,所以網(wǎng)絡(luò)初始化速度略快于SDN。
圖9 初始建網(wǎng)快慢程度
圖10反映出了隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,不同的路由協(xié)議所支持的用戶數(shù)據(jù)業(yè)務(wù)的丟包率的變化情況。因?yàn)锳ODV協(xié)議是被動(dòng)式發(fā)現(xiàn)協(xié)議,隨著網(wǎng)絡(luò)規(guī)模的增大與數(shù)據(jù)業(yè)務(wù)的增多,大量的路由請(qǐng)求信息與路由反饋信息會(huì)在網(wǎng)絡(luò)中形成泛洪,進(jìn)而出現(xiàn)數(shù)據(jù)包沖突的現(xiàn)象,所以導(dǎo)致丟包率上升。因?yàn)镺LSR協(xié)議是主動(dòng)式發(fā)現(xiàn)協(xié)議,在付出開銷的代價(jià)下周期性獲得了全網(wǎng)拓?fù)?所以相比AODV協(xié)議,OLSR協(xié)議更能建立實(shí)時(shí)有效鏈路。但隨著網(wǎng)絡(luò)規(guī)模增大,OLSR網(wǎng)絡(luò)中數(shù)據(jù)包的數(shù)量顯著增大,導(dǎo)致發(fā)生無線碰撞的可能性上升,進(jìn)而導(dǎo)致數(shù)據(jù)丟包率上升。相比于OLSR網(wǎng)絡(luò),SDN在網(wǎng)絡(luò)規(guī)模增大的情況下,控制開銷增加較低,且SDN網(wǎng)絡(luò)中的普通節(jié)點(diǎn)在丟包情況下會(huì)主動(dòng)請(qǐng)求SDN控制節(jié)點(diǎn)重新為數(shù)據(jù)包建立路由,降低了數(shù)據(jù)包丟失的概率。而NC-SDN中,由于SDN控制節(jié)點(diǎn)擁有監(jiān)控、預(yù)測(cè)與切換機(jī)制,可以指導(dǎo)普通節(jié)點(diǎn)進(jìn)一步減小斷路造成的數(shù)據(jù)包丟失。
圖10 業(yè)務(wù)丟包率變化
本文針對(duì)無人機(jī)網(wǎng)絡(luò)中初始建網(wǎng)時(shí)間過長(zhǎng)、周期性組網(wǎng)開銷過大、業(yè)務(wù)鏈路不穩(wěn)定以及用戶數(shù)據(jù)業(yè)務(wù)傳輸可靠性低的問題,提出了NC-SDN路由解決方案。該方案中包含了聚合消息自主上傳機(jī)制、HELLO消息接力修復(fù)機(jī)制以及增強(qiáng)鏈路穩(wěn)定性機(jī)制。首先,通過在初始化網(wǎng)絡(luò)時(shí)普通節(jié)點(diǎn)主動(dòng)發(fā)起鄰居感知、網(wǎng)絡(luò)運(yùn)行時(shí)普通節(jié)點(diǎn)自主決策上傳,減少了初始建網(wǎng)時(shí)間和周期性組網(wǎng)開銷;其次,通過普通節(jié)點(diǎn)自主分析無效未過期路由信息,接力式修復(fù)無效路由信息,減少了無效信息的冗余,降低了不可靠鏈路風(fēng)險(xiǎn);最后,通過SDN控制器利用地理位置信息集中預(yù)測(cè)實(shí)時(shí)業(yè)務(wù)鏈路的中斷情況,降低了鏈路中斷與用戶數(shù)據(jù)丟失的風(fēng)險(xiǎn)。仿真結(jié)果表明,NC-SDN路由解決方案在初始建網(wǎng)時(shí)間、周期性組網(wǎng)開銷和丟包率等性能指標(biāo)上的表現(xiàn)優(yōu)于SDN、OLSR以及AODV。