張耕強(qiáng),謝 鈞,楊章林
(陸軍工程大學(xué) 指揮控制工程學(xué)院,南京 210007)
隨著現(xiàn)代軍事的發(fā)展,戰(zhàn)術(shù)任務(wù)的復(fù)雜程度日益增加,對于數(shù)據(jù)傳輸?shù)囊笕諠u嚴(yán)格.目前戰(zhàn)場機(jī)動通信主要應(yīng)用移動自組織網(wǎng)絡(luò)(mobile ad-hoc networks,MANET)進(jìn)行網(wǎng)絡(luò)的組織,MANET 需要在動態(tài)變化的戰(zhàn)場環(huán)境里實(shí)現(xiàn)帶寬分配、流量的路徑選擇以及維持末端節(jié)點(diǎn)到指揮中心的多跳連接[1].然而目前MANET路由協(xié)議雖然種類繁多,但受限于對等式結(jié)構(gòu)特點(diǎn),網(wǎng)絡(luò)流量調(diào)控能力較弱,節(jié)點(diǎn)間通信難以合理分配鏈路資源,在實(shí)際中對于復(fù)雜任務(wù)的支撐能力較弱.
軟件定義網(wǎng)絡(luò)(software-defined networking,SDN)近來成為優(yōu)化戰(zhàn)術(shù)MANET 通信能力的一種解決方案.SDN 強(qiáng)大的網(wǎng)絡(luò)可視化能力以及靈活的流量調(diào)控能力,能根據(jù)上層應(yīng)用需求,從全局網(wǎng)絡(luò)角度高效分配資源和選擇路徑,并在捕捉網(wǎng)絡(luò)變化后迅速進(jìn)行資源再配置,動態(tài)調(diào)整數(shù)據(jù)傳輸路徑.利用SDN 協(xié)助MANET 進(jìn)行路由決策,能提高戰(zhàn)術(shù)任務(wù)的完成質(zhì)量,但要將SDN 應(yīng)用至MANET,需要解決網(wǎng)絡(luò)可靠性、健壯性、安全性等一系列適應(yīng)性問題,以面對戰(zhàn)場環(huán)境的各種變化.
本文針對SDN 技術(shù)在戰(zhàn)術(shù)MANET 路由的應(yīng)用展開研究.首先介紹戰(zhàn)術(shù)MANET 路由現(xiàn)狀,而后介紹SDN 以及相關(guān)路由優(yōu)化研究說明其對MANET 路由帶來的提升,最后從路由過程分析相關(guān)挑戰(zhàn)以及解決方案.
MANET 是一種臨時的多跳、去中心化的自組織分布式系統(tǒng),不依賴于固定基礎(chǔ)設(shè)施,同時對網(wǎng)絡(luò)的變化具有一定的適應(yīng)性,在戰(zhàn)場機(jī)動任務(wù)中多被應(yīng)用以實(shí)現(xiàn)各節(jié)點(diǎn)的通信需求.網(wǎng)絡(luò)組成主要包含由部署在現(xiàn)場的無線傳感器節(jié)點(diǎn),特種部隊攜帶的無線電和小型無人飛行器等,用于實(shí)現(xiàn)圖像采集以及其他戰(zhàn)術(shù)任務(wù)[2].該場景下網(wǎng)絡(luò)主要有以下特點(diǎn):
網(wǎng)絡(luò)具有高動態(tài)性.受戰(zhàn)術(shù)任務(wù)需求,戰(zhàn)術(shù)MANET網(wǎng)絡(luò)里的節(jié)點(diǎn)都需要具備移動能力,在進(jìn)行戰(zhàn)術(shù)任務(wù)的同時應(yīng)對各種突發(fā)情況,如無人機(jī)、機(jī)動通信車等都是具有較強(qiáng)移動能力的常用設(shè)備.這決定了鏈路狀態(tài)會頻繁改變,網(wǎng)絡(luò)具有極高的動態(tài)變化特點(diǎn),源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間的端到端連接可能突然斷開,導(dǎo)致傳輸超時和路由故障.
帶寬資源匱乏.受環(huán)境決定,無線信道的狀況不佳,存在共享信道碰撞、信號衰減、噪音干擾等因素限制帶寬大小[3].
大量設(shè)備有能量限制.受戰(zhàn)術(shù)任務(wù)決定,如無人機(jī)等許多設(shè)備需要具有較小的體積以換取高度的靈活性或可攜帶性.其電量極為有限,在進(jìn)行移動、通信等動作時都會消耗電量,對網(wǎng)絡(luò)運(yùn)轉(zhuǎn)有一定影響.
針對MANET 的特點(diǎn),許多路由協(xié)議被陸續(xù)提出.目前傳統(tǒng)MANET 路由協(xié)議大致分為6 類[4]:
(1)靜止式路由.每個節(jié)點(diǎn)維持一個提前配置的固定路由表,按照表項進(jìn)行數(shù)據(jù)包的路由.
(2)主動式路由.這類路由協(xié)議以目的節(jié)點(diǎn)序列距離矢量協(xié)議(destination sequenced distance vector routing,DSDV)[5]為代表,網(wǎng)絡(luò)每個節(jié)點(diǎn)維持一個路由表,通過定期更新以及事件驅(qū)動更新(如鏈路狀態(tài)變化等)保持其有效性.其優(yōu)勢為節(jié)點(diǎn)能根據(jù)最新的路由表快速選擇下一跳,優(yōu)化一定的傳輸時延.然而當(dāng)網(wǎng)絡(luò)規(guī)模較大時,其維護(hù)路由表的控制開銷較大,同時收斂時間較長,對于網(wǎng)絡(luò)變化的反應(yīng)較慢.
(3)反應(yīng)式路由.這類路由協(xié)議以無線自組網(wǎng)按需平面距離向量路由協(xié)議(ad hoc on-demand distance vector routing,AODV)[6]為代表,只有當(dāng)節(jié)點(diǎn)需要通信時才進(jìn)行尋路.源節(jié)點(diǎn)以廣播的方式將路由請求包傳輸?shù)侥繕?biāo)節(jié)點(diǎn),通過目標(biāo)節(jié)點(diǎn)和中轉(zhuǎn)節(jié)點(diǎn)的回復(fù)建立數(shù)據(jù)傳輸路徑.
(4)混合式路由.此類協(xié)議綜合了主動式路由和反應(yīng)式路由.以區(qū)域路由協(xié)議(zone routing protocol,ZRP)協(xié)議為例,其將網(wǎng)絡(luò)分為多個區(qū)域,域內(nèi)進(jìn)行主動式路由,域間進(jìn)行按需式路由.
(5)基于地理位置路由.這類路由協(xié)議假設(shè)節(jié)點(diǎn)位置已知,下一跳節(jié)點(diǎn)為目標(biāo)節(jié)點(diǎn)方向的一跳鄰居節(jié)點(diǎn).其特點(diǎn)為不需要路徑的建立和維持,同時不需要存儲各類路由信息,在快速變化的環(huán)境里具有很好的適應(yīng)性.
(6)層次式路由.這種路由方式通常按簇或者區(qū)域的方式將整個網(wǎng)絡(luò)劃分為多個子網(wǎng)絡(luò),不同子網(wǎng)絡(luò)內(nèi)部或者子網(wǎng)絡(luò)之間視層次結(jié)構(gòu)可按不同的方式進(jìn)行路由.
表1 針對各類MANET 路由協(xié)議做出了特點(diǎn)總結(jié)以及優(yōu)勢缺陷的對比.靜止式協(xié)議由于缺乏對變化的處理能力,所以并不適合拓?fù)渥兓斓木W(wǎng)絡(luò);主動式協(xié)議在進(jìn)行路由選擇時能根據(jù)定期維護(hù)的路由表進(jìn)行快速地匹配轉(zhuǎn)發(fā),然而當(dāng)網(wǎng)絡(luò)規(guī)模較大時,其維護(hù)路由表的控制開銷大.更重要的是,主動式協(xié)議在大規(guī)模網(wǎng)絡(luò)里收斂時間較長,對于網(wǎng)絡(luò)變化的反應(yīng)較慢,在拓?fù)淇焖僮兓那闆r下,網(wǎng)絡(luò)節(jié)點(diǎn)可能無法及時獲取最新的拓?fù)湫畔7];被動式協(xié)議雖然不需要節(jié)點(diǎn)維護(hù)路由表,然而源節(jié)點(diǎn)在轉(zhuǎn)發(fā)數(shù)據(jù)前需要首先發(fā)起路由請求,等待其余節(jié)點(diǎn)回復(fù),建立完整的傳輸路徑后再開始傳輸,會產(chǎn)生較長的傳輸時延,不適用于實(shí)時數(shù)據(jù)的傳輸.
表1 MANET 路由協(xié)議對比
混合式路由對主動式的開銷問題和反應(yīng)式的時延問題進(jìn)行了一定的平衡.相較于主動式路由,混合式路由可以大大減少控制消息的數(shù)量,因?yàn)榫W(wǎng)絡(luò)僅需要在每個域內(nèi)部節(jié)點(diǎn)之間維護(hù)更新的拓?fù)湫畔?相較于被動式路由,混合式路由能有效提升域內(nèi)路由的速度.然而當(dāng)數(shù)據(jù)傳輸建立在屬于不同域的節(jié)點(diǎn)間時,該類協(xié)議依舊會由于網(wǎng)絡(luò)以反應(yīng)性方式搜索路徑而引入明顯的延遲.
基于地理位置的路由協(xié)議既不需要節(jié)點(diǎn)主動維護(hù)路由表,同時在節(jié)點(diǎn)需要傳輸時能根據(jù)地理位置快速決定下一跳,因此在MANET 里具有優(yōu)良的表現(xiàn).然而由于每個節(jié)點(diǎn)是根據(jù)地理位置進(jìn)行下一跳的選擇,易出現(xiàn)局部最優(yōu)、路由環(huán)路等問題.所以其應(yīng)用需要對下一跳的選擇算法進(jìn)行精細(xì)的設(shè)計.其次,在實(shí)際無線信道中位置信息的精確度會受信號的衰減、噪聲干擾等而出現(xiàn)一定的偏差,也會對數(shù)據(jù)轉(zhuǎn)發(fā)產(chǎn)生影響.
層次式路由在實(shí)際中較適合在大規(guī)模網(wǎng)絡(luò)中部署.然而由于節(jié)點(diǎn)的移動性,需要詳細(xì)考慮簇的動態(tài)組成以提高適應(yīng)網(wǎng)絡(luò)變化的能力[8].
傳統(tǒng)MANET 路由協(xié)議雖然針對網(wǎng)絡(luò)特點(diǎn)進(jìn)行了相應(yīng)設(shè)計,但各自存在著應(yīng)用的缺陷.其根源在于無論是哪一種協(xié)議,網(wǎng)絡(luò)整體基于對等式結(jié)構(gòu)建立,端到端的路徑需要通過每個節(jié)點(diǎn)根據(jù)本地信息獨(dú)立選擇下一跳拼接組合.為了獲取路由所需信息,各節(jié)點(diǎn)需要自身感知整個網(wǎng)絡(luò)狀態(tài),通過其他節(jié)點(diǎn)的反饋建立傳輸路徑.由于各節(jié)點(diǎn)難以實(shí)現(xiàn)輕便快速的通信,無線網(wǎng)絡(luò)里的信道資源難以高效合理地分配,易造成鏈路負(fù)載不均、網(wǎng)絡(luò)堵塞等問題[9],無法為應(yīng)用流量提供高質(zhì)量的服務(wù)質(zhì)量(quality of service,QoS)保障;此外,MANET路由協(xié)議對于不同應(yīng)用的流量難以提供差異性的服務(wù),對于多應(yīng)用的服務(wù)能力較差.這些原因?qū)е翸ANET路由協(xié)議在實(shí)際中能提供的服務(wù)質(zhì)量有限,難以達(dá)到預(yù)期效果.
當(dāng)今社會對網(wǎng)絡(luò)的業(yè)務(wù)需求日益增多,然而傳統(tǒng)網(wǎng)絡(luò)開發(fā)需要通過定制硬件來實(shí)現(xiàn)不同的網(wǎng)絡(luò)功能,同時設(shè)計大量的特定網(wǎng)絡(luò)協(xié)議進(jìn)行控制.這既增加了開發(fā)成本,也加大了人工管理的難度[10].SDN 提倡網(wǎng)絡(luò)實(shí)行集中式控制并部署運(yùn)行標(biāo)準(zhǔn)化協(xié)議的硬件設(shè)備,被認(rèn)為是突破傳統(tǒng)分布式網(wǎng)絡(luò)瓶頸的有效方案.如圖1所示,SDN 架構(gòu)從上至下依次分為應(yīng)用層、控制層、數(shù)據(jù)層3 層,其解耦傳統(tǒng)轉(zhuǎn)發(fā)設(shè)備的控制邏輯和數(shù)據(jù)邏輯,構(gòu)建了一個邏輯上集中的控制平面以進(jìn)行基于網(wǎng)絡(luò)全局信息的轉(zhuǎn)發(fā)行為決策,實(shí)現(xiàn)網(wǎng)絡(luò)可編程化以動態(tài)制定差異化的服務(wù)策略,最終適配不同上層應(yīng)用需求.
圖1 SDN 架構(gòu)
應(yīng)用層主要由網(wǎng)絡(luò)應(yīng)用組成,負(fù)責(zé)根據(jù)業(yè)務(wù)需求制定流量策略,并通過北向接口在一個抽象網(wǎng)絡(luò)上進(jìn)行操作,實(shí)現(xiàn)相關(guān)網(wǎng)絡(luò)應(yīng)用;控制層主要負(fù)責(zé)通過南向接口與數(shù)據(jù)層設(shè)備進(jìn)行交互,收集鏈路端口等信息構(gòu)建全局網(wǎng)絡(luò)視圖,從而可視化網(wǎng)絡(luò)資源并將其提供給應(yīng)用層,使得網(wǎng)絡(luò)能從全局角度針對性地規(guī)劃各應(yīng)用流量傳輸路徑;轉(zhuǎn)發(fā)層由底層轉(zhuǎn)發(fā)設(shè)備組成,負(fù)責(zé)根據(jù)控制層下發(fā)的流表交換處理數(shù)據(jù).
SDN 分離了控制層與數(shù)據(jù)層,不僅能從全局角度規(guī)劃流量路徑,同時數(shù)據(jù)僅在單層轉(zhuǎn)發(fā),減小了網(wǎng)絡(luò)時延和資源浪費(fèi);SDN 還使用了流表指導(dǎo)轉(zhuǎn)發(fā)設(shè)備工作,加快了對流量的執(zhí)行速度[11];此外SDN 使用標(biāo)準(zhǔn)化協(xié)議管理網(wǎng)絡(luò),不僅簡化了管理難度,同時加強(qiáng)了網(wǎng)絡(luò)對異構(gòu)網(wǎng)絡(luò)和多應(yīng)用服務(wù)的管理能力.網(wǎng)絡(luò)可對全網(wǎng)設(shè)備進(jìn)行全局統(tǒng)一管理和動態(tài)配置,從而實(shí)現(xiàn)靈活高效的資源分配和協(xié)同[12].這些對于MANET 為各種戰(zhàn)術(shù)任務(wù)提供高質(zhì)量的QoS 路由保障都是很好的補(bǔ)充.
由于MANET 的高度分布式性質(zhì),每個節(jié)點(diǎn)只能根據(jù)本地信息實(shí)現(xiàn)局部路徑最優(yōu),而難以達(dá)到全局最優(yōu).即使是針對不同流量的QoS 路由方案,也會出現(xiàn)如QoS 需求沖突、流量管理策略難以更改等問題[13].而由于全局視圖的存在,SDN 在進(jìn)行路由決策時能考慮到網(wǎng)絡(luò)的流量分布,合理調(diào)控不同應(yīng)用流量的傳輸路徑,在提供優(yōu)質(zhì)的路由決策的同時減小網(wǎng)絡(luò)堵塞發(fā)生的可能[14];其次,SDN 通過控制器下發(fā)流表,可以減小各節(jié)點(diǎn)維護(hù)路由表的控制開銷或者源節(jié)點(diǎn)尋路的較長時延;最后,有電池電量限制的便攜式節(jié)點(diǎn)的工作被大大簡化,減小了電池電量的消耗.
近來已有研究致力于利用SDN 進(jìn)行MANET 的路由優(yōu)化,并在可靠性、時延、吞吐量等方面帶來了不錯的提升.作為這方面的一個先驅(qū),文獻(xiàn)[15]實(shí)現(xiàn)了一個SDN 和MANET 結(jié)合的簡單原型,模擬了無線網(wǎng)絡(luò)中可能出現(xiàn)的鏈路斷開/恢復(fù)的過程,通過與最優(yōu)鏈路狀態(tài)路由協(xié)議(optimized link state routing,OLSR)進(jìn)行對該變化的反應(yīng)時間比對,證明了SDN 加快了網(wǎng)絡(luò)對鏈路變化的反應(yīng)速度,并提升了網(wǎng)絡(luò)的總吞吐量;文獻(xiàn)[16]利用SDN 構(gòu)建全局視圖,在此基礎(chǔ)上進(jìn)行相應(yīng)傳輸路徑的計算并下發(fā)給請求節(jié)點(diǎn),而后通過和OLSR、AODV 等多種MANET 路由協(xié)議比對,證明了SDN 路由在無線網(wǎng)絡(luò)里的優(yōu)越性.除此之外,還有許多研究在如傳輸成功率、時延等QoS 要求或者視頻傳輸、災(zāi)區(qū)通信等具體應(yīng)用方面取得了不錯的實(shí)驗(yàn)成果.文獻(xiàn)[17]面向?yàn)?zāi)區(qū)通信場景,對于有時延、傳輸成功率、設(shè)備電量等限制要求的網(wǎng)絡(luò)流量,將SDN 與MANET 結(jié)合,并應(yīng)用了優(yōu)先級算法,很好地降低了節(jié)點(diǎn)移動性對用戶體驗(yàn)產(chǎn)生的不良影響,保障了視頻流量的QoS 質(zhì)量;文獻(xiàn)[18]結(jié)合SDN 與MANET 進(jìn)行水電站移動監(jiān)控.其將樹莓派與各種傳感器集成到低成本硬件中,組成負(fù)責(zé)數(shù)據(jù)采集的MANET 節(jié)點(diǎn),并通過Ad hoc 協(xié)議進(jìn)行組網(wǎng).此外,每個MANET 節(jié)點(diǎn)都配備了OpenFlow 交換機(jī)軟件,以實(shí)現(xiàn)SDN 的集中控制.最后,其對OpenFlow 協(xié)議進(jìn)行了擴(kuò)展,提供移動性和敏感性操縱等物理動作,實(shí)現(xiàn)了水電站的移動監(jiān)控.文獻(xiàn)[19]針對流媒體傳輸,利用網(wǎng)絡(luò)演算理論求解了流QoS 參數(shù)的確定性上界,并進(jìn)行了歸一化,建立多約束QoS 資源分配模型;此外其設(shè)計并實(shí)現(xiàn)了包括流表調(diào)度模型、路由功能、測量轉(zhuǎn)發(fā)模塊的基于SDN 的流媒體網(wǎng)絡(luò)QoS 路由系統(tǒng),提出了基于網(wǎng)絡(luò)演算的多約束QoS 路由算法.實(shí)驗(yàn)結(jié)果表明其提出的多約束QoS 資源分配模型和基于SDN 的多約束集中QoS 路由算法具有良好的性能.
下面就相關(guān)路由研究進(jìn)行分類介紹:
最短路由一般針對帶寬、跳數(shù)、時延等不同優(yōu)化目標(biāo)選取鏈路權(quán)重式,按Dijkstra 算法選出最佳路徑進(jìn)行數(shù)據(jù)傳輸.文獻(xiàn)[20]從拓?fù)浒l(fā)現(xiàn)、路徑請求、數(shù)據(jù)傳輸、網(wǎng)絡(luò)更新等方面進(jìn)行了詳細(xì)設(shè)計,以剩余電量作為下一跳節(jié)點(diǎn)的選擇標(biāo)準(zhǔn)選擇路徑,最終相較于OLSR、AODV,提升了網(wǎng)絡(luò)生存時間.
SDN 能根據(jù)從數(shù)據(jù)平面收集的網(wǎng)絡(luò)信息合理規(guī)劃鏈路資源,為不同應(yīng)用流量進(jìn)行優(yōu)先級路由服務(wù).文獻(xiàn)[21]應(yīng)用SDN 進(jìn)行MANET 的流量調(diào)度,提出了路由算法RaDRT:SDN 控制器會通過定期收集以及事件驅(qū)動兩種方式定期更新網(wǎng)絡(luò)狀態(tài).在最初選路時,控制器會根據(jù)鏈路的可用帶寬,并驗(yàn)證其長期連通性來選擇穩(wěn)定高速率的路徑;在傳輸過程中,控制器會再次計算最佳路徑以應(yīng)對如鏈路已飽和或不可用等會影響QoS 的突發(fā)事件.如果路徑已經(jīng)飽和,控制器會按10% 的步幅限制其他低優(yōu)先級發(fā)送節(jié)點(diǎn)的傳輸吞吐量,以保障高優(yōu)先級流量的QoS 需求.仿真結(jié)果顯示RaDRT 有效提高了吞吐量,同時能為高優(yōu)先級流量提供良好的服務(wù)質(zhì)量.
對于有時延要求的實(shí)時音頻流量,文獻(xiàn)[22]通過分析控制器從數(shù)據(jù)平面節(jié)點(diǎn)收集到的流信息,對控制數(shù)據(jù)、音頻數(shù)據(jù)等不同種類的流量賦予不同的優(yōu)先級,解決了網(wǎng)絡(luò)由于需要支持不同應(yīng)用而難以有效管理和分配資源的問題,同時滿足了對時延敏感的實(shí)時數(shù)據(jù)要求.
為了解決控制器和數(shù)據(jù)平面頻繁交互的開銷問題,文獻(xiàn)[23]結(jié)合SDN 提出了一種層次式的中心化路由協(xié)議CATMAN.數(shù)據(jù)層分為兩種網(wǎng)絡(luò)元素,一種為只具有短距離通信接口的普通節(jié)點(diǎn)(NN),另一種為同時具有短距離和長距離通信接口的fog 節(jié)點(diǎn)(FN).NN 以主動廣播的方式維持其2 跳以內(nèi)鄰居節(jié)點(diǎn)的信息,每個NN 需要在2 跳內(nèi)找到一個FN,當(dāng)在2 跳內(nèi)無FN時則廣播自己的鄰居節(jié)點(diǎn)消息,離其最近的FN 收到后則會根據(jù)此消息構(gòu)造網(wǎng)絡(luò)局部視圖.在整個網(wǎng)絡(luò)里,SDN 控制器只和FN 交互,構(gòu)造網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)并下發(fā)相應(yīng)流表到FN.當(dāng)節(jié)點(diǎn)間通信時,若源節(jié)點(diǎn)自身有目的節(jié)點(diǎn)的信息則直接根據(jù)路由表通信,否則發(fā)送路由請求信息到自己的所屬的FN,由FN 負(fù)責(zé)查詢目的節(jié)點(diǎn)的信息,若FN 發(fā)現(xiàn)兩節(jié)點(diǎn)都是自己負(fù)責(zé)的NN,則返回路由回復(fù)信息,否則查詢控制器得到路徑,而后發(fā)送路由回復(fù)到源節(jié)點(diǎn).這種在數(shù)據(jù)平面分層的方法,有效減少了控制器和數(shù)據(jù)平面節(jié)點(diǎn)的交互開銷.實(shí)驗(yàn)表明CATMAN 的控制開銷要明顯低于BATMAN 協(xié)議,同時只造成了可忽略的時延增長.
文獻(xiàn)[24]在思考SDN 與傳統(tǒng)MANET 結(jié)合的方法時,提出了SDN 結(jié)合簇的方法:簇間路由由SDN控制器負(fù)責(zé),而簇內(nèi)則按MANET 方法進(jìn)行組織.當(dāng)有數(shù)據(jù)需要跨簇時,控制器首先計算流量需要經(jīng)過的簇的順序,而后反饋給發(fā)送方.發(fā)送方以此作為根據(jù)進(jìn)行簇間的路由,在簇內(nèi)則根據(jù)不同簇的特點(diǎn),以特定的路由協(xié)議方法進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā).文獻(xiàn)[25]也結(jié)合了簇與SDN,簇頭負(fù)責(zé)收集簇內(nèi)信息和簇內(nèi)路由,控制器則通過簇頭構(gòu)建全網(wǎng)抽象視圖提供跨簇路由服務(wù).而后依次提出了RMCMS、PMCMS 以及MPMCMS 三種多播路由方法,前兩種分別通過反應(yīng)式和主動式降低開銷、減少時延,而M-PMCMS 在網(wǎng)絡(luò)變化后使用增量方法僅發(fā)送更改的信息到控制器以減少更新的控制開銷,同時保留主動式路由的低時延優(yōu)勢.仿真結(jié)果顯示相較于MAODV,M-PMCMS 減少了時延以及丟包率.
多路徑路由相較于單路徑路由對于鏈路狀態(tài)變化具有更好的平滑能力.其根據(jù)網(wǎng)絡(luò)資源信息,將通信流量分散至多條滿足業(yè)務(wù)要求的路徑上傳輸,在提升網(wǎng)絡(luò)鏈路資源利用率的同時,能減輕MANET 易出現(xiàn)的鏈路狀態(tài)變化所造成的傳輸波動,提高可靠性和吞吐量.文獻(xiàn)[26]結(jié)合SDN 與MPTCP,使得移動節(jié)點(diǎn)間的數(shù)據(jù)通過部署了SDN 設(shè)備的無人機(jī)和衛(wèi)星兩種路徑進(jìn)行傳輸,避免了當(dāng)移動節(jié)點(diǎn)因自身移動而脫離無人機(jī)發(fā)信范圍時發(fā)生的服務(wù)中斷問題;SDN 控制器負(fù)責(zé)根據(jù)網(wǎng)絡(luò)流量分布情況,應(yīng)用FDM(flow deviation method)算法[27]進(jìn)行帶寬資源的合理分配,最終提升了傳輸?shù)耐掏铝?
文獻(xiàn)[28]針對距離相近的多架無人機(jī)可能被同一惡意節(jié)點(diǎn)干擾,從而導(dǎo)致相近鏈路都被惡意消耗,同一路由的多條路徑都被干擾的問題,設(shè)計了一種改進(jìn)的多路徑路由算法:控制器首先根據(jù)全局視圖算出最優(yōu)路徑,而后算出多條與最優(yōu)路徑不相交、同時具有較遠(yuǎn)距離的路徑,最終有效提高了數(shù)據(jù)包的傳輸成功率,但增加了一定的時延.
戰(zhàn)場網(wǎng)絡(luò)組成元素復(fù)雜,各種標(biāo)準(zhǔn)的通信設(shè)備已經(jīng)大量部署,若是要加入SDN 元素,則需考慮到成本、部署復(fù)雜度等問題.比較實(shí)際的方案是在現(xiàn)有網(wǎng)絡(luò)部分關(guān)鍵節(jié)點(diǎn)部署SDN 設(shè)備,其余仍然使用傳統(tǒng)設(shè)備協(xié)同實(shí)現(xiàn)戰(zhàn)術(shù)任務(wù).文獻(xiàn)[29]將SDN 設(shè)備部署在具有較強(qiáng)通信能力的地面節(jié)點(diǎn),負(fù)責(zé)將網(wǎng)絡(luò)末端偵查無人機(jī)節(jié)點(diǎn)拍攝的視頻傳輸給指揮中心,取得了良好的基于用戶反饋的主觀指標(biāo)MOS(mean opinion score).
文獻(xiàn)[30]將SDN 引入了網(wǎng)絡(luò)路由,設(shè)計了一種基于SDN 轉(zhuǎn)發(fā)和開放最短路徑優(yōu)先協(xié)議(open shortest path first,OSPF)的混合路由轉(zhuǎn)發(fā)算法HRFA.這種混合路由將網(wǎng)絡(luò)節(jié)點(diǎn)分為常規(guī)節(jié)點(diǎn)和SDN 轉(zhuǎn)發(fā)節(jié)點(diǎn),針對不同的網(wǎng)絡(luò)節(jié)點(diǎn)選擇有效的轉(zhuǎn)發(fā)策略,以求在利用SDN 提高網(wǎng)絡(luò)的路由性能時與傳統(tǒng)組網(wǎng)節(jié)點(diǎn)相兼容.結(jié)果表明,與傳統(tǒng)的路由轉(zhuǎn)發(fā)方法相比,HRFA 可以很好地提高吞吐量,減少時延和丟包率.
表2 給出了以上相關(guān)路由研究的總結(jié).
表2 SDN 在MANET 路由的相關(guān)路由研究
SDN 交換設(shè)備依賴流表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā).當(dāng)本地?zé)o匹配結(jié)果時,數(shù)據(jù)層設(shè)備需要通過南向接口請求控制器下發(fā)新的流表.如圖2所示,整個路由轉(zhuǎn)發(fā)過程需要依次經(jīng)過請求流表、流表下發(fā)、轉(zhuǎn)發(fā)數(shù)據(jù)3 個步驟.
圖2 流表請求過程
將SDN 應(yīng)用至戰(zhàn)術(shù)MANET 路由的問題主要如下面5 個.
MANET 對等式結(jié)構(gòu)的高健壯性是其能在機(jī)動通信場景里得到廣泛的應(yīng)用的一個主要原因.在MANET內(nèi),不存在中心節(jié)點(diǎn),每個節(jié)點(diǎn)通過自身發(fā)送探測包對網(wǎng)絡(luò)進(jìn)行感知,基于節(jié)點(diǎn)間的反饋信息進(jìn)行路由決策,不存在單點(diǎn)失效(single point of failure,SPoF)問題,對于單個節(jié)點(diǎn)的離開或加入具有一定的自主調(diào)整能力.而SDN 所主張的由邏輯集中的控制層進(jìn)行全網(wǎng)流量的路徑規(guī)劃,雖然能從網(wǎng)絡(luò)全局角度出發(fā)合理分配資源,但同時極大突出了控制層的角色.控制層需要對網(wǎng)絡(luò)所有設(shè)備統(tǒng)一管理,收集端口信息、鏈路狀態(tài)信息并通過下發(fā)流表的方式控制數(shù)據(jù)層流量的轉(zhuǎn)發(fā),隨著平面的解耦,轉(zhuǎn)發(fā)和控制平面之間的連接是否處于活動狀態(tài)極為重要[31].而在機(jī)動通信場景里,節(jié)點(diǎn)的移動性和信道的不可靠性難以保證控制器可以和數(shù)據(jù)層進(jìn)行穩(wěn)定的交互,狀態(tài)信息收集、流表下發(fā)在網(wǎng)絡(luò)狀態(tài)較差時可能難以保證.因外界干擾,造成控制器故障中斷服務(wù)時會數(shù)據(jù)層會無法及時收到有效的流表,極可能造成網(wǎng)絡(luò)大面積癱瘓.此時,數(shù)據(jù)平面的路由轉(zhuǎn)發(fā)無法進(jìn)行,戰(zhàn)術(shù)任務(wù)難以開展.
平面的分離意味著平面之間的額外通信需求,這可能增加轉(zhuǎn)發(fā)的網(wǎng)絡(luò)流量的延遲[32].SDN 設(shè)備完全按照控制器下發(fā)的流表匹配數(shù)據(jù)包,對流量進(jìn)行轉(zhuǎn)發(fā)、丟棄等相應(yīng)動作.控制器為流設(shè)置路徑時,需要和該路徑上所有轉(zhuǎn)發(fā)節(jié)點(diǎn)交互,配置每個節(jié)點(diǎn)的相關(guān)流表項.在這種情況下,SDN 面臨的主要挑戰(zhàn)是控制器需要在多個交換設(shè)備間實(shí)現(xiàn)快速更新,以減少網(wǎng)絡(luò)收斂時間[33].然而相較于有線網(wǎng)絡(luò),MANET 一是沒有穩(wěn)定充足的帶寬資源支持,二是控制器所部署節(jié)點(diǎn)和不同位置的節(jié)點(diǎn)之間的交互時長會存在一定的差異,部分節(jié)點(diǎn)需要通過多跳連接和控制器進(jìn)行數(shù)據(jù)的交換.這些特點(diǎn)都可能會影響控制器更新流表的有效性.
MANET 節(jié)點(diǎn)都具有一定的移動性,當(dāng)其快速運(yùn)動時鏈路狀態(tài)會頻繁地變化,造成整個網(wǎng)絡(luò)具有極強(qiáng)的不穩(wěn)定性.控制器為了維持有效全面的全局網(wǎng)絡(luò)視圖,需要頻繁與所有節(jié)點(diǎn)進(jìn)行交互,收集最新的網(wǎng)絡(luò)信息如端口數(shù)據(jù)、鏈路狀態(tài)等.該過程會產(chǎn)生大量的控制開銷,在帶寬較窄,網(wǎng)絡(luò)資源有限的戰(zhàn)場通信環(huán)境會對網(wǎng)絡(luò)造成極大的開銷負(fù)擔(dān).然而目前兩個平面之間的數(shù)據(jù)路由和負(fù)載均衡的組合問題缺乏實(shí)際研究,平面間的通信開銷也沒有得到很好的評估[34].
在實(shí)際應(yīng)用中,考慮到現(xiàn)有設(shè)備已大量部署,SDN設(shè)備的普及需要經(jīng)歷較長的過渡期,部署數(shù)量,部署位置等問題都需要細(xì)致考慮.此外,如何在加入部分SDN設(shè)備優(yōu)化網(wǎng)絡(luò)的同時,使得現(xiàn)有網(wǎng)絡(luò)設(shè)備與之協(xié)同工作也是需要思考的問題.如今雖然已有方案提議控制器和節(jié)點(diǎn)間維持集中控制組網(wǎng),節(jié)點(diǎn)間維持自組織網(wǎng)絡(luò),但仍然缺乏與之相適應(yīng)的路由機(jī)制[1].
擴(kuò)展性問題是大規(guī)模網(wǎng)絡(luò)的一個常見問題.在SDN網(wǎng)絡(luò)里,當(dāng)節(jié)點(diǎn)數(shù)量增加,網(wǎng)絡(luò)規(guī)模增大時,控制層的負(fù)擔(dān)也會隨之加重,每次網(wǎng)絡(luò)更新時都需要處理大量的控制信息,而戰(zhàn)場環(huán)境匱乏的帶寬資源無法為控制器提供強(qiáng)有力的支撐.除此之外,當(dāng)網(wǎng)絡(luò)規(guī)模擴(kuò)張時,網(wǎng)絡(luò)的收斂速度會更加緩慢,影響到對上層應(yīng)用的服務(wù)質(zhì)量.
SDN 技術(shù)最初是針對資源充足、網(wǎng)絡(luò)穩(wěn)定的傳統(tǒng)互聯(lián)網(wǎng)進(jìn)行設(shè)計,而無固定設(shè)施、多跳傳輸、帶寬資源匱乏、節(jié)點(diǎn)具有移動性等是戰(zhàn)術(shù)MANET 特點(diǎn).要利用SDN 技術(shù)改善戰(zhàn)術(shù)MANET 路由,需要針對MANET的網(wǎng)絡(luò)特點(diǎn),對SDN 結(jié)構(gòu)做出相應(yīng)的修改或者添加額外的功能.
分布式控制通過增加控制器的數(shù)量,利用冗余性將控制負(fù)擔(dān)分散從而適配大規(guī)模網(wǎng)絡(luò).在SDN 里,分布式控制平面可以是控制器的集中式群集,也可以是物理上分布式的元素集合.一般第一種選擇可以為設(shè)備密集的數(shù)據(jù)中心提供高吞吐量,但后者對各種故障具有更大的彈性,更適合不確定度高的戰(zhàn)場環(huán)境.
多控制器可以有效解決SD-MANET 的可靠性、擴(kuò)展性問題.相較于單控制器,多控制器通過管理一定區(qū)域內(nèi)的小數(shù)量設(shè)備來分擔(dān)控制平面的工作,同時可以通過將多個控制器分配給一個節(jié)點(diǎn)來提高兩層連接的穩(wěn)定性.這種方式OpenFlow 1.3[35]已提供支持,控制器共有3 種角色:Master、Slave、Equal.一個交換機(jī)只能與一個Master 控制器連接,當(dāng)控制器角色為Equal 時,各個控制器作用相同,都可以對設(shè)備進(jìn)行操作.當(dāng)節(jié)點(diǎn)難以和Master 控制器取得聯(lián)系時,可以選擇從其他預(yù)先分配的控制器中選擇一個作為替代,以保證流表的及時下發(fā).
文獻(xiàn)[36]提出兩種戰(zhàn)場分布式控制SDN 網(wǎng)絡(luò)結(jié)構(gòu).如圖3所示,分布式控制可以按照左側(cè)聯(lián)合式和右側(cè)層次式兩種結(jié)構(gòu)進(jìn)行組織.在聯(lián)合式結(jié)構(gòu)里,多個地位對等的控制器組成控制平面,互相同步網(wǎng)絡(luò)信息.一般各控制器各自負(fù)責(zé)一定區(qū)域內(nèi)的轉(zhuǎn)發(fā)設(shè)備的信息收集,路徑規(guī)劃和流表下發(fā);層次式機(jī)構(gòu)則由局部控制器和全局控制器組成.以3 層結(jié)構(gòu)為例,所有數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備組成數(shù)據(jù)平面,多個局部控制器組成局部控制層,而在局部控制器一層上一個總的控制器組成第3 層總控制層.在此結(jié)構(gòu)中,全局控制器負(fù)責(zé)根據(jù)局部控制器上報的局部網(wǎng)絡(luò)信息構(gòu)造全局網(wǎng)絡(luò)視圖,而局部控制器則負(fù)責(zé)與負(fù)責(zé)區(qū)域內(nèi)的節(jié)點(diǎn)進(jìn)行交互,以此構(gòu)造局部拓?fù)?下發(fā)區(qū)域內(nèi)部所有節(jié)點(diǎn)的流表;此外,總控制器負(fù)責(zé)給局部控制器下發(fā)域間的流表項,以引導(dǎo)域間的流量.
圖3 聯(lián)合式控制與層次式控制
當(dāng)有足夠的資源時,控制器可以維持網(wǎng)絡(luò)全局詳細(xì)拓?fù)湫畔?為所有數(shù)據(jù)流提供細(xì)粒度的服務(wù).但在帶寬資源不足,控制器處理能力有限時,維持全局網(wǎng)絡(luò)的詳細(xì)拓?fù)浣Y(jié)構(gòu)并不是必須的.文獻(xiàn)[37]針對鏈路資源有限的網(wǎng)絡(luò)環(huán)境在層次式結(jié)構(gòu)里,應(yīng)用了網(wǎng)絡(luò)抽象方法,如圖4所示,每個域被抽象為一臺多端口的交換機(jī),總控制器只需要通過局部控制器上報的域邊界端口鏈路情況提供域間路由服務(wù),而域內(nèi)路由則由局部控制器負(fù)責(zé),降低了網(wǎng)絡(luò)開銷.此外,當(dāng)應(yīng)用網(wǎng)絡(luò)抽象時,這種層次式結(jié)構(gòu)可以提高戰(zhàn)場網(wǎng)絡(luò)的機(jī)密性,各局部控制器只知道所負(fù)責(zé)局部拓?fù)?而不需要請求其他域的內(nèi)部信息;全局控制器也只知道抽象的全局拓?fù)湫畔?并不保留各域的內(nèi)部構(gòu)成.這種結(jié)構(gòu)能有效滿足聯(lián)合作戰(zhàn)的安全性和機(jī)密性需求,使得不同來源的部隊之間遵守NTK(need-to-know)原則[38].
圖4 網(wǎng)絡(luò)抽象
分布式控制雖然可以改善戰(zhàn)術(shù)MANET 的擴(kuò)展性和可靠性,但依舊存在著問題.文獻(xiàn)[39]詳細(xì)研究了分布式控制的交換機(jī)遷移過程,提出當(dāng)新舊控制器間的控制權(quán)交接、節(jié)點(diǎn)和新控制器建立連接兩個過程都會產(chǎn)生大量的控制開銷,消耗一定的帶寬資源并伴隨著一定的時延;此外,各控制器之間需要交互同步網(wǎng)絡(luò)狀態(tài)信息以滿足跨域請求,產(chǎn)生的控制開銷對于資源缺乏的戰(zhàn)術(shù)MANET 是較為沉重的負(fù)擔(dān),需要考慮多長時間各控制器進(jìn)行網(wǎng)絡(luò)視圖的同步,協(xié)調(diào)控制器做出的管理決策[40].最后,多控制器的數(shù)量、部署位置會影響網(wǎng)絡(luò)多個方面,例如性能指標(biāo)、可用性、容錯、收斂時間等[41].因此,在MANET 里確定SDN 控制器的數(shù)量和放置是需要細(xì)致考慮的問題之一.文獻(xiàn)[42-44]對該問題進(jìn)行了詳細(xì)的分析研究,然而并不存在適用于任何網(wǎng)絡(luò)的固定規(guī)則.
控制層與數(shù)據(jù)層完全分離難以有效處理MANET的高變化性產(chǎn)生的問題,完全集中式的控制決定了每次相關(guān)鏈路發(fā)生變化,轉(zhuǎn)發(fā)設(shè)備必須要控制器下發(fā)新流表才能繼續(xù)工作.為了保留傳統(tǒng)MANET 的健壯性,同時利用SDN 的流量調(diào)控能力,混合式控制改變了SDN 的控制/數(shù)據(jù)平面完全分離理念,保留了每個轉(zhuǎn)發(fā)設(shè)備一定的控制邏輯,將控制分布在網(wǎng)絡(luò)每一處以提升對變化的反應(yīng)能力.
現(xiàn)在混合式控制主要有兩種方式,一種為將傳統(tǒng)MANET 路由作為SDN 路由的備用手段,當(dāng)SDN 控制器失效時數(shù)據(jù)層節(jié)點(diǎn)本地啟用分布式路由.文獻(xiàn)[45]將AODV 路由協(xié)議與OpenFlow 結(jié)合,數(shù)據(jù)層節(jié)點(diǎn)定期向控制器發(fā)送鏈路狀態(tài)信息,控制器以全局視圖計算出最佳路徑并下發(fā)轉(zhuǎn)發(fā)規(guī)則至傳輸節(jié)點(diǎn).在控制器失效時,數(shù)據(jù)層節(jié)點(diǎn)自身啟動AODV 路由機(jī)制,進(jìn)行分布式路由以維持網(wǎng)絡(luò)工作.
另一種為數(shù)據(jù)平面配合控制器的全局視圖進(jìn)行路由.文獻(xiàn)[46]指出由控制器負(fù)責(zé)網(wǎng)絡(luò)全部控制功能并不適合頻繁變化的網(wǎng)絡(luò),并提出了一種混合式控制的結(jié)構(gòu)HSAW:控制平面收集網(wǎng)絡(luò)全局信息,通過計算節(jié)點(diǎn)間發(fā)信范圍互相干擾的比例,設(shè)置權(quán)重對鏈路進(jìn)行評估,并將處理后的網(wǎng)絡(luò)抽象視圖通過控制信道下發(fā)給數(shù)據(jù)平面,數(shù)據(jù)層轉(zhuǎn)發(fā)設(shè)備據(jù)此進(jìn)行路由決策,通過數(shù)據(jù)信道進(jìn)行數(shù)據(jù)傳輸.仿真結(jié)果顯示,該混合控制結(jié)構(gòu)相較于完全分離的網(wǎng)絡(luò)結(jié)構(gòu),提升了移動網(wǎng)絡(luò)的傳輸成功率并降低了控制開銷.
文獻(xiàn)[47]為了改善無人機(jī)群網(wǎng)絡(luò)的可靠性,設(shè)計了Master、Slave 兩種基于SDN 的無人機(jī)結(jié)構(gòu).在整個無人機(jī)網(wǎng)絡(luò)中,每個簇由一個Master 節(jié)點(diǎn)和多個Slave 節(jié)點(diǎn)組成,其中Master 節(jié)點(diǎn)作為局部控制器,負(fù)責(zé)根據(jù)上層業(yè)務(wù)需求,對Slave 節(jié)點(diǎn)的運(yùn)動路線、資源分配等進(jìn)行統(tǒng)一規(guī)劃;簇成員根據(jù)Master 節(jié)點(diǎn)下發(fā)的各種策略規(guī)則進(jìn)行飛行軌跡的控制、傳輸路徑的計算等.每個無人機(jī)節(jié)點(diǎn)結(jié)構(gòu)相同,通過開啟或關(guān)閉相應(yīng)功能模塊從而在兩種角色中靈活切換,以解決Master 節(jié)點(diǎn)因電量限制、外來干擾攻擊等內(nèi)外因素導(dǎo)致的失效.網(wǎng)絡(luò)采用基于訂閱/發(fā)布通信模式的MQTT 協(xié)議[48],提高網(wǎng)絡(luò)對變化的反應(yīng)速度,靈活應(yīng)對無人機(jī)群拓?fù)涞念l繁變化,最終提高網(wǎng)絡(luò)可靠性以及生存周期.
Poularakis 等使用混合式控制提高SD-MANET 的可靠性,其首先在文獻(xiàn)[38]討論了SDN 在戰(zhàn)術(shù)MANET中的應(yīng)用前景,提出了一種層次式SD-MANET 結(jié)構(gòu),強(qiáng)調(diào)了SDN 混合控制和協(xié)同作戰(zhàn)的重要性.而后在文獻(xiàn)[49]中,在戰(zhàn)術(shù)MANET 的背景下具體實(shí)現(xiàn)了一種利用狀態(tài)機(jī)思想改進(jìn)的OpenFlow 擴(kuò)展協(xié)議Openstate[50]的靈活混合控制,為節(jié)點(diǎn)設(shè)計了本地備用路由規(guī)則以應(yīng)對鏈路失效,并對總的通信開銷進(jìn)行了數(shù)學(xué)優(yōu)化.在真實(shí)戰(zhàn)術(shù)自組織網(wǎng)絡(luò)數(shù)據(jù)集的仿真結(jié)果表明該方法最多可以將50%的數(shù)據(jù)包路由到其目的地,而控制開銷比集中式控制的SDN 網(wǎng)絡(luò)低一個數(shù)量級.此外,文獻(xiàn)[51]通過在手機(jī)和電腦上部署SDN 網(wǎng)絡(luò),驗(yàn)證了部署多控制器并不能很好解決SD-MANET 的可靠性問題,為此設(shè)計了一種結(jié)合分段路由的混合式控制架構(gòu):數(shù)據(jù)平面根據(jù)控制器下發(fā)的段列表確定下一跳,通過傳統(tǒng)路由協(xié)議進(jìn)行路由.文獻(xiàn)[52]面向現(xiàn)代作戰(zhàn)的聯(lián)合作戰(zhàn)需求,首先部署了多個物理上分布,邏輯上集中的控制器組成控制平面,分別放置在網(wǎng)絡(luò)的不同級別,如從指揮中心的云服務(wù)器、無線基礎(chǔ)設(shè)施節(jié)點(diǎn)、移動設(shè)備(車輛)等,用于對網(wǎng)絡(luò)進(jìn)行靈活控制.而為了在戰(zhàn)術(shù)MANET 場景里實(shí)現(xiàn)更高效可靠路由,其增加了在移動節(jié)點(diǎn)本地運(yùn)行的分布式路由機(jī)制來作為備用控制方法,通過應(yīng)用圖神經(jīng)網(wǎng)絡(luò)的變體圖注意力網(wǎng)絡(luò)(graph attention networks,GAT)來預(yù)測網(wǎng)絡(luò)動態(tài)和碎片事件,從而預(yù)先運(yùn)行分布式路由協(xié)議來重新計算路由路徑從而防止網(wǎng)絡(luò)故障發(fā)生.其仿真基于用于模擬真實(shí)戰(zhàn)術(shù)MANET 場景的戰(zhàn)術(shù)MANET 數(shù)據(jù)集,結(jié)果顯示該方法能以較小的輸入特征得到較高的預(yù)測準(zhǔn)確率,并有效應(yīng)對網(wǎng)絡(luò)變化.
混合式控制針對MANET 的特點(diǎn)進(jìn)行了相應(yīng)的整體結(jié)構(gòu)設(shè)計,理論上能結(jié)合MANET 的魯棒性和SDN的高效.但這種方法設(shè)計復(fù)雜且開銷高.數(shù)據(jù)層設(shè)備需要同時支持SDN 和傳統(tǒng)MANET 兩種控制邏輯,信息收集和路徑配置會造成更多的控制開銷.除此之外,這種方式對硬件也有額外的要求,在實(shí)際中生產(chǎn)支持兩種控制邏輯的設(shè)備會產(chǎn)生更多的制造成本.
傳統(tǒng)MANET 路由包括表驅(qū)動路由和源路由,其中在表驅(qū)動路由中,每個節(jié)點(diǎn)自身會維護(hù)一個路由表,并根據(jù)它進(jìn)行相應(yīng)數(shù)據(jù)包的轉(zhuǎn)發(fā).對于到來的數(shù)據(jù)包,節(jié)點(diǎn)可以快速匹配路由表實(shí)現(xiàn)對數(shù)據(jù)包的快速轉(zhuǎn)發(fā),然而這種方式需要定期更新路由表,造成的協(xié)議控制開銷較大.源路由則通過在源節(jié)點(diǎn)就定義好整條路徑,將中間所需要經(jīng)過的設(shè)備順序加在數(shù)據(jù)包上,避免了每個節(jié)點(diǎn)都需要維護(hù)、查詢路由表所產(chǎn)生的開銷.而傳統(tǒng)MANET 的源路由協(xié)議如DSR 需要在收到需求后廣播請求包進(jìn)行路徑尋找,并等待接收方回復(fù).這一過程對于請求方需要一定的等待時間,當(dāng)流量對時延敏感時更是難以滿足需求.
分段路由(segment routing,SR)利用源路由的思想,在源節(jié)點(diǎn)數(shù)據(jù)包上就配置完畢發(fā)送路徑,從而減少為中間節(jié)點(diǎn)配置流表項所帶來的開銷和時延;同時充分結(jié)合SDN 的中心化控制,避免傳統(tǒng)源路由尋路過程所造成的較長時延,實(shí)現(xiàn)了更簡單、更靈活的路由[53].如圖5,當(dāng)發(fā)送方A 請求服務(wù)時,控制器根據(jù)全局視圖計算合適路徑,并以段列表的方式告知A 所需經(jīng)過的鏈路.A 在數(shù)據(jù)包頭部附上標(biāo)簽,而后交付給對應(yīng)的下一跳節(jié)點(diǎn)B.B 收到該數(shù)據(jù)包后不需要查詢路由表,僅需要識別數(shù)據(jù)包標(biāo)簽對應(yīng)的鏈路,交付給相應(yīng)端口,直到傳輸給接收方C.在這一過程中,控制器不需要為路徑上所有節(jié)點(diǎn)配置流表項,有效減少了控制器配置路徑產(chǎn)生的時延;同時,當(dāng)網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時,對于正在服務(wù)的流,控制器只需要更改下發(fā)的段列表,從而避免修改所有相關(guān)設(shè)備的流表項,減少了額外的時間開銷,實(shí)現(xiàn)對網(wǎng)絡(luò)變化的快速反應(yīng)和輕便快速的路由更新[54].
圖5 分段路由
文獻(xiàn)[55] 針對機(jī)載骨干網(wǎng)(airborne backbone network,ABN),在使用層次式控制加強(qiáng)SD-ABN 可靠性的基礎(chǔ)上應(yīng)用了分段路由進(jìn)行轉(zhuǎn)發(fā)規(guī)則的下發(fā).SDABN 將控制層分為ABN 控制器和平臺控制器兩部分,分別承擔(dān)網(wǎng)絡(luò)總控制器和管理各飛行器的局部控制器的角色.網(wǎng)絡(luò)整體由控制節(jié)點(diǎn)、流量轉(zhuǎn)發(fā)節(jié)點(diǎn)以及連接末端子網(wǎng)的網(wǎng)關(guān)節(jié)點(diǎn)組成,為戰(zhàn)術(shù)網(wǎng)絡(luò)單元如飛行網(wǎng)絡(luò)、海上網(wǎng)絡(luò)、陸地網(wǎng)絡(luò)等提供彼此通信.該文獻(xiàn)對流表下發(fā)過程進(jìn)行了詳細(xì)的設(shè)計實(shí)現(xiàn),當(dāng)收到節(jié)點(diǎn)轉(zhuǎn)發(fā)請求后,平臺控制器會生成支持SR 的路徑計算單元通信協(xié)議(path computation element communication protocol,PCEP)消息將路由策略下發(fā)至請求節(jié)點(diǎn)對應(yīng)的SDN 節(jié)點(diǎn),由無線電模塊訪問無線信道發(fā)送至ABN 控制器.ABN 控制器計算出所需的多條可靠路徑后,最終將路由策略反向下發(fā)給請求節(jié)點(diǎn).實(shí)驗(yàn)結(jié)果表明SR 在網(wǎng)絡(luò)規(guī)模擴(kuò)大時能有效提升控制器更新效率并減少網(wǎng)絡(luò)收斂時間和控制開銷.
時延容忍網(wǎng)絡(luò)(delay tolerant network,DTN)最早是星際互聯(lián)網(wǎng)(interplanetary internet,PN)的體系結(jié)構(gòu),而后被擴(kuò)展到地面無線網(wǎng)絡(luò)等其它類型網(wǎng)絡(luò),旨在以存儲轉(zhuǎn)發(fā)的方式解決鏈路中斷以及間歇性連接之類的問題[56].取決于具體應(yīng)用類型,鏈接中斷的時間范圍從幾秒鐘到幾小時不等.在遇到這類情況時,DTN 節(jié)點(diǎn)會臨時存儲轉(zhuǎn)發(fā)數(shù)據(jù),直到可以將其轉(zhuǎn)發(fā)到下一個具有DTN 功能的節(jié)點(diǎn)或目標(biāo)節(jié)點(diǎn)為止.文獻(xiàn)[57] 利用DTN 處理鏈接中斷的能力彌補(bǔ)SDN 面對鏈路狀態(tài)變化的能力,定義了一種體系結(jié)構(gòu)解決方案.在該結(jié)構(gòu)中,數(shù)據(jù)層節(jié)點(diǎn)同時支持DTN 和SDN,并通過選舉算法產(chǎn)生Master 節(jié)點(diǎn)充當(dāng)控制器角色.Master 節(jié)點(diǎn)內(nèi)部的SDN 模塊主要負(fù)責(zé)收集全局鏈路狀態(tài)信息,而DTN 協(xié)調(diào)器模塊則通過SDN 控制器收集的數(shù)據(jù)來調(diào)度DTN節(jié)點(diǎn)之間的數(shù)據(jù)傳輸.數(shù)據(jù)層DTN 節(jié)點(diǎn)會在目標(biāo)節(jié)點(diǎn)不可訪問時臨時存儲延遲容忍數(shù)據(jù),并按照Master 節(jié)點(diǎn)下發(fā)的轉(zhuǎn)發(fā)規(guī)則將數(shù)據(jù)發(fā)送到目的地或鄰居節(jié)點(diǎn).仿真結(jié)果顯示針對戰(zhàn)術(shù)邊緣網(wǎng)絡(luò)視頻傳輸任務(wù),該結(jié)構(gòu)僅產(chǎn)生了少量的視頻停頓,比其他結(jié)構(gòu)具有更好的適應(yīng)性.
信息中心網(wǎng)絡(luò)(information centeric network,ICN)是一種以命名數(shù)據(jù)對象為中心的網(wǎng)絡(luò)結(jié)構(gòu).和IP 網(wǎng)絡(luò)以端口和主機(jī)名進(jìn)行尋址和路由的方式不同,ICN 通過數(shù)據(jù)復(fù)制,將有效數(shù)據(jù)緩存至節(jié)點(diǎn)內(nèi)部,以實(shí)現(xiàn)以INTEREST/DATA 消息為匹配規(guī)則的通信:消費(fèi)者通過發(fā)送INTEREST 消息(要檢索的命名數(shù)據(jù))來請求數(shù)據(jù),而生產(chǎn)者(或執(zhí)行網(wǎng)絡(luò)內(nèi)緩存和存儲的中間節(jié)點(diǎn))返回匹配的DATA 消息.ICN 通過緩存復(fù)制增強(qiáng)信息分布,能有效應(yīng)對通信服務(wù)中的斷開連接、中斷等問題[58].文獻(xiàn)[59]將SDN 與ICN 結(jié)合以解決戰(zhàn)術(shù)機(jī)動網(wǎng)絡(luò)的可靠性和安全性,其中ICN 主要體現(xiàn)在數(shù)據(jù)層,以提高故障發(fā)生時的傳輸可靠性并減少轉(zhuǎn)發(fā)時延(因?yàn)閿?shù)據(jù)被緩存在請求者附近);SDN 主要在控制平面中起著兩個關(guān)鍵作用:一是充當(dāng)網(wǎng)關(guān),實(shí)現(xiàn)ICN 數(shù)據(jù)包和IP 包的互相轉(zhuǎn)換;二是通過在數(shù)據(jù)層交換的INTEREST/DATA 消息來建立和控制所有網(wǎng)絡(luò)節(jié)點(diǎn)的交互模式.通過接收具有節(jié)點(diǎn)狀態(tài)的DATA 消息,SDN 控制器能夠感知網(wǎng)絡(luò)狀態(tài)并在發(fā)生擁塞/中斷之前過濾大型DATA 消息,從而實(shí)現(xiàn)路徑的優(yōu)化和開銷的降低.表3 給出了以上相關(guān)研究的總結(jié).
表3 問題以及方法相關(guān)研究
傳統(tǒng)MANET 路由協(xié)議雖然能實(shí)現(xiàn)戰(zhàn)場機(jī)動任務(wù)的通信要求,但其分布式性質(zhì)一定程度上限制了其在實(shí)際場景的表現(xiàn).SDN 作為集中式網(wǎng)絡(luò)體系結(jié)構(gòu),能從全局角度提升MANET 資源管理能力,為不同業(yè)務(wù)流量提供高質(zhì)量的QoS 路由服務(wù).但由于其集中式控制特點(diǎn),在改善網(wǎng)絡(luò)的同時也會帶來如可靠性、流表有效性等新的問題.目前雖然已有許多研究針對不同場景、不同應(yīng)用做出了相應(yīng)改進(jìn),但由于SDN 發(fā)展的時間較短,特別是在無線網(wǎng)絡(luò)研究不多,實(shí)際應(yīng)用還是有許多適應(yīng)性問題亟待解決,系統(tǒng)性的部署方案尚也欠缺.未來SDN在戰(zhàn)術(shù)MANET路由應(yīng)用中還有以下方面可以進(jìn)行研究:
(1)引入機(jī)器學(xué)習(xí)預(yù)測網(wǎng)絡(luò)未來狀態(tài)進(jìn)行故障避免.
目前結(jié)合SDN 和機(jī)器學(xué)習(xí)的路由研究大多應(yīng)用在路徑選擇上,往往通過輸入如鏈路狀態(tài)、流量矩陣等信息輸出傳輸路徑,且應(yīng)用場景幾乎在數(shù)據(jù)中心等較為穩(wěn)定的網(wǎng)絡(luò)中.而在戰(zhàn)術(shù)MANET 中,受具體任務(wù)牽引,MANET 節(jié)點(diǎn)的移動性具有一定的規(guī)律可循.所以除了進(jìn)行路徑選擇外,機(jī)器學(xué)習(xí)方法可以被用以針對SDN 缺乏處理MANET 節(jié)點(diǎn)頻繁移動特點(diǎn)的問題,預(yù)測如節(jié)點(diǎn)移動軌跡、未來鏈路狀態(tài)等信息,使得控制器能提前進(jìn)行路徑切換,避免傳輸失效從而保障路由QoS 質(zhì)量.
(2)控制器如何在MANET 里與各數(shù)據(jù)節(jié)點(diǎn)建立動態(tài)高效連接.
SDN 轉(zhuǎn)發(fā)設(shè)施依靠集中式網(wǎng)絡(luò)控制器對行為和操作進(jìn)行定義.這不可避免地需要在邊緣節(jié)點(diǎn)和集中式網(wǎng)絡(luò)控制器間維持高速傳輸,而這在無線網(wǎng)絡(luò)中通常不可用[60].目前大多研究都是假設(shè)控制器和數(shù)據(jù)平面各節(jié)點(diǎn)之間具有直接相連的鏈路,而在戰(zhàn)術(shù)MANET中控制器也會被部署在一些特定節(jié)點(diǎn)上,其余不相鄰末端轉(zhuǎn)發(fā)節(jié)點(diǎn)與控制器節(jié)點(diǎn)間需要建立多跳連接.如何在高度變化的戰(zhàn)術(shù)環(huán)境里動態(tài)維持各控制器和移動節(jié)點(diǎn)間的高效連接需要被考慮.
(3)減少控制開銷.
SDN 控制器需要與數(shù)據(jù)層節(jié)點(diǎn)進(jìn)行交互以更新網(wǎng)絡(luò)視圖.目前大多路由技術(shù)通過分層以減小控制信息的數(shù)量,但在資源缺乏的戰(zhàn)術(shù)環(huán)境下,控制開銷會隨著網(wǎng)絡(luò)變化速度加快而增多.路由協(xié)議仍然需要進(jìn)一步輕量化,減小控制開銷帶來的負(fù)擔(dān).此外,在應(yīng)用混合式控制時,數(shù)據(jù)層節(jié)點(diǎn)需要同時運(yùn)行MANET 和SDN兩種控制邏輯,易造成更大的控制開銷.未來需要合理設(shè)計交互機(jī)制,在確保增強(qiáng)節(jié)點(diǎn)對網(wǎng)絡(luò)變化的適應(yīng)能力的同時,減少控制開銷對帶寬資源的消耗.