王 海, 秦 蓁, 熊 飛, 朱 毅, 李艾靜, 于衛(wèi)波, 米志超
(陸軍工程大學 通信工程學院,江蘇 南京 210007)
無人集群是現(xiàn)代社會最重要的發(fā)展趨勢之一。預計在不久的將來,無人集群將應(yīng)用于各種工業(yè)場景中,包括軍事、應(yīng)急事務(wù)、農(nóng)業(yè)和野生動物保護等。軟件定義網(wǎng)絡(luò)(Software defined network,SDN)[1]是網(wǎng)絡(luò)的發(fā)展趨勢之一,并在5G網(wǎng)絡(luò)、數(shù)據(jù)中心等得到了廣泛應(yīng)用。將軟件定義網(wǎng)絡(luò)擴展應(yīng)用到無人集群組網(wǎng)也成為發(fā)展的必然。軟件定義網(wǎng)絡(luò)的具體實現(xiàn)有多種類型,如集中式軟件定義網(wǎng)絡(luò)、分布式軟件定義網(wǎng)絡(luò)和混合式軟件定義網(wǎng)絡(luò)。
無人集群在向分布式、大規(guī)模、智能自治的方向發(fā)展,重點需要5種能力:集群自治、人-機組隊、集群感知、集群組網(wǎng)和集群智能[2-3]。此外,為了有效應(yīng)對軍事任務(wù)需求,無人集群還要能夠克服固定架構(gòu)網(wǎng)絡(luò)的不足,適應(yīng)戰(zhàn)場未知多變環(huán)境,因而需要一個開放、可動態(tài)調(diào)整的網(wǎng)絡(luò)架構(gòu)。
在戰(zhàn)場環(huán)境中,無人集群對載荷業(yè)務(wù)數(shù)據(jù)和控制數(shù)據(jù)的傳輸有很高的要求[4]。由于無人集群是一種由具有移動性的無線設(shè)備組成的網(wǎng)絡(luò),始終處于頻繁變化的狀態(tài)(比如節(jié)點的離開或加入,集群隊形的變化等),所以無人機集群需要一個軟件架構(gòu),該架構(gòu)使集群能夠自主根據(jù)感知情況、計算和行動資源,動態(tài)完成感知、決策、實施等一系列任務(wù)。
集群的架構(gòu)需要有整合全體成員的能力,以及與集群外部的戰(zhàn)場網(wǎng)絡(luò)其他要素交互的能力。如圖1所示,為了適應(yīng)不同的通信交互場景(無人集群之間、集群與其他戰(zhàn)斗單元、集群與指揮所),需要采用多種通信手段如無線通信、衛(wèi)星通信、延遲容忍網(wǎng)絡(luò)(Delay tolerant network,DTN)等。不同的場景下采用不同的通信手段,這對于傳統(tǒng)的固定架構(gòu)網(wǎng)絡(luò)已經(jīng)很難實現(xiàn),更何況無人集群還需要將這些通信協(xié)議進行整合,滿足不同業(yè)務(wù)的不同服務(wù)質(zhì)量(Quality of service,QoS)要求。為了實現(xiàn)以上功能,適應(yīng)變化多樣的軍事需求,亟需為無人集群設(shè)計一種靈活魯棒的網(wǎng)絡(luò)架構(gòu)。
圖1 無人集群戰(zhàn)場要素交互示意圖
本文論證了分布式軟件定義網(wǎng)絡(luò)(Distributed software defined network,DSDN)特別符合無人集群組網(wǎng)的需求,可用于增強無人集群的整體組網(wǎng)能力,并與現(xiàn)有信息系統(tǒng)互聯(lián)形成有機整體,使這些網(wǎng)絡(luò)成為動態(tài)可調(diào)、自組織、自形成和開放結(jié)構(gòu)化的網(wǎng)絡(luò)。
論文的創(chuàng)新點如下:(1)論證了DSDN更適合無人集群無中心、自組織的組網(wǎng)特點;(2)論證了DSDN應(yīng)用于無人集群組網(wǎng)的多個優(yōu)勢;(3)構(gòu)建了DSDN架構(gòu)實例,驗證了DSDN應(yīng)用于無人集群組網(wǎng)的有效性。
軟件定義網(wǎng)絡(luò)近年來已成為“開放、可定義”網(wǎng)絡(luò)的代名詞,并在5G、數(shù)據(jù)中心等網(wǎng)絡(luò)中得到了廣泛的應(yīng)用。將軟件定義網(wǎng)絡(luò)應(yīng)用于新型的無人集群系統(tǒng)中也是比較直觀的。近年來,不少研究提出了將SDN與無人集群相結(jié)合,以及融入軟件定義網(wǎng)絡(luò)大系統(tǒng)的思路。Secinti等[5]基于SDN提出了一個空中網(wǎng)絡(luò)管理協(xié)議,無人機可以在控制器的指導下,使用SDN交換器,便于無人機快速有效選擇最優(yōu)的可用路由。但是,該架構(gòu)屬于集中模式,存在單點故障的風險,無法應(yīng)用于戰(zhàn)場環(huán)境。Zacarias等[6]針對最后一英里戰(zhàn)術(shù)邊緣網(wǎng)絡(luò)的不同QoS應(yīng)用需求,采用SDN與DTN結(jié)合的方案進行解決。但該方案需要保持網(wǎng)絡(luò)拓撲穩(wěn)定,在高動態(tài)性下表現(xiàn)不佳。Nobre等[7]使用SDN技術(shù)提出了一個網(wǎng)絡(luò)架構(gòu),可以適應(yīng)戰(zhàn)場網(wǎng)絡(luò)的動態(tài)性和異構(gòu)性,但其與Secinti等[5]架構(gòu)存在同樣的缺陷。Zhao等[8]為無人機輔助的應(yīng)急網(wǎng)絡(luò)提出了一個統(tǒng)一架構(gòu),可以在災難環(huán)境下建立網(wǎng)絡(luò),但不支持無人機的移動性。
文獻[9]為軟件化無人機網(wǎng)絡(luò)的數(shù)據(jù)分發(fā)設(shè)計了一種基于區(qū)塊鏈的安全數(shù)據(jù)分發(fā)方案,其可以檢測竊聽者,分析惡意數(shù)據(jù),緩解對SDN控制器的各種安全攻擊。文獻[10]提出了一個兩層SDN體系結(jié)構(gòu)來分離無人機控制。上層SDN控制器負責無人機配置的調(diào)度,下層SDN控制器負責無人機的區(qū)域協(xié)調(diào)。文獻[11]提出了一個超大規(guī)模的人群監(jiān)控系統(tǒng),旨在收集和處理與人群管理相關(guān)的多模式、多視角和實時擁擠數(shù)據(jù)。它采用SDN和邊緣云技術(shù),從基礎(chǔ)設(shè)施的角度優(yōu)化網(wǎng)絡(luò)和數(shù)據(jù)分析性能。文獻[12]采用了集中式的SDN架構(gòu),并且允許控制器對數(shù)據(jù)流量進行追蹤檢查。文獻[13]提出了一種基于SDN架構(gòu)和區(qū)塊鏈技術(shù)的新型無人機網(wǎng)絡(luò)。通過使用區(qū)塊鏈技術(shù),該架構(gòu)實現(xiàn)了邏輯集中但物理分離的控制平面,其主要負責無人機網(wǎng)絡(luò)的路由計算和配置管理。上述研究分別從不同角度探討了SDN與無人機網(wǎng)絡(luò)的結(jié)合策略,但基本是基于集中式SDN控制架構(gòu)。文獻[14]提出了一種分布式SDN控制架構(gòu),將整個區(qū)域劃分為多個子區(qū)域,在每個子區(qū)域內(nèi)都布設(shè)一個SDN控制器,每個控制器負責控制其本區(qū)域的所有節(jié)點??刂破鞒掷m(xù)監(jiān)視網(wǎng)絡(luò)狀態(tài)信息,并主動調(diào)整拓撲的近期更改。但沒有對分布式SDN控制器的其他應(yīng)用進行更深入探討。
綜合現(xiàn)有研究,將SDN應(yīng)用于無人集群大體上有3類架構(gòu),第一類是遵循傳統(tǒng)的集中式SDN控制架構(gòu),全網(wǎng)有一個邏輯的SDN控制器,該控制器可以位于無人節(jié)點之上,抑或位于無人節(jié)點之外的基礎(chǔ)設(shè)施之上,網(wǎng)內(nèi)所有節(jié)點均受該控制器控制;第二類是分布式SDN控制架構(gòu),即每個節(jié)點上都有一個本地SDN控制器,相互之間通過控制器之間的協(xié)調(diào)機制加以協(xié)調(diào);第三類是混合SDN架構(gòu),在無人集群中,部分節(jié)點擁有SDN控制器,管理一部分節(jié)點,而管理者之間通過控制器之間的協(xié)調(diào)機制加以交互。目前絕大多數(shù)研究都是采用第一類架構(gòu),少部分采用第三類混合架構(gòu),而采用第二類純分布式SDN控制架構(gòu)的研究很少。
本文提出一種適用于無人集群的全分布式SDN網(wǎng)絡(luò)架構(gòu)。與傳統(tǒng)的集中式SDN架構(gòu)不同的是,分布式SDN架構(gòu)可以有效避免集中式結(jié)構(gòu)導致的開銷和可用性/安全問題。在無人機網(wǎng)絡(luò)中,所有連接都是快速變化的無線信道,在整個任務(wù)過程中缺乏穩(wěn)定的數(shù)據(jù)連接通道。因此,如果在無人集群中設(shè)置一個集中式控制器,控制器本身就成了單一故障點,而控制器和轉(zhuǎn)發(fā)平面之間的連接將成為瓶頸。單點故障將大大降低網(wǎng)絡(luò)的魯棒性。換言之,傳統(tǒng)SDN的集中控制優(yōu)勢被集中結(jié)構(gòu)帶來的各種不便所掩蓋。因此,在動態(tài)環(huán)境中,分布式SDN更適合在復雜的無人集群環(huán)境中生存。集中式SDN與全分布式SDN的區(qū)別如表1所示。
表1 集中式SDN與DSDN對比
當前對純分布式SDN研究很少的原因是,直觀上看,SDN的優(yōu)勢就是其控制器的集中調(diào)配能力,當一個架構(gòu)放棄SDN的集中式屬性時,似乎就沒有采用SDN的必要了。一般認為,SDN網(wǎng)絡(luò)具有5個基本特征:平面分離、設(shè)備簡化、集中控制、網(wǎng)絡(luò)自動化、虛擬化和開放性[1]。當無人集群放棄“集中控制”這一特征時,其他4個特征仍然可以有效保留在無人系統(tǒng)網(wǎng)絡(luò)中發(fā)揮重要作用。
與某些混合式SDN解決方案不同,DSDN是在所有無人節(jié)點上都部署本地控制器,而控制器之間的協(xié)調(diào)仍然采用傳統(tǒng)的組網(wǎng)協(xié)議(如路由協(xié)議)完成,因而不會增加額外的控制器交互開銷,同時也不涉及控制器的選擇、選舉和協(xié)調(diào)過程。DSDN的每個節(jié)點都有自己的SDN控制器,每個節(jié)點之間的協(xié)調(diào)完全基于傳統(tǒng)的分布式協(xié)議,如傳統(tǒng)路由協(xié)議OLSR(優(yōu)化鏈路狀態(tài)路由協(xié)議)或其他可用的無人系統(tǒng)路由協(xié)議等。每個節(jié)點上的控制器將分布式交互協(xié)議視為控制器之上的應(yīng)用程序,并根據(jù)從這些協(xié)議中提取的邏輯做出本地控制器決策。DSDN的優(yōu)點是不會在網(wǎng)絡(luò)中引入新協(xié)議或開銷。采用DSDN架構(gòu)及與現(xiàn)有自組織網(wǎng)絡(luò)協(xié)議相結(jié)合的策略能夠很好地應(yīng)對分布式環(huán)境,并且每個節(jié)點只需要很少的更改。具體而言,對于每個節(jié)點,控制器和本地交換機取代了傳統(tǒng)的內(nèi)核轉(zhuǎn)發(fā)引擎,分布式網(wǎng)絡(luò)協(xié)議如資源預約協(xié)議和路由協(xié)議只需要修改接口以向本地SDN控制器交互信息,除此之外無須進行其他更改,如圖2所示。
圖2 基于DSDN的協(xié)議棧結(jié)構(gòu)與傳統(tǒng)協(xié)議棧比較
本文認為DSDN架構(gòu)特別適合無人集群網(wǎng)絡(luò),其優(yōu)點如下:
(1)DSDN可以在無人節(jié)點中引入最小節(jié)點處理延遲
眾所周知,無人集群對端到端數(shù)據(jù)包傳輸?shù)臅r間要求比傳統(tǒng)網(wǎng)絡(luò)嚴格得多,節(jié)點間交換的信息可能是位置和運動信息,這些信息對時間至關(guān)重要,其規(guī)模為毫秒級或者更小。較大的端到端延遲可能會導致節(jié)點間的沖突和網(wǎng)絡(luò)變形。如果目標區(qū)域固定且無線鏈路帶寬固定,則分組傳輸延遲和傳播延遲將是固定的,并且只有節(jié)點處理延遲和排隊延遲可以微調(diào)。幸運的是,DSDN結(jié)構(gòu)可以減小這兩種延遲。
在節(jié)點處理過程中,移動自組織網(wǎng)絡(luò)中中繼節(jié)點的傳統(tǒng)數(shù)據(jù)包處理過程是從傳入接口接收數(shù)據(jù)包,通過協(xié)議棧進行數(shù)據(jù)包處理,然后將數(shù)據(jù)包發(fā)送到傳出接口。整個過程將持續(xù)幾毫秒到幾十毫秒,甚至數(shù)百毫秒,這取決于中繼節(jié)點的處理能力。不幸的是,任務(wù)規(guī)劃、傳感器數(shù)據(jù)處理等繁重的處理負擔往往會使無人系統(tǒng)的中央處理器(Central processing unit,CPU)不堪重負,協(xié)議棧的資源很少,這反過來會降低整個網(wǎng)絡(luò)的性能。然而,在DSDN結(jié)構(gòu)的幫助下,分組轉(zhuǎn)發(fā)可以借助純硬件(DSDN交換機的硬件交換)來簡化節(jié)點處理,加速分組轉(zhuǎn)發(fā)速度,同時減輕節(jié)點CPU處理負擔,如圖3所示。
圖3 DSDN結(jié)構(gòu)中無控制器干預的數(shù)據(jù)包中繼
在新的結(jié)構(gòu)中,從任何一個輸入接口來的數(shù)據(jù)包都將被直接交付到DSDN交換機,DSDN控制器已經(jīng)通過OpenFlow對其進行編碼。數(shù)據(jù)包將直接被硬件交換到輸出接口,節(jié)點處理延遲將固定且最小。這樣,多跳端到端數(shù)據(jù)包傳送將成為一條快速交換路徑,整體節(jié)點處理延遲將最小。
(2)DSDN通過流量卸載,可以減少中繼無人節(jié)點的排隊延遲
排隊延遲會給網(wǎng)絡(luò)帶來很大的延遲,特別是對于數(shù)據(jù)量大、網(wǎng)絡(luò)瓶頸嚴重的網(wǎng)絡(luò)。不幸的是,這兩種情況在無人集群網(wǎng)絡(luò)中并不少見。傳統(tǒng)路由協(xié)議的最小代價路徑偏好會使情況進一步惡化。借助DSDN結(jié)構(gòu),數(shù)據(jù)流將更容易卸載,多QoS支持路由協(xié)議可以與控制器的應(yīng)用程序在同一平臺上運行,并且可以根據(jù)數(shù)據(jù)包的不同服務(wù)類型(Type of service,ToS)字段作出不同的數(shù)據(jù)包交換決策。
如果沒有集中式控制器,似乎很難實現(xiàn)全局優(yōu)化卸載解決方案,但是,數(shù)據(jù)卸載仍然可以通過一些本地有效的技巧來實現(xiàn)。例如,鏈路狀態(tài)路由協(xié)議可能會首先為最高優(yōu)先級的ToS數(shù)據(jù)包計算最短路徑,然后修剪已選擇的路徑,并為優(yōu)先級第二高的ToS數(shù)據(jù)包計算新路徑,直到該數(shù)據(jù)包沒有剩余路徑。很明顯,只要所有節(jié)點運行相同的路由邏輯,當網(wǎng)絡(luò)處于穩(wěn)定狀態(tài)時,就不會有網(wǎng)絡(luò)環(huán)路。因為在大多數(shù)情況下,無人集群網(wǎng)絡(luò)節(jié)點相對密集(這意味著發(fā)送方和接收方之間可能存在許多路徑),此類解決方案以及其他技術(shù)可用于卸載數(shù)據(jù)流量,并反過來大大減少排隊延遲。
(3)DSDN可以輕松實現(xiàn)服務(wù)分離和模塊重用
在無人集群網(wǎng)絡(luò)中,每個節(jié)點可能有多個無線模塊,每個模塊具有不同的用途。例如,無人機可能有一個特定的遠程低速無線模塊,用于飛行控制;它也可能有一個高速無線模塊,用于為機載傳感器(如照相機和三維掃描設(shè)備)傳輸大容量數(shù)據(jù)。具有不同傳輸能力的不同無線模塊加載在同一個平臺上,以滿足不同的需求。在傳統(tǒng)形式中,所有這些模塊都在“互不通氣”的模式下進行工作,它們彼此獨立開發(fā)、控制和工作。換句話說,它們從不“交談”,也不知道另一方的存在,但是它們卻在競爭和共享同一個頻譜資源。這種結(jié)構(gòu)大大增加了平臺的復雜性,降低了整個系統(tǒng)的整體性能。
在DSDN結(jié)構(gòu)的幫助下,所有無線設(shè)備都以統(tǒng)一的方式進行管理,如圖4所示,而不會喪失服務(wù)分離的能力。也就是說,通常DSDN控制器可以在特定模塊上限制某些服務(wù),此時無人系統(tǒng)各通信模塊提供的功能與傳統(tǒng)方式類似,但在必要時,也可以借助SDN控制器調(diào)整服務(wù)限制。例如當某個無人機飛行控制無線模塊出現(xiàn)故障時,傳統(tǒng)的解決方案將放棄該無人機,但在新的結(jié)構(gòu)中,飛行控制模塊也可以啟用其他接口來傳輸飛行控制信息,從而提高了整個系統(tǒng)的可靠性。同時,通過DSDN的開放式結(jié)構(gòu),只要平臺能夠支持,任何數(shù)量的無線模塊和任何應(yīng)用程序都可以安裝在同一平臺上。在某些特殊環(huán)境中,可以加載冗余無線模塊,以提高系統(tǒng)的可靠性,也可以使用它傳輸更多的數(shù)據(jù)回地面控制站。
圖4 用于服務(wù)分離和模塊重用的DSDN開放結(jié)構(gòu)
(4)多子網(wǎng)互聯(lián)可以通過多級流表輕松實現(xiàn)
子網(wǎng)互聯(lián)是實用的無人集群系統(tǒng)面臨的主要技術(shù)挑戰(zhàn)之一。在一個網(wǎng)絡(luò)化的世界中,沒有一個網(wǎng)絡(luò)可以與其他現(xiàn)有網(wǎng)絡(luò)完全分離。對于無人集群系統(tǒng)來說,如何融入更大的信息網(wǎng)絡(luò)體系是必須解決的問題。首先,無人機網(wǎng)絡(luò)應(yīng)與主干網(wǎng)等其他網(wǎng)絡(luò)相結(jié)合,向總部傳送端到端信息,或執(zhí)行來自總部的命令。其次,為了提高整體網(wǎng)絡(luò)可用性,大型無人機可以加入多個通信子網(wǎng),以實現(xiàn)數(shù)據(jù)傳輸?shù)亩鄻踊@?,當?shù)孛婵刂普九c無人機在視距范圍內(nèi)(Line of sight,LoS)或距離不超過10 km時,它可以采用L波段高頻段無線電以傳輸大容量數(shù)據(jù);而當無人機遠離視線時,它則可能通過搭載的衛(wèi)星調(diào)制解調(diào)器加入衛(wèi)星網(wǎng)絡(luò)來傳輸數(shù)據(jù)。由于衛(wèi)星資源有限,且延遲相對較大,因此當兩個網(wǎng)絡(luò)都可用時,L波段網(wǎng)絡(luò)將優(yōu)于衛(wèi)星網(wǎng)絡(luò)。而當L波段不可用時,系統(tǒng)應(yīng)自動切換到衛(wèi)星信道。但是這一能力在現(xiàn)有IP協(xié)議棧架構(gòu)中實現(xiàn)較為麻煩。IP協(xié)議棧只有一個轉(zhuǎn)發(fā)表項,切換信道涉及轉(zhuǎn)發(fā)表項動態(tài)更新問題,同時系統(tǒng)協(xié)議棧還有緩存和延遲,因而往往會導致信道切換出錯,這使得無人集群的跨網(wǎng)動態(tài)互聯(lián)一直以來都是一個復雜的負擔。
在DSDN結(jié)構(gòu)中,來自O(shè)penFlowV1.3的一個新特性為跨網(wǎng)互連提供了新手段:多級流表。可以使用多級流表來更好地實現(xiàn)動態(tài)子網(wǎng)互連。在圖5中,本文展示了一個具有3個子網(wǎng)的示例,該子網(wǎng)通過DSDN的三級流表標簽結(jié)構(gòu)實現(xiàn)互連,可以實現(xiàn)3個子網(wǎng)的動態(tài)切換。
圖5 3個子網(wǎng)互聯(lián)的三級流表設(shè)置
如圖5所示,每個子網(wǎng)都運行一個特定的路由協(xié)議,所有這些協(xié)議都作為DSDN控制器上的應(yīng)用程序運行。如果存在到某個目的地(例如目的地B)的路由,DSDN將通過OpenFlow對流表進行編碼,并發(fā)送到DSDN交換機。如果該路由是通過L波段無線電子網(wǎng)計算出的,則該路由將被寫入到DSDN交換機的一級流表中,因為L波段無線電網(wǎng)絡(luò)是最首選的。由其他子網(wǎng)路由算法計算的路由將分別寫入到二、三級流表中,它們使用的級別由管理員決定。例如,假設(shè)衛(wèi)星子網(wǎng)也有到目的地B的路由,該路由將被編碼到二級流表中。事實上,大多數(shù)首選路由都會被寫入到一級流表中,第二個首選路由將被寫入到二級流表中,等等。
當從任何無線接口接收到數(shù)據(jù)包時,它將首先檢查第一級流表,如果存在路由匹配,則數(shù)據(jù)包將切換轉(zhuǎn)發(fā)到最首選的子網(wǎng)。在圖4的情況下,目的地為B的數(shù)據(jù)包將傳輸?shù)絃波段子網(wǎng)。過了一段時間后,如果網(wǎng)絡(luò)中斷,L波段子網(wǎng)可能會丟失到目的地B的路由,因此L波段子網(wǎng)的路由協(xié)議會發(fā)現(xiàn)這種情況,然后由DSDN控制器使用OpenFlow命令依次刪除到目的地B的一級流表中的路由。后續(xù)數(shù)據(jù)包將不會在一級流表中找到匹配項,此時它會去尋找二級流表,并找到與目的地B的匹配項,此后數(shù)據(jù)包將轉(zhuǎn)發(fā)到衛(wèi)星子網(wǎng)。通過這種方式,任意數(shù)量的子網(wǎng)都可以無縫互聯(lián)。
綜上所述,筆者認為DSDN架構(gòu)在摒棄“集中控制”帶給無人集群的單點故障隱患,并沒有額外增加開銷的同時,其平面分離、設(shè)備簡化和網(wǎng)絡(luò)交換自動化、結(jié)構(gòu)開放化的特征仍然給無人集群組網(wǎng)帶來了巨大的便利,是一種非常適合無人集群的開放式網(wǎng)絡(luò)架構(gòu)。
前面介紹了DSDN架構(gòu)及其優(yōu)勢,正因為DSDN具有傳統(tǒng)SDN的開放式可擴充架構(gòu),從而使該結(jié)構(gòu)很容易增加其他新的模塊和功能。本節(jié)作為DSDN架構(gòu)的應(yīng)用實例,介紹課題組依托該架構(gòu)實現(xiàn)的延遲容忍網(wǎng)絡(luò)與常規(guī)路由融合的功能模塊。從而給DSDN架構(gòu)的擴展應(yīng)用提供參考。
在無人機網(wǎng)絡(luò)中,眾所周知,由于無人機機身的拓撲結(jié)構(gòu)和運動快速變化(無人機機身將屏蔽無線連接),因此要保持網(wǎng)絡(luò)始終連通是不可能的,在某些情況下,可能需要采用機會路由或DTN技術(shù)來確保重要的數(shù)據(jù)傳輸。然而,普通的DTN協(xié)議棧不同于普通的路由協(xié)議棧,因此在傳統(tǒng)的無人系統(tǒng)平臺上集成這兩個協(xié)議棧,從而實現(xiàn)有端到端路由時走路由,沒有端到端路由時走DTN成為一項困難的工作。在DSDN結(jié)構(gòu)的幫助下,可以很方便地實現(xiàn)兩套協(xié)議的動態(tài)集成,如圖6所示。
圖6 DTN與DSDN結(jié)構(gòu)的路由協(xié)議棧集成
如圖6所示,DTN協(xié)議模塊和路由協(xié)議模塊都作為DSDN控制器的應(yīng)用程序運行,轉(zhuǎn)發(fā)決策將由DSDN控制器編碼到DSDN交換機中。例如,當存在到目的地B的路由(由路由協(xié)議模塊計算)時,該路由將通過OpenFlow在DSDN交換機中編碼。目的地為B的所有數(shù)據(jù)包將通過DSDN交換機直接交換。這些數(shù)據(jù)包將根本不上傳DSDN控制器。一段時間后,假設(shè)到目的地B的路由被破壞,路由協(xié)議將發(fā)現(xiàn)該路由在一定時間后過時。然后,此路由將從DSDN交換機中刪除。在此之后,目標為B的數(shù)據(jù)包將不再在DSDN交換機中找到匹配項,也不再由DSDN進行交換。對于目的地為B的普通數(shù)據(jù)包,應(yīng)直接丟棄。然而,一些目的地為B的數(shù)據(jù)包上會有一個特定的ToS字段(在本例中,特殊地,將需要延遲容忍網(wǎng)絡(luò)處理的數(shù)據(jù)包設(shè)置為ToS=222)。這意味著這些數(shù)據(jù)包足夠重要,它們應(yīng)該被延遲容忍網(wǎng)絡(luò)機會式傳輸,而不應(yīng)被丟棄。DTN協(xié)議模塊已經(jīng)將這樣的ToS字段編碼到DSDN交換機中,此時就是目的地為B,ToS=222的數(shù)據(jù)包。當從任意一個無線接口收到目的地為B且ToS等于222的數(shù)據(jù)包時,通過查詢DSDN交換機找不到匹配的交換表項,但是卻在交換機中指示將這些數(shù)據(jù)包上交控制器。這些數(shù)據(jù)包隨后將通過控制器傳送到DTN協(xié)議模塊。在那里,這些數(shù)據(jù)包將在DTN協(xié)議邏輯的控制下被檢查、中繼到其他節(jié)點。通過這種方式,兩個協(xié)議模塊就有機集成在了同一個無人平臺中。
本文提出了一種分布式軟件定義網(wǎng)絡(luò)架構(gòu)DSDN,論證了該架構(gòu)存在的優(yōu)點,并將延遲容忍網(wǎng)絡(luò)作為一個應(yīng)用案例,介紹了該架構(gòu)在無人集群系統(tǒng)中的應(yīng)用。該架構(gòu)已在課題組所構(gòu)建的實際無人集群網(wǎng)絡(luò)中得到了應(yīng)用,在應(yīng)用過程中,課題組越來越深刻地感受到了該架構(gòu)的開放性與易用性。
當然,分布式結(jié)構(gòu)很容易引起人們對網(wǎng)絡(luò)陷入局部最優(yōu),甚至形成網(wǎng)絡(luò)環(huán)路的擔憂。通過實際應(yīng)用發(fā)現(xiàn),SDN的路由策略也像普通路由器一樣具有查找網(wǎng)絡(luò)環(huán)路的機制,當網(wǎng)絡(luò)發(fā)生振蕩時,在大多數(shù)情況下,這些網(wǎng)絡(luò)環(huán)路的查找機制也足夠應(yīng)付。而在網(wǎng)絡(luò)剛剛啟動,尚不收斂的暫態(tài)情況下,即便是集中式控制器也無法做出正確的決策,并且會引入巨大的開銷以使情況惡化。考慮到所有這些因素,可以得出結(jié)論,DSDN結(jié)構(gòu)比普通集中式SDN結(jié)構(gòu)更適合無人集群系統(tǒng)的組網(wǎng)。本文列出的優(yōu)點和應(yīng)用案例在無人集群組網(wǎng)時非常有用,除此之外,其他一些解決方案中廣泛使用的策略同樣也可以用于DSDN架構(gòu)中,例如訪問控制、網(wǎng)絡(luò)保護、網(wǎng)絡(luò)流重定向等。有關(guān)這些領(lǐng)域的應(yīng)用和探討將在未來的工作中繼續(xù)加以深入研究。