張耕強,謝 鈞,楊章林
(陸軍工程大學 指揮控制工程學院,南京 210007)
隨著現代軍事的發展,戰術任務的復雜程度日益增加,對于數據傳輸的要求日漸嚴格.目前戰場機動通信主要應用移動自組織網絡(mobile ad-hoc networks,MANET)進行網絡的組織,MANET 需要在動態變化的戰場環境里實現帶寬分配、流量的路徑選擇以及維持末端節點到指揮中心的多跳連接[1].然而目前MANET路由協議雖然種類繁多,但受限于對等式結構特點,網絡流量調控能力較弱,節點間通信難以合理分配鏈路資源,在實際中對于復雜任務的支撐能力較弱.
軟件定義網絡(software-defined networking,SDN)近來成為優化戰術MANET 通信能力的一種解決方案.SDN 強大的網絡可視化能力以及靈活的流量調控能力,能根據上層應用需求,從全局網絡角度高效分配資源和選擇路徑,并在捕捉網絡變化后迅速進行資源再配置,動態調整數據傳輸路徑.利用SDN 協助MANET 進行路由決策,能提高戰術任務的完成質量,但要將SDN 應用至MANET,需要解決網絡可靠性、健壯性、安全性等一系列適應性問題,以面對戰場環境的各種變化.
本文針對SDN 技術在戰術MANET 路由的應用展開研究.首先介紹戰術MANET 路由現狀,而后介紹SDN 以及相關路由優化研究說明其對MANET 路由帶來的提升,最后從路由過程分析相關挑戰以及解決方案.
MANET 是一種臨時的多跳、去中心化的自組織分布式系統,不依賴于固定基礎設施,同時對網絡的變化具有一定的適應性,在戰場機動任務中多被應用以實現各節點的通信需求.網絡組成主要包含由部署在現場的無線傳感器節點,特種部隊攜帶的無線電和小型無人飛行器等,用于實現圖像采集以及其他戰術任務[2].該場景下網絡主要有以下特點:
網絡具有高動態性.受戰術任務需求,戰術MANET網絡里的節點都需要具備移動能力,在進行戰術任務的同時應對各種突發情況,如無人機、機動通信車等都是具有較強移動能力的常用設備.這決定了鏈路狀態會頻繁改變,網絡具有極高的動態變化特點,源節點和目標節點之間的端到端連接可能突然斷開,導致傳輸超時和路由故障.
帶寬資源匱乏.受環境決定,無線信道的狀況不佳,存在共享信道碰撞、信號衰減、噪音干擾等因素限制帶寬大小[3].
大量設備有能量限制.受戰術任務決定,如無人機等許多設備需要具有較小的體積以換取高度的靈活性或可攜帶性.其電量極為有限,在進行移動、通信等動作時都會消耗電量,對網絡運轉有一定影響.
針對MANET 的特點,許多路由協議被陸續提出.目前傳統MANET 路由協議大致分為6 類[4]:
(1)靜止式路由.每個節點維持一個提前配置的固定路由表,按照表項進行數據包的路由.
(2)主動式路由.這類路由協議以目的節點序列距離矢量協議(destination sequenced distance vector routing,DSDV)[5]為代表,網絡每個節點維持一個路由表,通過定期更新以及事件驅動更新(如鏈路狀態變化等)保持其有效性.其優勢為節點能根據最新的路由表快速選擇下一跳,優化一定的傳輸時延.然而當網絡規模較大時,其維護路由表的控制開銷較大,同時收斂時間較長,對于網絡變化的反應較慢.
(3)反應式路由.這類路由協議以無線自組網按需平面距離向量路由協議(ad hoc on-demand distance vector routing,AODV)[6]為代表,只有當節點需要通信時才進行尋路.源節點以廣播的方式將路由請求包傳輸到目標節點,通過目標節點和中轉節點的回復建立數據傳輸路徑.
(4)混合式路由.此類協議綜合了主動式路由和反應式路由.以區域路由協議(zone routing protocol,ZRP)協議為例,其將網絡分為多個區域,域內進行主動式路由,域間進行按需式路由.
(5)基于地理位置路由.這類路由協議假設節點位置已知,下一跳節點為目標節點方向的一跳鄰居節點.其特點為不需要路徑的建立和維持,同時不需要存儲各類路由信息,在快速變化的環境里具有很好的適應性.
(6)層次式路由.這種路由方式通常按簇或者區域的方式將整個網絡劃分為多個子網絡,不同子網絡內部或者子網絡之間視層次結構可按不同的方式進行路由.
表1 針對各類MANET 路由協議做出了特點總結以及優勢缺陷的對比.靜止式協議由于缺乏對變化的處理能力,所以并不適合拓撲變化快的網絡;主動式協議在進行路由選擇時能根據定期維護的路由表進行快速地匹配轉發,然而當網絡規模較大時,其維護路由表的控制開銷大.更重要的是,主動式協議在大規模網絡里收斂時間較長,對于網絡變化的反應較慢,在拓撲快速變化的情況下,網絡節點可能無法及時獲取最新的拓撲信息[7];被動式協議雖然不需要節點維護路由表,然而源節點在轉發數據前需要首先發起路由請求,等待其余節點回復,建立完整的傳輸路徑后再開始傳輸,會產生較長的傳輸時延,不適用于實時數據的傳輸.

表1 MANET 路由協議對比
混合式路由對主動式的開銷問題和反應式的時延問題進行了一定的平衡.相較于主動式路由,混合式路由可以大大減少控制消息的數量,因為網絡僅需要在每個域內部節點之間維護更新的拓撲信息.相較于被動式路由,混合式路由能有效提升域內路由的速度.然而當數據傳輸建立在屬于不同域的節點間時,該類協議依舊會由于網絡以反應性方式搜索路徑而引入明顯的延遲.
基于地理位置的路由協議既不需要節點主動維護路由表,同時在節點需要傳輸時能根據地理位置快速決定下一跳,因此在MANET 里具有優良的表現.然而由于每個節點是根據地理位置進行下一跳的選擇,易出現局部最優、路由環路等問題.所以其應用需要對下一跳的選擇算法進行精細的設計.其次,在實際無線信道中位置信息的精確度會受信號的衰減、噪聲干擾等而出現一定的偏差,也會對數據轉發產生影響.
層次式路由在實際中較適合在大規模網絡中部署.然而由于節點的移動性,需要詳細考慮簇的動態組成以提高適應網絡變化的能力[8].
傳統MANET 路由協議雖然針對網絡特點進行了相應設計,但各自存在著應用的缺陷.其根源在于無論是哪一種協議,網絡整體基于對等式結構建立,端到端的路徑需要通過每個節點根據本地信息獨立選擇下一跳拼接組合.為了獲取路由所需信息,各節點需要自身感知整個網絡狀態,通過其他節點的反饋建立傳輸路徑.由于各節點難以實現輕便快速的通信,無線網絡里的信道資源難以高效合理地分配,易造成鏈路負載不均、網絡堵塞等問題[9],無法為應用流量提供高質量的服務質量(quality of service,QoS)保障;此外,MANET路由協議對于不同應用的流量難以提供差異性的服務,對于多應用的服務能力較差.這些原因導致MANET路由協議在實際中能提供的服務質量有限,難以達到預期效果.
當今社會對網絡的業務需求日益增多,然而傳統網絡開發需要通過定制硬件來實現不同的網絡功能,同時設計大量的特定網絡協議進行控制.這既增加了開發成本,也加大了人工管理的難度[10].SDN 提倡網絡實行集中式控制并部署運行標準化協議的硬件設備,被認為是突破傳統分布式網絡瓶頸的有效方案.如圖1所示,SDN 架構從上至下依次分為應用層、控制層、數據層3 層,其解耦傳統轉發設備的控制邏輯和數據邏輯,構建了一個邏輯上集中的控制平面以進行基于網絡全局信息的轉發行為決策,實現網絡可編程化以動態制定差異化的服務策略,最終適配不同上層應用需求.

圖1 SDN 架構
應用層主要由網絡應用組成,負責根據業務需求制定流量策略,并通過北向接口在一個抽象網絡上進行操作,實現相關網絡應用;控制層主要負責通過南向接口與數據層設備進行交互,收集鏈路端口等信息構建全局網絡視圖,從而可視化網絡資源并將其提供給應用層,使得網絡能從全局角度針對性地規劃各應用流量傳輸路徑;轉發層由底層轉發設備組成,負責根據控制層下發的流表交換處理數據.
SDN 分離了控制層與數據層,不僅能從全局角度規劃流量路徑,同時數據僅在單層轉發,減小了網絡時延和資源浪費;SDN 還使用了流表指導轉發設備工作,加快了對流量的執行速度[11];此外SDN 使用標準化協議管理網絡,不僅簡化了管理難度,同時加強了網絡對異構網絡和多應用服務的管理能力.網絡可對全網設備進行全局統一管理和動態配置,從而實現靈活高效的資源分配和協同[12].這些對于MANET 為各種戰術任務提供高質量的QoS 路由保障都是很好的補充.
由于MANET 的高度分布式性質,每個節點只能根據本地信息實現局部路徑最優,而難以達到全局最優.即使是針對不同流量的QoS 路由方案,也會出現如QoS 需求沖突、流量管理策略難以更改等問題[13].而由于全局視圖的存在,SDN 在進行路由決策時能考慮到網絡的流量分布,合理調控不同應用流量的傳輸路徑,在提供優質的路由決策的同時減小網絡堵塞發生的可能[14];其次,SDN 通過控制器下發流表,可以減小各節點維護路由表的控制開銷或者源節點尋路的較長時延;最后,有電池電量限制的便攜式節點的工作被大大簡化,減小了電池電量的消耗.
近來已有研究致力于利用SDN 進行MANET 的路由優化,并在可靠性、時延、吞吐量等方面帶來了不錯的提升.作為這方面的一個先驅,文獻[15]實現了一個SDN 和MANET 結合的簡單原型,模擬了無線網絡中可能出現的鏈路斷開/恢復的過程,通過與最優鏈路狀態路由協議(optimized link state routing,OLSR)進行對該變化的反應時間比對,證明了SDN 加快了網絡對鏈路變化的反應速度,并提升了網絡的總吞吐量;文獻[16]利用SDN 構建全局視圖,在此基礎上進行相應傳輸路徑的計算并下發給請求節點,而后通過和OLSR、AODV 等多種MANET 路由協議比對,證明了SDN 路由在無線網絡里的優越性.除此之外,還有許多研究在如傳輸成功率、時延等QoS 要求或者視頻傳輸、災區通信等具體應用方面取得了不錯的實驗成果.文獻[17]面向災區通信場景,對于有時延、傳輸成功率、設備電量等限制要求的網絡流量,將SDN 與MANET 結合,并應用了優先級算法,很好地降低了節點移動性對用戶體驗產生的不良影響,保障了視頻流量的QoS 質量;文獻[18]結合SDN 與MANET 進行水電站移動監控.其將樹莓派與各種傳感器集成到低成本硬件中,組成負責數據采集的MANET 節點,并通過Ad hoc 協議進行組網.此外,每個MANET 節點都配備了OpenFlow 交換機軟件,以實現SDN 的集中控制.最后,其對OpenFlow 協議進行了擴展,提供移動性和敏感性操縱等物理動作,實現了水電站的移動監控.文獻[19]針對流媒體傳輸,利用網絡演算理論求解了流QoS 參數的確定性上界,并進行了歸一化,建立多約束QoS 資源分配模型;此外其設計并實現了包括流表調度模型、路由功能、測量轉發模塊的基于SDN 的流媒體網絡QoS 路由系統,提出了基于網絡演算的多約束QoS 路由算法.實驗結果表明其提出的多約束QoS 資源分配模型和基于SDN 的多約束集中QoS 路由算法具有良好的性能.
下面就相關路由研究進行分類介紹:
最短路由一般針對帶寬、跳數、時延等不同優化目標選取鏈路權重式,按Dijkstra 算法選出最佳路徑進行數據傳輸.文獻[20]從拓撲發現、路徑請求、數據傳輸、網絡更新等方面進行了詳細設計,以剩余電量作為下一跳節點的選擇標準選擇路徑,最終相較于OLSR、AODV,提升了網絡生存時間.
SDN 能根據從數據平面收集的網絡信息合理規劃鏈路資源,為不同應用流量進行優先級路由服務.文獻[21]應用SDN 進行MANET 的流量調度,提出了路由算法RaDRT:SDN 控制器會通過定期收集以及事件驅動兩種方式定期更新網絡狀態.在最初選路時,控制器會根據鏈路的可用帶寬,并驗證其長期連通性來選擇穩定高速率的路徑;在傳輸過程中,控制器會再次計算最佳路徑以應對如鏈路已飽和或不可用等會影響QoS 的突發事件.如果路徑已經飽和,控制器會按10% 的步幅限制其他低優先級發送節點的傳輸吞吐量,以保障高優先級流量的QoS 需求.仿真結果顯示RaDRT 有效提高了吞吐量,同時能為高優先級流量提供良好的服務質量.
對于有時延要求的實時音頻流量,文獻[22]通過分析控制器從數據平面節點收集到的流信息,對控制數據、音頻數據等不同種類的流量賦予不同的優先級,解決了網絡由于需要支持不同應用而難以有效管理和分配資源的問題,同時滿足了對時延敏感的實時數據要求.
為了解決控制器和數據平面頻繁交互的開銷問題,文獻[23]結合SDN 提出了一種層次式的中心化路由協議CATMAN.數據層分為兩種網絡元素,一種為只具有短距離通信接口的普通節點(NN),另一種為同時具有短距離和長距離通信接口的fog 節點(FN).NN 以主動廣播的方式維持其2 跳以內鄰居節點的信息,每個NN 需要在2 跳內找到一個FN,當在2 跳內無FN時則廣播自己的鄰居節點消息,離其最近的FN 收到后則會根據此消息構造網絡局部視圖.在整個網絡里,SDN 控制器只和FN 交互,構造網絡拓撲結構并下發相應流表到FN.當節點間通信時,若源節點自身有目的節點的信息則直接根據路由表通信,否則發送路由請求信息到自己的所屬的FN,由FN 負責查詢目的節點的信息,若FN 發現兩節點都是自己負責的NN,則返回路由回復信息,否則查詢控制器得到路徑,而后發送路由回復到源節點.這種在數據平面分層的方法,有效減少了控制器和數據平面節點的交互開銷.實驗表明CATMAN 的控制開銷要明顯低于BATMAN 協議,同時只造成了可忽略的時延增長.
文獻[24]在思考SDN 與傳統MANET 結合的方法時,提出了SDN 結合簇的方法:簇間路由由SDN控制器負責,而簇內則按MANET 方法進行組織.當有數據需要跨簇時,控制器首先計算流量需要經過的簇的順序,而后反饋給發送方.發送方以此作為根據進行簇間的路由,在簇內則根據不同簇的特點,以特定的路由協議方法進行數據包的轉發.文獻[25]也結合了簇與SDN,簇頭負責收集簇內信息和簇內路由,控制器則通過簇頭構建全網抽象視圖提供跨簇路由服務.而后依次提出了RMCMS、PMCMS 以及MPMCMS 三種多播路由方法,前兩種分別通過反應式和主動式降低開銷、減少時延,而M-PMCMS 在網絡變化后使用增量方法僅發送更改的信息到控制器以減少更新的控制開銷,同時保留主動式路由的低時延優勢.仿真結果顯示相較于MAODV,M-PMCMS 減少了時延以及丟包率.
多路徑路由相較于單路徑路由對于鏈路狀態變化具有更好的平滑能力.其根據網絡資源信息,將通信流量分散至多條滿足業務要求的路徑上傳輸,在提升網絡鏈路資源利用率的同時,能減輕MANET 易出現的鏈路狀態變化所造成的傳輸波動,提高可靠性和吞吐量.文獻[26]結合SDN 與MPTCP,使得移動節點間的數據通過部署了SDN 設備的無人機和衛星兩種路徑進行傳輸,避免了當移動節點因自身移動而脫離無人機發信范圍時發生的服務中斷問題;SDN 控制器負責根據網絡流量分布情況,應用FDM(flow deviation method)算法[27]進行帶寬資源的合理分配,最終提升了傳輸的吞吐量.
文獻[28]針對距離相近的多架無人機可能被同一惡意節點干擾,從而導致相近鏈路都被惡意消耗,同一路由的多條路徑都被干擾的問題,設計了一種改進的多路徑路由算法:控制器首先根據全局視圖算出最優路徑,而后算出多條與最優路徑不相交、同時具有較遠距離的路徑,最終有效提高了數據包的傳輸成功率,但增加了一定的時延.
戰場網絡組成元素復雜,各種標準的通信設備已經大量部署,若是要加入SDN 元素,則需考慮到成本、部署復雜度等問題.比較實際的方案是在現有網絡部分關鍵節點部署SDN 設備,其余仍然使用傳統設備協同實現戰術任務.文獻[29]將SDN 設備部署在具有較強通信能力的地面節點,負責將網絡末端偵查無人機節點拍攝的視頻傳輸給指揮中心,取得了良好的基于用戶反饋的主觀指標MOS(mean opinion score).
文獻[30]將SDN 引入了網絡路由,設計了一種基于SDN 轉發和開放最短路徑優先協議(open shortest path first,OSPF)的混合路由轉發算法HRFA.這種混合路由將網絡節點分為常規節點和SDN 轉發節點,針對不同的網絡節點選擇有效的轉發策略,以求在利用SDN 提高網絡的路由性能時與傳統組網節點相兼容.結果表明,與傳統的路由轉發方法相比,HRFA 可以很好地提高吞吐量,減少時延和丟包率.
表2 給出了以上相關路由研究的總結.

表2 SDN 在MANET 路由的相關路由研究
SDN 交換設備依賴流表進行數據轉發.當本地無匹配結果時,數據層設備需要通過南向接口請求控制器下發新的流表.如圖2所示,整個路由轉發過程需要依次經過請求流表、流表下發、轉發數據3 個步驟.

圖2 流表請求過程
將SDN 應用至戰術MANET 路由的問題主要如下面5 個.
MANET 對等式結構的高健壯性是其能在機動通信場景里得到廣泛的應用的一個主要原因.在MANET內,不存在中心節點,每個節點通過自身發送探測包對網絡進行感知,基于節點間的反饋信息進行路由決策,不存在單點失效(single point of failure,SPoF)問題,對于單個節點的離開或加入具有一定的自主調整能力.而SDN 所主張的由邏輯集中的控制層進行全網流量的路徑規劃,雖然能從網絡全局角度出發合理分配資源,但同時極大突出了控制層的角色.控制層需要對網絡所有設備統一管理,收集端口信息、鏈路狀態信息并通過下發流表的方式控制數據層流量的轉發,隨著平面的解耦,轉發和控制平面之間的連接是否處于活動狀態極為重要[31].而在機動通信場景里,節點的移動性和信道的不可靠性難以保證控制器可以和數據層進行穩定的交互,狀態信息收集、流表下發在網絡狀態較差時可能難以保證.因外界干擾,造成控制器故障中斷服務時會數據層會無法及時收到有效的流表,極可能造成網絡大面積癱瘓.此時,數據平面的路由轉發無法進行,戰術任務難以開展.
平面的分離意味著平面之間的額外通信需求,這可能增加轉發的網絡流量的延遲[32].SDN 設備完全按照控制器下發的流表匹配數據包,對流量進行轉發、丟棄等相應動作.控制器為流設置路徑時,需要和該路徑上所有轉發節點交互,配置每個節點的相關流表項.在這種情況下,SDN 面臨的主要挑戰是控制器需要在多個交換設備間實現快速更新,以減少網絡收斂時間[33].然而相較于有線網絡,MANET 一是沒有穩定充足的帶寬資源支持,二是控制器所部署節點和不同位置的節點之間的交互時長會存在一定的差異,部分節點需要通過多跳連接和控制器進行數據的交換.這些特點都可能會影響控制器更新流表的有效性.
MANET 節點都具有一定的移動性,當其快速運動時鏈路狀態會頻繁地變化,造成整個網絡具有極強的不穩定性.控制器為了維持有效全面的全局網絡視圖,需要頻繁與所有節點進行交互,收集最新的網絡信息如端口數據、鏈路狀態等.該過程會產生大量的控制開銷,在帶寬較窄,網絡資源有限的戰場通信環境會對網絡造成極大的開銷負擔.然而目前兩個平面之間的數據路由和負載均衡的組合問題缺乏實際研究,平面間的通信開銷也沒有得到很好的評估[34].
在實際應用中,考慮到現有設備已大量部署,SDN設備的普及需要經歷較長的過渡期,部署數量,部署位置等問題都需要細致考慮.此外,如何在加入部分SDN設備優化網絡的同時,使得現有網絡設備與之協同工作也是需要思考的問題.如今雖然已有方案提議控制器和節點間維持集中控制組網,節點間維持自組織網絡,但仍然缺乏與之相適應的路由機制[1].
擴展性問題是大規模網絡的一個常見問題.在SDN網絡里,當節點數量增加,網絡規模增大時,控制層的負擔也會隨之加重,每次網絡更新時都需要處理大量的控制信息,而戰場環境匱乏的帶寬資源無法為控制器提供強有力的支撐.除此之外,當網絡規模擴張時,網絡的收斂速度會更加緩慢,影響到對上層應用的服務質量.
SDN 技術最初是針對資源充足、網絡穩定的傳統互聯網進行設計,而無固定設施、多跳傳輸、帶寬資源匱乏、節點具有移動性等是戰術MANET 特點.要利用SDN 技術改善戰術MANET 路由,需要針對MANET的網絡特點,對SDN 結構做出相應的修改或者添加額外的功能.
分布式控制通過增加控制器的數量,利用冗余性將控制負擔分散從而適配大規模網絡.在SDN 里,分布式控制平面可以是控制器的集中式群集,也可以是物理上分布式的元素集合.一般第一種選擇可以為設備密集的數據中心提供高吞吐量,但后者對各種故障具有更大的彈性,更適合不確定度高的戰場環境.
多控制器可以有效解決SD-MANET 的可靠性、擴展性問題.相較于單控制器,多控制器通過管理一定區域內的小數量設備來分擔控制平面的工作,同時可以通過將多個控制器分配給一個節點來提高兩層連接的穩定性.這種方式OpenFlow 1.3[35]已提供支持,控制器共有3 種角色:Master、Slave、Equal.一個交換機只能與一個Master 控制器連接,當控制器角色為Equal 時,各個控制器作用相同,都可以對設備進行操作.當節點難以和Master 控制器取得聯系時,可以選擇從其他預先分配的控制器中選擇一個作為替代,以保證流表的及時下發.
文獻[36]提出兩種戰場分布式控制SDN 網絡結構.如圖3所示,分布式控制可以按照左側聯合式和右側層次式兩種結構進行組織.在聯合式結構里,多個地位對等的控制器組成控制平面,互相同步網絡信息.一般各控制器各自負責一定區域內的轉發設備的信息收集,路徑規劃和流表下發;層次式機構則由局部控制器和全局控制器組成.以3 層結構為例,所有數據轉發設備組成數據平面,多個局部控制器組成局部控制層,而在局部控制器一層上一個總的控制器組成第3 層總控制層.在此結構中,全局控制器負責根據局部控制器上報的局部網絡信息構造全局網絡視圖,而局部控制器則負責與負責區域內的節點進行交互,以此構造局部拓撲,下發區域內部所有節點的流表;此外,總控制器負責給局部控制器下發域間的流表項,以引導域間的流量.

圖3 聯合式控制與層次式控制
當有足夠的資源時,控制器可以維持網絡全局詳細拓撲信息,為所有數據流提供細粒度的服務.但在帶寬資源不足,控制器處理能力有限時,維持全局網絡的詳細拓撲結構并不是必須的.文獻[37]針對鏈路資源有限的網絡環境在層次式結構里,應用了網絡抽象方法,如圖4所示,每個域被抽象為一臺多端口的交換機,總控制器只需要通過局部控制器上報的域邊界端口鏈路情況提供域間路由服務,而域內路由則由局部控制器負責,降低了網絡開銷.此外,當應用網絡抽象時,這種層次式結構可以提高戰場網絡的機密性,各局部控制器只知道所負責局部拓撲,而不需要請求其他域的內部信息;全局控制器也只知道抽象的全局拓撲信息,并不保留各域的內部構成.這種結構能有效滿足聯合作戰的安全性和機密性需求,使得不同來源的部隊之間遵守NTK(need-to-know)原則[38].

圖4 網絡抽象
分布式控制雖然可以改善戰術MANET 的擴展性和可靠性,但依舊存在著問題.文獻[39]詳細研究了分布式控制的交換機遷移過程,提出當新舊控制器間的控制權交接、節點和新控制器建立連接兩個過程都會產生大量的控制開銷,消耗一定的帶寬資源并伴隨著一定的時延;此外,各控制器之間需要交互同步網絡狀態信息以滿足跨域請求,產生的控制開銷對于資源缺乏的戰術MANET 是較為沉重的負擔,需要考慮多長時間各控制器進行網絡視圖的同步,協調控制器做出的管理決策[40].最后,多控制器的數量、部署位置會影響網絡多個方面,例如性能指標、可用性、容錯、收斂時間等[41].因此,在MANET 里確定SDN 控制器的數量和放置是需要細致考慮的問題之一.文獻[42-44]對該問題進行了詳細的分析研究,然而并不存在適用于任何網絡的固定規則.
控制層與數據層完全分離難以有效處理MANET的高變化性產生的問題,完全集中式的控制決定了每次相關鏈路發生變化,轉發設備必須要控制器下發新流表才能繼續工作.為了保留傳統MANET 的健壯性,同時利用SDN 的流量調控能力,混合式控制改變了SDN 的控制/數據平面完全分離理念,保留了每個轉發設備一定的控制邏輯,將控制分布在網絡每一處以提升對變化的反應能力.
現在混合式控制主要有兩種方式,一種為將傳統MANET 路由作為SDN 路由的備用手段,當SDN 控制器失效時數據層節點本地啟用分布式路由.文獻[45]將AODV 路由協議與OpenFlow 結合,數據層節點定期向控制器發送鏈路狀態信息,控制器以全局視圖計算出最佳路徑并下發轉發規則至傳輸節點.在控制器失效時,數據層節點自身啟動AODV 路由機制,進行分布式路由以維持網絡工作.
另一種為數據平面配合控制器的全局視圖進行路由.文獻[46]指出由控制器負責網絡全部控制功能并不適合頻繁變化的網絡,并提出了一種混合式控制的結構HSAW:控制平面收集網絡全局信息,通過計算節點間發信范圍互相干擾的比例,設置權重對鏈路進行評估,并將處理后的網絡抽象視圖通過控制信道下發給數據平面,數據層轉發設備據此進行路由決策,通過數據信道進行數據傳輸.仿真結果顯示,該混合控制結構相較于完全分離的網絡結構,提升了移動網絡的傳輸成功率并降低了控制開銷.
文獻[47]為了改善無人機群網絡的可靠性,設計了Master、Slave 兩種基于SDN 的無人機結構.在整個無人機網絡中,每個簇由一個Master 節點和多個Slave 節點組成,其中Master 節點作為局部控制器,負責根據上層業務需求,對Slave 節點的運動路線、資源分配等進行統一規劃;簇成員根據Master 節點下發的各種策略規則進行飛行軌跡的控制、傳輸路徑的計算等.每個無人機節點結構相同,通過開啟或關閉相應功能模塊從而在兩種角色中靈活切換,以解決Master 節點因電量限制、外來干擾攻擊等內外因素導致的失效.網絡采用基于訂閱/發布通信模式的MQTT 協議[48],提高網絡對變化的反應速度,靈活應對無人機群拓撲的頻繁變化,最終提高網絡可靠性以及生存周期.
Poularakis 等使用混合式控制提高SD-MANET 的可靠性,其首先在文獻[38]討論了SDN 在戰術MANET中的應用前景,提出了一種層次式SD-MANET 結構,強調了SDN 混合控制和協同作戰的重要性.而后在文獻[49]中,在戰術MANET 的背景下具體實現了一種利用狀態機思想改進的OpenFlow 擴展協議Openstate[50]的靈活混合控制,為節點設計了本地備用路由規則以應對鏈路失效,并對總的通信開銷進行了數學優化.在真實戰術自組織網絡數據集的仿真結果表明該方法最多可以將50%的數據包路由到其目的地,而控制開銷比集中式控制的SDN 網絡低一個數量級.此外,文獻[51]通過在手機和電腦上部署SDN 網絡,驗證了部署多控制器并不能很好解決SD-MANET 的可靠性問題,為此設計了一種結合分段路由的混合式控制架構:數據平面根據控制器下發的段列表確定下一跳,通過傳統路由協議進行路由.文獻[52]面向現代作戰的聯合作戰需求,首先部署了多個物理上分布,邏輯上集中的控制器組成控制平面,分別放置在網絡的不同級別,如從指揮中心的云服務器、無線基礎設施節點、移動設備(車輛)等,用于對網絡進行靈活控制.而為了在戰術MANET 場景里實現更高效可靠路由,其增加了在移動節點本地運行的分布式路由機制來作為備用控制方法,通過應用圖神經網絡的變體圖注意力網絡(graph attention networks,GAT)來預測網絡動態和碎片事件,從而預先運行分布式路由協議來重新計算路由路徑從而防止網絡故障發生.其仿真基于用于模擬真實戰術MANET 場景的戰術MANET 數據集,結果顯示該方法能以較小的輸入特征得到較高的預測準確率,并有效應對網絡變化.
混合式控制針對MANET 的特點進行了相應的整體結構設計,理論上能結合MANET 的魯棒性和SDN的高效.但這種方法設計復雜且開銷高.數據層設備需要同時支持SDN 和傳統MANET 兩種控制邏輯,信息收集和路徑配置會造成更多的控制開銷.除此之外,這種方式對硬件也有額外的要求,在實際中生產支持兩種控制邏輯的設備會產生更多的制造成本.
傳統MANET 路由包括表驅動路由和源路由,其中在表驅動路由中,每個節點自身會維護一個路由表,并根據它進行相應數據包的轉發.對于到來的數據包,節點可以快速匹配路由表實現對數據包的快速轉發,然而這種方式需要定期更新路由表,造成的協議控制開銷較大.源路由則通過在源節點就定義好整條路徑,將中間所需要經過的設備順序加在數據包上,避免了每個節點都需要維護、查詢路由表所產生的開銷.而傳統MANET 的源路由協議如DSR 需要在收到需求后廣播請求包進行路徑尋找,并等待接收方回復.這一過程對于請求方需要一定的等待時間,當流量對時延敏感時更是難以滿足需求.
分段路由(segment routing,SR)利用源路由的思想,在源節點數據包上就配置完畢發送路徑,從而減少為中間節點配置流表項所帶來的開銷和時延;同時充分結合SDN 的中心化控制,避免傳統源路由尋路過程所造成的較長時延,實現了更簡單、更靈活的路由[53].如圖5,當發送方A 請求服務時,控制器根據全局視圖計算合適路徑,并以段列表的方式告知A 所需經過的鏈路.A 在數據包頭部附上標簽,而后交付給對應的下一跳節點B.B 收到該數據包后不需要查詢路由表,僅需要識別數據包標簽對應的鏈路,交付給相應端口,直到傳輸給接收方C.在這一過程中,控制器不需要為路徑上所有節點配置流表項,有效減少了控制器配置路徑產生的時延;同時,當網絡拓撲發生變化時,對于正在服務的流,控制器只需要更改下發的段列表,從而避免修改所有相關設備的流表項,減少了額外的時間開銷,實現對網絡變化的快速反應和輕便快速的路由更新[54].

圖5 分段路由
文獻[55] 針對機載骨干網(airborne backbone network,ABN),在使用層次式控制加強SD-ABN 可靠性的基礎上應用了分段路由進行轉發規則的下發.SDABN 將控制層分為ABN 控制器和平臺控制器兩部分,分別承擔網絡總控制器和管理各飛行器的局部控制器的角色.網絡整體由控制節點、流量轉發節點以及連接末端子網的網關節點組成,為戰術網絡單元如飛行網絡、海上網絡、陸地網絡等提供彼此通信.該文獻對流表下發過程進行了詳細的設計實現,當收到節點轉發請求后,平臺控制器會生成支持SR 的路徑計算單元通信協議(path computation element communication protocol,PCEP)消息將路由策略下發至請求節點對應的SDN 節點,由無線電模塊訪問無線信道發送至ABN 控制器.ABN 控制器計算出所需的多條可靠路徑后,最終將路由策略反向下發給請求節點.實驗結果表明SR 在網絡規模擴大時能有效提升控制器更新效率并減少網絡收斂時間和控制開銷.
時延容忍網絡(delay tolerant network,DTN)最早是星際互聯網(interplanetary internet,PN)的體系結構,而后被擴展到地面無線網絡等其它類型網絡,旨在以存儲轉發的方式解決鏈路中斷以及間歇性連接之類的問題[56].取決于具體應用類型,鏈接中斷的時間范圍從幾秒鐘到幾小時不等.在遇到這類情況時,DTN 節點會臨時存儲轉發數據,直到可以將其轉發到下一個具有DTN 功能的節點或目標節點為止.文獻[57] 利用DTN 處理鏈接中斷的能力彌補SDN 面對鏈路狀態變化的能力,定義了一種體系結構解決方案.在該結構中,數據層節點同時支持DTN 和SDN,并通過選舉算法產生Master 節點充當控制器角色.Master 節點內部的SDN 模塊主要負責收集全局鏈路狀態信息,而DTN 協調器模塊則通過SDN 控制器收集的數據來調度DTN節點之間的數據傳輸.數據層DTN 節點會在目標節點不可訪問時臨時存儲延遲容忍數據,并按照Master 節點下發的轉發規則將數據發送到目的地或鄰居節點.仿真結果顯示針對戰術邊緣網絡視頻傳輸任務,該結構僅產生了少量的視頻停頓,比其他結構具有更好的適應性.
信息中心網絡(information centeric network,ICN)是一種以命名數據對象為中心的網絡結構.和IP 網絡以端口和主機名進行尋址和路由的方式不同,ICN 通過數據復制,將有效數據緩存至節點內部,以實現以INTEREST/DATA 消息為匹配規則的通信:消費者通過發送INTEREST 消息(要檢索的命名數據)來請求數據,而生產者(或執行網絡內緩存和存儲的中間節點)返回匹配的DATA 消息.ICN 通過緩存復制增強信息分布,能有效應對通信服務中的斷開連接、中斷等問題[58].文獻[59]將SDN 與ICN 結合以解決戰術機動網絡的可靠性和安全性,其中ICN 主要體現在數據層,以提高故障發生時的傳輸可靠性并減少轉發時延(因為數據被緩存在請求者附近);SDN 主要在控制平面中起著兩個關鍵作用:一是充當網關,實現ICN 數據包和IP 包的互相轉換;二是通過在數據層交換的INTEREST/DATA 消息來建立和控制所有網絡節點的交互模式.通過接收具有節點狀態的DATA 消息,SDN 控制器能夠感知網絡狀態并在發生擁塞/中斷之前過濾大型DATA 消息,從而實現路徑的優化和開銷的降低.表3 給出了以上相關研究的總結.

表3 問題以及方法相關研究
傳統MANET 路由協議雖然能實現戰場機動任務的通信要求,但其分布式性質一定程度上限制了其在實際場景的表現.SDN 作為集中式網絡體系結構,能從全局角度提升MANET 資源管理能力,為不同業務流量提供高質量的QoS 路由服務.但由于其集中式控制特點,在改善網絡的同時也會帶來如可靠性、流表有效性等新的問題.目前雖然已有許多研究針對不同場景、不同應用做出了相應改進,但由于SDN 發展的時間較短,特別是在無線網絡研究不多,實際應用還是有許多適應性問題亟待解決,系統性的部署方案尚也欠缺.未來SDN在戰術MANET路由應用中還有以下方面可以進行研究:
(1)引入機器學習預測網絡未來狀態進行故障避免.
目前結合SDN 和機器學習的路由研究大多應用在路徑選擇上,往往通過輸入如鏈路狀態、流量矩陣等信息輸出傳輸路徑,且應用場景幾乎在數據中心等較為穩定的網絡中.而在戰術MANET 中,受具體任務牽引,MANET 節點的移動性具有一定的規律可循.所以除了進行路徑選擇外,機器學習方法可以被用以針對SDN 缺乏處理MANET 節點頻繁移動特點的問題,預測如節點移動軌跡、未來鏈路狀態等信息,使得控制器能提前進行路徑切換,避免傳輸失效從而保障路由QoS 質量.
(2)控制器如何在MANET 里與各數據節點建立動態高效連接.
SDN 轉發設施依靠集中式網絡控制器對行為和操作進行定義.這不可避免地需要在邊緣節點和集中式網絡控制器間維持高速傳輸,而這在無線網絡中通常不可用[60].目前大多研究都是假設控制器和數據平面各節點之間具有直接相連的鏈路,而在戰術MANET中控制器也會被部署在一些特定節點上,其余不相鄰末端轉發節點與控制器節點間需要建立多跳連接.如何在高度變化的戰術環境里動態維持各控制器和移動節點間的高效連接需要被考慮.
(3)減少控制開銷.
SDN 控制器需要與數據層節點進行交互以更新網絡視圖.目前大多路由技術通過分層以減小控制信息的數量,但在資源缺乏的戰術環境下,控制開銷會隨著網絡變化速度加快而增多.路由協議仍然需要進一步輕量化,減小控制開銷帶來的負擔.此外,在應用混合式控制時,數據層節點需要同時運行MANET 和SDN兩種控制邏輯,易造成更大的控制開銷.未來需要合理設計交互機制,在確保增強節點對網絡變化的適應能力的同時,減少控制開銷對帶寬資源的消耗.