張思耀,吳靜,江昊,相煜帆
(武漢大學電子信息學院,湖北 武漢 430072)
空間延遲容忍網絡半物理仿真平臺的設計和實現(xiàn)
張思耀,吳靜,江昊,相煜帆
(武漢大學電子信息學院,湖北 武漢 430072)
空間延遲容忍網絡(DTN)架構通過“存儲—攜帶—轉發(fā)”等功能可以有效地支持具有長時延、高誤碼率、鏈路頻繁通斷等特性的深空通信網絡。由于深空通信方面應用的實驗不易搭載測試,于是,搭建準確可信的半物理仿真平臺對深空通信任務的設計進行仿真論證是非常必要的。提出了支持各種特定的深空通信任務仿真的空間DTN半物理仿真平臺。本仿真平臺為深空通信新理論、技術等提供地面仿真與驗證,為開展深空通信應用研究提供了分析工具以及測試手段。
延遲容忍網絡;深空通信;半物理仿真平臺;SDN
隨著空間通信方面的需求日益增加,空間通信逐漸趨向網絡化發(fā)展,而且這種趨勢已成為空間通信研究的主流。空間網絡具有時延長、誤碼率高、網絡拓撲不斷變化、鏈路通斷頻繁等特點,使得在報文傳輸?shù)倪^程中,收發(fā)兩端不能穩(wěn)定地保持端到端的路徑。DTN(delay tolerant network,延遲容忍網絡)可以提供跨越間歇、中斷、動態(tài)網絡的可靠消息傳遞,適合應用于空間網絡這類受限網絡,為空間網絡互聯(lián)提供有效連接方式。空間DTN將DTN結構[1]引入空間網絡體系中。
空間DTN在深空通信方面已有許多研究。NASA(美國國家航空航天局)開展了大量的空間DTN互聯(lián)研究。在國際空間站的應用環(huán)境中,也進行了相應的DTN應用驗證實驗[2],空間站上進行的生物實驗生成的實驗數(shù)據被成功地傳回地面控制中心。在基于DTN體系結構的深度撞擊航天器中進行了數(shù)據傳輸飛行驗證[3],項目將300幅圖像從地面?zhèn)鞯缴疃茸矒艉教炱骱蟪晒骰兀瑢贒TN的空間網絡數(shù)據傳輸?shù)脑S多環(huán)節(jié)(數(shù)據束的生成、傳輸、獲取、動態(tài)路由計算、擁塞控制等)進行了驗證。災難檢測星座是由一些近地軌道衛(wèi)星組成的星座,在這個星座中也開展基于DTN的數(shù)據傳輸飛行驗證實驗[4],對地面遙測的數(shù)據先保存,等到適當?shù)臅r機再通過地面站傳回控制中心。參考文獻[5]描述了在NASA的空間網絡環(huán)境中按需提供快速上行數(shù)據服務的方案。該方案提出了一種動態(tài)的、按需服務的方式:通過使用DTN協(xié)議棧,以一種清晰、簡潔的方式滿足服務的數(shù)據傳輸需求。ESA(European Space Agency,歐洲航天局)資助的“擴展 Internet到太空”[6]是一個研究開發(fā)項目,在一個實驗平臺主體上實現(xiàn)CCSDS(Consultative Committee for Space Data Systems,國際空間數(shù)據系統(tǒng)咨詢委員會)和DTN的許多協(xié)議。DTN為SIS提供了有效的解決方案,但是目前太空中已經部署了大量各種類型的資產,不可能一步到位地在其中部署DTN協(xié)議。為此CCSDS提出了DTN體系與現(xiàn)有的協(xié)議體系共存,并最終發(fā)展到以DTN為主的體系結構演進方案[7]。
我國空間信息網絡建設起步比較晚,在DTN方面的研究主要集中在移動無線傳感器網絡、無線移動自組織網的路由算法等細節(jié)技術層面,并沒有在系統(tǒng)層面上提出可靠的解決方案,而且也沒有具體的異構網絡互聯(lián)的可操作性規(guī)范,在航天領域尤其是在深空通信中的應用研究仍是空白。深空通信面臨著與傳統(tǒng)地面無線通信截然不同的通信難題,不僅對技術要求高,同時具有高成本、高風險的特點,研究代價大,因此,在深空通信任務進行前,建立準確、可靠的仿真平臺進行前期的仿真論證是必要的
國內外面向DTN設計實現(xiàn)的仿真平臺主要有NS2、OMNeT++、DTNsim和ONE等。NS2和OMNeT++主要針對通用的網絡,對DTN不具備良好支持,而且需要用戶自己開發(fā)特定模塊,如果要進行深空通信網絡仿真,效果不好,而且開發(fā)起來比較困難;DTNsim和ONE仿真器都是針對DTN開發(fā)的模擬器,然而DTNsim只是集中在路由的模擬,不符合本文的要求,而ONE具有模擬分析多種DTN協(xié)議的能力,在DTN模擬中具備很強大的優(yōu)勢,但是ONE仿真的環(huán)境缺少物理層和鏈路層的支持,換句話說,只是在軟件層面對DTN進行仿真,只能模擬傳輸虛擬數(shù)據,不能進行真實的數(shù)據傳輸。為了能夠直觀、真實、系統(tǒng)地仿真深空通信網絡,基于用戶特定的深空通信場景,本文搭建了空間DTN半物理仿真平臺,在深空通信載體對應的PC間模擬深空通信網絡中真實的數(shù)據傳輸。利用流量控制工具Netem模擬深空通信網絡的長時延、高分組丟失率、高誤碼率等特性,而鏈路的頻繁通斷則基于SDN(software defined networking)架構來實現(xiàn),從而達到與深空通信場景相對應的網絡拓撲。通過實驗證明,本平臺仿真模擬的空間鏈路靈活性好、參數(shù)全面可配置,而且是對深空環(huán)境的真實模擬;在HLA架構下,采用聯(lián)邦管理各聯(lián)邦成員,成員之間互不影響,仿真平臺擴展性以及重用性好。
仿真平臺應實時反映出深空通信環(huán)境,對相應參數(shù)(傳輸時延、誤碼率、鏈路狀態(tài)等)進行實時的自動更新。深空通信過程復雜,需要仿真平臺具備多個子系統(tǒng)來同步模擬,采用HLA/RTI時間管理技術可以使各個子系統(tǒng)分別保持數(shù)據中時間邏輯同步以及各子系統(tǒng)間的信息和數(shù)據交互同步。整個平臺包含3個子模塊:數(shù)據中心模塊、深空環(huán)境仿真模塊和通信節(jié)點模塊。平臺整體結構如圖1所示,RTI(run-time infrastructure)為運行支撐環(huán)境。

圖1 仿真平臺結構示意
真實的深空通信場景可以通過STK (satellite tool kit)衛(wèi)星工具軟件包來模擬仿真,但真實的數(shù)據流動則必須由對應的通信節(jié)點設備實現(xiàn),所以得采用硬件設施(電腦)來模擬通信節(jié)點設備。在數(shù)據傳輸過程中,各節(jié)點能完整地模擬數(shù)據的保管傳輸、存儲轉發(fā)和間斷連接等特性。在實現(xiàn)中,為了節(jié)省資源,采用虛擬化的方式在一臺主機上模擬多個網絡節(jié)點,這就對虛擬機(VM)的I/O性能有很高的要求。虛擬機操作系統(tǒng)多數(shù)情況下是通過VMM(virtual machine monitor,虛擬機監(jiān)視器)來與硬件進行通信,由VMM來決定其對系統(tǒng)上所有虛擬機的訪問,而VMM工作運行則會進一步增加服務器處理器的負載。這里采用Intel虛擬化技術(VT),直接分配物理 I/O設備給 VM,這個模型下,VM內部的驅動程序直接和硬件設備直接通信,只需要經過少量或者不經過VMM的管理,這個模型幾乎完全消除了在VMM中運行驅動程序的需求,從而大大提升了虛擬化的I/O性能。具體的實現(xiàn)是:每臺主機上通過KVM虛擬機虛擬出4個節(jié)點,每個節(jié)點擁有兩塊網卡:虛擬網卡(管理網卡)和PCIe物理網卡(通信網卡),前者用于與數(shù)據收集調度分析模塊交互,接收配置命令,后者用于通信仿真中Bundle分組傳輸。
根據已經發(fā)布的DTN協(xié)議,DTN研究小組已經用C++語言實現(xiàn)了DTN協(xié)議的原型——DTN2軟件,DTN2中實現(xiàn)了Bundle協(xié)議中的幾乎全部關鍵功能,如Bundle分組的托管傳輸、Bundle路由以及數(shù)量眾多的匯聚層實現(xiàn),可以直接用于實際的部署。直接將DTN2編譯安裝在VM上。外部主機主要用于管理VM,包括創(chuàng)建、分配資源、啟動和停止等操作,內部VM則運行DTN協(xié)議棧和通信應用,模擬真實的DTN通信。在每臺電腦上搭建的虛擬化平臺如圖2所示。

圖 2 節(jié)點軟硬件平臺示意
模擬深空通信真實場景可以為仿真平臺提供實時鏈路信息,主要包括空間DTN中各個通信設備間的鏈路實時通斷情況、鏈路質量(時延、上下行帶寬比)、鏈路傳輸性能等。STK中的仿真功能可以實時提供所需的各種仿真參數(shù)。需要將這些仿真參數(shù)反饋到真實的通信鏈路上。在通信過程中,通信節(jié)點之間的鏈路傳輸性能(時延、誤碼率、分組丟失率),可以通過Linux系統(tǒng)下的Netem模塊實現(xiàn),通過Netem設置帶寬限制、分組丟失率和時延等參數(shù),以達到真實的空間鏈路效果。使用到的主要命令及其功能見表1。

表1 Netem命令及其功能
深空通信中的網絡拓撲是在不斷變化的,鏈路通斷頻繁。這里采用SDN的思想模擬深空通信中的各個通信節(jié)點間鏈路的通斷,通過流表控制SDN交換機以達到鏈路通斷目的。Floodlight控制器是開源的SDN控制器,提供REST API編程接口,通過REST API可以使用HTTP的get/post/delete方法實現(xiàn)對流表的信息獲取、添加、刪除等操作,見表2。圖3所示為利用Floodlight控制SDN交換機的示意,工作過程如下:控制程序利用STK提供的connect命令,通過執(zhí)行命令獲取各個STK對象之間的access信息;在可見性的starttime和endtime時間點調用Floodlight提供的REST API,進行流表修改,即可控制通信節(jié)點之間的通斷。而在通信過程中,拓撲是動態(tài)變化的,鏈路的通斷也不斷變化,所以利用Floodlight下發(fā)的流表應該實時更新。在控制程序中設計了一個算法,由于對象之間的可見性都有間隔,于是每隔0.1 s獲取當前STK場景里的時間,然后判斷是否在某一段可見性時間內,基本的算法流程如圖4所示,這樣就實現(xiàn)了鏈路動態(tài)變化。

表2 本平臺常用的REST API

圖3 Floodlight控制SDN交換機示意
數(shù)據中心模塊主要有3個功能:數(shù)據采集、數(shù)據處理分發(fā)和數(shù)據分析。
(1)數(shù)據采集
采集當前深空通信場景仿真的實時數(shù)據和仿真過程中真實數(shù)據流的統(tǒng)計信息。
(2)數(shù)據處理分發(fā)
依據這些采集的數(shù)據進行評判,然后分發(fā)給各個通信節(jié)點,保證節(jié)點根據參數(shù)模擬通信鏈路,從而保證數(shù)據有效運行。
(3)數(shù)據分析
分析數(shù)據流的統(tǒng)計信息,將這些信息提供給指標函數(shù)進行更新計算。
在數(shù)據傳輸以及接收的過程中,數(shù)據中心模塊通過RTI與 VM(通信節(jié)點)的 dtnd(delay tolerant network daemon,dtn守護進程)通信,獲取所需的性能參數(shù),并進行計算得到要求的性能指標。指標計算的大體工作過程是:按固定間隔發(fā)送命令,獲取統(tǒng)計信息,將統(tǒng)計信息提供給各指標的計算函數(shù)進行更新計算,將計算結果呈現(xiàn)在圖表中,其工作流程如圖5所示。數(shù)據中心模塊程序通過Telnet協(xié)議連接位于VM中的dtnd進程,發(fā)送統(tǒng)計命令以獲取統(tǒng)計信息。
已實現(xiàn)的指標有5個:隊列長度、平均成功交付率、報文傳輸比、網絡平均時延、網絡開銷比。
(1)隊列長度
假設在仿真時刻t,節(jié)點i上緩存的Bundle報文數(shù)量為 Mi,則節(jié)點 i在時刻t的隊列長度為 Mi。
(2)平均成功交付率

圖4 動態(tài)下發(fā)流表的算法流程

圖5 指標計算顯示的流程
假設在仿真時間[0,t)內,共有N個節(jié)點生成并發(fā)送了Bundle報文。對于節(jié)點i∈[1,N),將它發(fā)送的 Bundle報文總數(shù)記為xi;將xi個Bundle報文中,成功到達目的節(jié)點的Bundle報文數(shù)量記為yi,那么在仿真時間[0,t)內,平均成功交付概率可以定義為:

(3)報文傳輸比
在仿真時間[0,t)內,將各網絡節(jié)點新生成的Bundle報文總數(shù)記為X(不包含由于路由策略不同,而產生的Bundle報文復制);將X個Bundle報文中,成功傳送到目的節(jié)點的數(shù)量記為Y,則報文傳輸比可以定義為:

(4)網絡平均時延
在仿真時間[0,t)內,將各網絡節(jié)點新生成的Bundle報文總數(shù)記為X。對于Bundle報文i∈[1,X),將它從源節(jié)點開始,到達目的節(jié)點為止,所花費的時間記為ti,則網絡平均時延可以定義為:

(5)網絡開銷比
在仿真時間[0,t)內,將已經開始傳送,但最終沒有到達目的節(jié)點的Bundle報文總數(shù)記為Q,將已經開始傳送,并最終成功到達目的節(jié)點的Bundle報文總數(shù)記為P,則網絡開銷比可以定義為:

前文分別介紹了3個模塊的設計及實現(xiàn),整個平臺的具體部署結構如圖6所示,4個Linux主機實現(xiàn)通信節(jié)點模塊,控制程序中DTN路由及鏈路的配置、數(shù)據傳輸服務配置、鏈路參數(shù)的配置、交換機控制各個DTN節(jié)點鏈路屬于深空通信環(huán)境模塊,而數(shù)據采集分析及處理和虛擬機的管理程序則屬于數(shù)據中心模塊。平臺的工作流程如圖7所示。STK仿真程序先建立仿真場景,計算節(jié)點軌跡、覆蓋性等并保存。控制臺從STK獲取場景文件等,送給STKX進行場景演示。控制臺將場景信息經過轉換后生成SDN控制器可識別的指令,由SDN控制器執(zhí)行并對SDN交換機進行鏈路配置。控制臺將鏈路狀況信息發(fā)送給節(jié)點模擬設備的Netem模塊,Netem模塊根據這些信息進行節(jié)點的鏈路配置。全部信息配置好后,系統(tǒng)開始運行,STKX實時顯示2D、3D場景,節(jié)點模擬設備的DTN2根據鏈路情況控制業(yè)務源發(fā)送業(yè)務數(shù)據。節(jié)點模擬設備將狀態(tài)信息實時回送給控制臺程序進行同步顯示。

圖 6 平臺具體部署結構
根據深空通信的特性,此處采用了一種比較典型的月球信息采集場景,數(shù)據源為環(huán)月衛(wèi)星A,中繼節(jié)點為拉格朗日點的衛(wèi)星B和地球同步衛(wèi)星C,地面站為數(shù)據接收端。仿真場景如圖8所示。在通信過程中,環(huán)月衛(wèi)星A圍繞月球飛行時不斷采集信息,A不能時刻保持與B的通信鏈路,它將需要傳送的消息進行緩存,當A移動到B的通信范圍內時,向B交付消息。B收到消息后可能與衛(wèi)星C也沒有直接的通信鏈接,必須對消息進行緩存,待C運動到B的通信范圍內時,B與C建立通信連接,B將消息發(fā)送給C,C將消息最終交付給D。

圖7 平臺工作流程

圖8 仿真場景

圖9 隊列長度曲線
此場景選用圖片作為傳送數(shù)據,選用圖片的優(yōu)勢是:在通信過程中,根據圖片的同步接收及顯示情況可以直觀地反映出深空通信環(huán)境的變化對數(shù)據傳輸?shù)挠绊懠八O計的深空通信任務方案的可行性。在仿真過程中可以得到各指標曲線,圖9為隊列長度曲線,隊列長度曲線可以很直觀地反映出通信過程中,通信節(jié)點緩存Bundle分組數(shù)量的變化情況,所以這里主要分析隊列長度曲線。
在最初階段,環(huán)月衛(wèi)星和地面站的視頻流是連通的,所以環(huán)月衛(wèi)星和拉格朗日點衛(wèi)星的緩存隊列為0,隨著衛(wèi)星的運轉,拉格朗日點衛(wèi)星和地球同步衛(wèi)星GEO的鏈路斷開,這時拉格朗日點的衛(wèi)星仍在繼續(xù)接收環(huán)月衛(wèi)星傳來的數(shù)據,且將這些數(shù)據緩存在Bundle層里面,所以曲線在不斷上升。在環(huán)月衛(wèi)星和拉格朗日點衛(wèi)星的鏈路斷開之后,環(huán)月衛(wèi)星開始緩存數(shù)據,曲線開始上升,而拉格朗日點緩存的數(shù)據上升速率會有變化,主要由拉格朗日點和GEO之間的鏈路通斷引起。后面的情況也如此。隊列長度曲線如預期的變化也驗證了仿真平臺在模擬深空通信過程方面的可行性。圖10分別為其余4個指標的曲線。
由圖10可以看出,報文傳輸比和平均成功交付率以及網絡開銷比的曲線形狀大致相似,從式(1)、式(2)、式(4)來分析,平均成功交付率類似于報文傳輸比的平均值,都是到達的Bundle分組在所發(fā)出的Bundle中的比例,所以曲線相似,而網絡開銷比就是未收到的Bundle分組與收到的Bundle分組的比值,所以也與報文傳輸比、平均成功交付率的曲線類似。圖 10(a)、圖 10(b)中曲線的下降階段,表示抵達的Bundle分組的速率對比發(fā)出的Bundle分組速率直線下降,而這個時段正是鏈路斷開,Bundle分組不斷產生的時候;而曲線上升則表示鏈路連通,Bundle分組會不斷地到達目的接收端,與STK中運行中的場景正好對應。圖10(c)中曲線的高低分別對應未抵達Bundle分組的多少,由于場景正在運行中,在不斷地產生Bundle分組,而產生Bundle分組的速率比到達目的地的Bundle分組的速率快,所以未到達目的地的Bundle分組很多,但是在通信過程的后期,發(fā)出分組的速率變小或者分組越來越少時,未到達的分組比例會變少,曲線會一直下降,直到一個合適的比例。圖10(d)中曲線上升階段正是目的接收端與數(shù)據轉發(fā)節(jié)點端鏈路斷開的階段,所以這個時候時延會一直上升,時延比較大,而一旦鏈路連通時,時延會急速下降,與STK中運行的場景相對應。

圖10 仿真平臺指標曲線
本文實現(xiàn)了一套實時性好、可擴展重用以及互操作性好的分布式空間延遲容忍網絡半物理仿真平臺。通過STK軟件仿真空間環(huán)境系統(tǒng),把真實的空間環(huán)境實時地映射到平臺中。通過虛擬化的方式在資源占用率低的情況下模擬出多個通信節(jié)點,而且運用SDN的方法以及流量控制工具,解決了模擬深空通信環(huán)境中鏈路的動態(tài)變化難題,實現(xiàn)與空間環(huán)境同步的DTN通信仿真。在特定的場景模擬了真實的數(shù)據傳輸,完成了本平臺上的仿真,同時也驗證了本平臺設計實現(xiàn)的可行性。該平臺能夠為相關通信技術提供切實可行的驗證手段和實現(xiàn)分析方法。但是本平臺還有些許不足,比如SDN控制器目前只部署在模擬地面站節(jié)點中,這會導致在地面站對衛(wèi)星不可見的時候,SDN控制器會失去控制效果。而對于深空通信環(huán)境的模擬,深空通信環(huán)境遠比想象復雜,比如磁暴、宇宙噪聲、電波的傳輸損耗等對鏈路傳輸質量帶來的影響在本平臺中并未考慮。后期的工作重點會放在SDN控制器在飛行器的部署和SDN控制器的集群以及使用衛(wèi)星鏈路仿真器 (satellite link emulator,SLE)來模擬真實鏈路上。
[1]CERF V,BERLEIGH S,HOOKE A,et al.Delay-tolerant networking architecture[EB/OL]. (2013-05-07)[2016-03-24].htttp://tools.ietf.org/html/rfc4838.
[2]JENKINS A,KUZMINSKY S,GIFFORD K K,et al.Delay/disruption-tolerantnetworking:flighttestresults from the international space station[C]//2010 IEEE Aerospace Conference,March 6-13,2010,Big Sky,MT,USA.New Jersey:IEEE Press,2010:1-8.
[3]WYATT J,BURLEIGH S,JONES R,et al.Disruption tolerant networking flight validation experiment on NASA’s EPOXI mission[C]//2009 First International Conference on Advances in Satellite and Space Communications,July 20-25,2009,Colmar,France.New Jersey:IEEE Press,2009:187-196.
[4]WOOD L,IVANCIC W,EDDY W,etal.Useofthe delay-tolerant networking bundle protocol fromspace[EB/OL].(2008-06-03)[2016-03-24].https://www.researchgate.net/publication/228598657_Use_of_the_Delay-Tolerant_Networking_Bundle_protocol_from_space.
[5]ISRAEL D J,DAVIS F,MARQUART J.A DTN-based multiple access fast forward service for the NASA space network[C]//2011 IEEE Fourth International Conference on Space Mission Challenges for Information Technology(SMC-IT),Aug 2-4,2011,Palo Alto,CA,USA.New Jersey:IEEE Press,2011:61-65.
[6]DISCOS:distributed information storage and communication in outer space[EB/OL]. (2013-05-17)[2016-03-24].http://www.intersys-lab.org/pages/projects.php.
[7]CCSDS. CCSDS 734, 0-G-1 rationale, scenarios, and requirements for DTN in space[S].2010.
Design and implementation of semi-physical simulation platform in space delay tolerant network
ZHANG Siyao,WU Jing,JIANG Hao,XIANG Yufan
School of Electronics and Information,Wuhan University,Wuhan 430072,China
The architecture of space delay tolerant networking can effectively support a deep space communication network with long delay,high error rate and on-off frequently link characteristics through “store-carry-forwards” and other features.Due to the experiment of application of deep space communication is not easy to carry,so building an accurate and reliable semi-physical simulation platform for simulating and making an argumentation of the design of deep space communication tasks was very necessary.A space DTN semi-physical simulation platform was proposed which supported a variety of specific deep space communication tasks simulation.The simulation platform provided new theory and technology for ground simulation and verification,and provided analysis tools and test instruments for carrying out deep space communication application study.
delay tolerant network,deep space communication,semi-physical simulation platform,SDN
s:Higher Education Cooperation Foundation of the 54th Research Institute of China Electronics Technology Group Corporation“the Key Technology Research and Performance Simulation in Spatial Information Network and SDN”,Autonomous Science Research Project in Central Affiliated University(No.2042014gf020,No.2042014kf0256),Natural Science Foundation of Hubei Province of China(No.2014CFB716,No.2011CDA042),The National Natural Science Foundation of China(No.61371126)
TP393
A
10.11959/j.issn.1000-0801.2016187
2016-03-24;
2016-07-07
中國電子科技集團公司第54研究所高校合作基金資助項目“空間信息網絡SDN關鍵技術研究與效能仿真驗證”;中央高校自主科研項目(No.2042014gf020,No.2042014kf0256);湖北省自然科學基金面上項目(No.2014CFB716,No.2011CDA042);國家自然科學基金資助項目(No.61371126)

張 思 耀 (1990-),男 ,武 漢 大 學 電 子 信 息 學院碩士生,主要研究方向為無線網絡、DTN、SDN 等。

吳靜(1981-),女,武漢大學電子信息學院副教授,主要研究方向為網絡管理和性能優(yōu)化、網絡路由技術。

江昊(1976-),男,武漢大學電子信息學院教授、博士生導師,主要研究方向為無線網絡、移動互聯(lián)網、大數(shù)據分析與挖掘、空間綜合信息網絡等。

相煜帆(1992-),男,武漢大學電子信息學院碩士生,主要研究方向為無線網絡、DTN、SDN 等。