陳新宇,王曉鋒,劉 淵
江南大學 人工智能與計算機學院,江蘇 無錫 214122
隨著空間基礎設施的更新迭代,衛星產業應用得到飛速發展,空間信息資源逐漸成為各個國家重要的戰略資源。而天地一體化信息網絡憑借其在空、天、地三維空間上強大的資源整合能力能夠滿足國家在國防和民生建設中對全方位信息采集的需求,因此成為各國爭相發展的重要戰略性基礎設施。天地一體化信息網絡是一種異構、動態的復雜網絡,主要包含天基與陸基兩部分,其中高軌和中低軌道的衛星、飛機、高空平臺等屬于天基網,位于陸地、海面平臺的各種地面站、艦船、地面廣域網節點等屬于陸基網[1]。
在天地一體化信息網絡發展過程中,面向對空間網絡通信協議的性能評估需求、對空間網絡安全攻防測試的需求以及對各種新技術和系統的測試和評估需求[2],從經濟、時間成本考慮,比起真實的衛星網絡,搭建成本低、時間短的衛星網絡仿真測試系統更具有現實價值意義[3]。
傳統的基于離散事件模擬的仿真工具雖然可用于對衛星網絡的仿真,但由于缺乏相關功能模塊因此需要進行后續不同程度的開發,此外更無法搭載真實業務系統與流量。而虛擬化技術[4]和云計算技術[5]通過將資源邏輯化并進行整合管理因而具備更優秀的仿真能力,為衛星網絡仿真方案設計提供了新的思路[6]。
但是當前眾多基于虛擬化技術和云計算技術的仿真方案在實現衛星網絡拓撲仿真和鏈路仿真過程中仍然存在一些問題:衛星網絡拓撲仿真場景生成方案易用性低、衛星網絡鏈路仿真的時效性不強以及實時動態仿真精確度低等。因此本文針對在衛星網絡拓撲仿真過程中繁雜低效的解析問題,研究了衛星網絡拓撲解析與生成技術;其次針對衛星網絡鏈路實時仿真過程中存在的時效性差問題,研究了衛星網絡鏈路快響應仿真技術;最后為實現實時動態地衛星鏈路仿真高逼真性能,研究了鏈路校正策略。通過以上三方面的研究,解決目前衛星網絡拓撲場景仿真在拓撲仿真過程中存在的易用性差的問題,在鏈路仿真過程中存在的響應速度慢,精確度低的問題。
傳統的基于離散事件模擬技術的仿真工具,如商業軟件OPNET[7-8]、Systems Tool Kit(STK)[9]以及開源軟件NS2[10]、NS3[11-12]、OMNeT++[13]等,雖然可通過對相關模塊進行后續開發進而滿足衛星網絡仿真需求,但數字仿真無法搭載真實業務系統與流量,因此并不是搭建衛星網絡仿真平臺最佳的選擇方案。當前基于虛擬化、云計算的衛星網絡仿真方案成為一種趨勢,代表性工作主要包括兩個方面,一是衛星網絡拓撲仿真,二是衛星鏈路仿真。
在網絡拓撲仿真方面,虛擬化技術由于具備優秀的資源管理能力,同時更具備對真實業務流量的加載能力,因此成為衛星網絡仿真的主要實現方案。EmuStack仿真平臺[14]使用輕量級虛擬化技術Docker實現對大規模拓撲的仿真;一種天地一體化信息網絡仿真平臺[15]采用全虛擬化技術KVM完成對衛星網絡拓撲的仿真;一種基于云的仿真平臺[16]和SGIN-Stack[17]融合了全虛擬化技術KVM以及輕量級虛擬化技術Docker兩種虛擬化方案,完成對衛星網絡拓撲的動態仿真。但以上研究成果在網絡拓撲仿真過程中都存在不同程度的手動配置和解析過程,這些對網絡拓撲結構的解析工作限制了仿真架構的可復用性和可擴展性。
同時在鏈路仿真方面,網絡流量控制工具(traffic control,TC)以其強大的流量整形能力成為研究人員主要的鏈路性能仿真實現方案。EmuStack[14]是一種基于OpenStack的用于延遲容忍網絡的大規模實時仿真平臺,EmuStack集成了TC與OpenStack,能夠實現對可變帶寬、延遲、丟包率等鏈路性能的仿真,但仿真精度較低;Benet等[18]首次提出一種將OpenStack和基于軟件定義網絡(software defined network,SDN)的控制器結合的測試床,主要用于對虛擬機遷移策略、路由負載平衡方案的性能測試和評估,但并未針對衛星網絡實現對網絡鏈路性能的仿真;賴俊宇等[16]提出一種向用戶提供網絡仿真執行即服務(NEaaS)的概念,基于OpenStack以及網絡功能虛擬化技術、SDN技術、TC等技術設計并實現了一種網絡仿真平臺,能夠實現對衛星網絡拓撲的靜態、動態仿真以及鏈路性能的定制仿真,但是在實時仿真精度上有所欠缺;一種天地一體化信息網絡仿真平臺[15]融合OpenStack和STK構建天地一體化信息網絡仿真平臺,基于流表和隊列管理規則動態實時地對衛星鏈路的間歇性、時延、誤碼率等性能參數進行精確仿真,但該仿真平臺的實時仿真精度仍然較低;SGIN-Stack[17]是一種基于云的實驗平臺,該平臺面向天地一體化衛星網絡提出一種動態差分補償技術和隨機數生成算法以實現對衛星鏈路的實時精確仿真,具有較高的仿真精度,但由于架構的局限性在鏈路仿真過程中衛星鏈路的響應速度較慢,進而影響了時變衛星網絡的仿真逼真度。
本文提出的仿真體系架構以STK構建的模擬場景為基礎實現對包括拓撲模型和鏈路模型在內的模型構建過程,進而在OpenStack云環境中實現衛星網絡拓撲仿真和鏈路仿真。仿真體系采用分布式架構,可根據仿真規模和需求進行靈活部署,具有較高的靈活性和可擴展性。此外,本體系架構采用AGI公司開發的Object Model與STK進行交互,開發環境為Python3.6,其中Object Model是一種基于COM組件的STK接口函數庫,包含各種接口、類和事件。
仿真體系架構如圖1所示。其中操作控制端(Host)主要實現拓撲模型和鏈路模型的生成過程,搭載了STK環境且包含兩個模塊,分別是拓撲模型構建模塊和鏈路模型構建模塊。OpenStack云環境則主要完成衛星網絡拓撲和鏈路仿真工作,其中控制節點(Controller)包含任務控制模塊以及拓撲仿真模塊,計算節點(Compute)包含鏈路仿真模塊。

圖1 天地一體化衛星網絡拓撲場景仿真體系架構Fig.1 System architecture of topological scenario emulation of space-ground integrated satellite network
衛星網絡拓撲的自動解析與仿真場景生成以拓撲模型的成功構建為前提,主要涉及拓撲模型構建模塊與拓撲仿真模塊。拓撲模型的構建過程采用自底向上逐步解析和封裝的思想:針對STK中所包含的11種基本對象(飛機、目標、區域目標、鏈、星座、地面站、汽車、衛星、地點、艦船、傳感器)的特征進行提取和解析以構建統一的描述模型,即對象模型,實現第一層解析和封裝;基于對象模型并解析場景配置信息以構建場景模型,實現第二層解析和封裝;基于場景模型并引入拓撲解析算法,通過解析場景模型中各節點之間的鏈接關系從而生成衛星網絡的拓撲結構,最終完成拓撲模型的構建,實現第三層解析和封裝。隨著位于OpenStack云環境控制節點的任務控制模塊發出拓撲仿真的指令,拓撲仿真模塊將加載對應的拓撲模型并生成仿真網絡,最終實現衛星網絡仿真場景的生成。
衛星網絡鏈路高逼真度、實時、動態仿真的實現以鏈路模型的成功構建為前提,主要涉及鏈路模型構建模塊與鏈路仿真模塊。引入鏈路解析算法,該算法通過解析場景模型,依據鏈路的時變特性將衛星網絡鏈路分類為兩類:時變鏈路和非時變鏈路。基于鏈路的類型選擇不同的方案生成鏈路性能數據,最終生成鏈路模型。隨著位于OpenStack云環境控制節點的任務控制模塊發出鏈路仿真的指令,鏈路仿真將加載對應的鏈路模型并載入鏈路校正策略,最終實現衛星網絡鏈路高逼真度、實時、動態仿真。
面對由STK生成的種類多樣的天地一體化場景,通常需要針對具體場景進行繁雜的解析工作以提煉仿真網絡拓撲結構進而構建不同的仿真網絡自動化部署配置文件,最終生成仿真網絡。
這種低效且可擴展性差的構建方案無疑給衛星網絡仿真工作帶來巨大的工作量,尤其對于規模較大的場景,仿真網絡的構建難度將會進一步提升。為解決這一問題并提高衛星仿真網絡構建可擴展性,本文提出一種衛星網絡拓撲解析與生成技術。首先,通過構建場景模型將天地一體化場景對象進行分類并結構歸一化;進而,基于場景模型經由拓撲解析算法進行解析以提煉衛星網絡拓撲結構;最后,基于衛星網絡拓撲結構生成拓撲模型并在云環境中生成衛星仿真網絡。
3.1.1 場景模型構建方案
如第2章所述,場景模型的構建以對象模型的構建為前提,通過對對象模型進行第二層解析和封裝完成構建工作。
對象模型以STK所提供的11種對象類型:飛行器(Aircraft)、區域目標(AreaTarget)、鏈(Chain)、星座(Constellation)、地面站(Facility)、地面車輛(GroundVehicle)、地點(Place)、衛星(Satellite)、船艦(Ship)、目標(Target)、傳感器(Sensor)為基礎構建目標,分別解析并提取不同對象的特征數據并分類為基礎屬性和特征屬性兩類屬性進而完成對象模型的構建。表1列舉了11種對象模型的屬性構成。對于基礎屬性,所有對象均具備id和type兩種基礎屬性,其中type屬性標示了該對象的類型;基礎屬性interval標示了對象運行軌跡的開始和結束時間;基礎屬性subobjects標示了對象所搭載的所有子對象。對于特征屬性,其中,Aircraft、GroundVehicle、Ship類型對象作為具備移動性的空、地對象,其特征屬性waypoint記錄了其軌跡信息;AreaTarget、Facility、Place、Target類型對象作為不具移動性的地面對象,其特征屬性position記錄了其位置信息;Chain和Constellation類型對象的特征屬性記錄了其包含的對象模型集合;Satellite類型對象的特征屬性orbit記錄了其軌道數據;Sensor類型對象的特征屬性target記錄了其目標對象及其搭載的設備信息。

表1 對象模型屬性構成表Table 1 Attribute composition of object model
場景模型包含一種基礎屬性,以及多種特征屬性。基礎屬性scenario記錄了模擬場景基本信息,包括場景名name、場景存儲路徑path、場景仿真時間interval、場景包含的子對象信息subobjects,且subobjects根據對象類型進行分類存儲。場景模型的特征屬性則根據場景中包含的對象類型創建對應的特征屬性并記錄屬于該類型的所有對象模型。
即對象模型的生成實現了拓撲模型構建模塊第一層的解析與封裝,而場景模型的生成實現了拓撲模型構建模塊第二層的解析與封裝。
3.1.2 拓撲解析算法
拓撲模型構建模塊最后一層的解析與封裝主要完成拓撲模型的構建工作,而基于場景模型解析出場景中衛星網絡的拓撲結構是該層的核心內容,因此本文提出了一種拓撲解析算法擬解決這一問題。
本文提出的拓撲解析算法將衛星網絡拓撲結構存儲于一個二維矩陣s中。s[i][j]=1表示ID為i的節點(Ni)和ID為j的節點(Nj)之間存在從Ni到Nj的單向鏈路,反之s[i][j]=0則代表Ni到Nj之間不存在單向鏈路。
本算法以場景模型為輸入,提取場景中存在的所有具有連接性的子對象及其對應的對象模型。本算法以一個STK模擬場景項目為前提,如果某對象搭載了傳感器且傳感器搭載了發射器,則存在從該對象到傳感器目標節點的單向鏈路,反之不存在這樣的單向鏈路。本算法具體偽代碼描述見算法1。
算法1拓撲解析算法

該算法實際上對場景中所有具有連通性的節點(Aircraft、Facility、GroundVehicle、Place、Satellite、Ship、Target)的特征屬性subobjects中所有發射器的搭載情況進行解析,因此對于具有n個節點且節點最多搭載m個發射器的模擬場景,時間復雜度為O(nm)。同時該算法由于需要一個二維矩陣result存儲衛星網絡拓撲結構,因此對于具有n個節點的模擬場景,空間復雜度為O(n2)。
在通過拓撲解析算法得到衛星網絡拓撲結構后,拓撲模型構建模塊將根據該拓撲結構自動從網絡地址池中為各個節點分配端口及IP,最終完成拓撲模型的構建。進一步的,拓撲仿真模塊將根據拓撲模型完成衛星仿真網絡的搭建和配置。
衛星網絡鏈路仿真的普遍方案是通過從STK中提取鏈路性能參數并加載至云仿真環境中進行仿真。但隨著網絡拓撲規模的不斷擴大和復雜度的不斷提升,衛星網絡鏈路數量將不斷增多,實時的鏈路性能參數提取時耗將隨之增加。提取時耗的存在將降低衛星網絡鏈路實時動態仿真的逼真度,即鏈路仿真的響應速度會進一步影響衛星鏈路實時動態仿真逼真度。
一種解決方案是將鏈路性能數據預先上傳至云仿真環境中,常見的存儲方式是存入云仿真環境數據庫中。但這種解決方案并不能完美地解決鏈路仿真的響應速度問題,一方面隨著衛星網絡拓撲規模和復雜度的提高,鏈路性能數據的提取規模將隨之提升,尤其是在仿真周期較長的情況下數據規模將非常龐大;另一方面,鏈路性能參數的配置時耗并沒有得到改善,鏈路的配置規模將決定每一輪次鏈路仿真的配置時耗,即決定鏈路仿真的響應速度。
以海口市居民區為例,對構建的居民區生活垃圾分類投放方案評價模型進行了案例分析。海口市是國家發改委、住建部制定的《生活垃圾分類制度實施方案》規定的第1批生活垃圾分類示范城市之一。考慮國家相關文件要求及實際可操作性等因素的影響,設計了3種居民區生活垃圾分類投放方案,如表1所示。
面向這一問題,本著盡可能控制鏈路的配置規模的原則,本文提出一種鏈路劃分算法,該算法能夠基于鏈路的時變特性對衛星鏈路進行分類進而生成鏈路模型,并在鏈路仿真過程中基于一種鏈路模型預加載機制通過對不同鏈路采取不同的配置方案從而提高鏈路仿真的快響應速度,最終保證衛星網絡鏈路仿真的逼真度。
3.2.1 鏈路劃分算法
天地一體化衛星網絡是由涵蓋空、天、地、海多維空間內多種節點構成的復雜異構網絡。基于節點所屬的空間位置,天地一體化衛星網絡中的鏈路可劃分為星間鏈路(inter-satellite link)和星地鏈路(satellite-ground link)兩種類型。同時本文基于鏈路的時變特性,天地一體化衛星網絡中的鏈路可劃分為時變鏈路和非時變鏈路。
為了控制鏈路性能數據提取規模和鏈路模型規模,更重要地為了保證鏈路仿真的高響應速度,有必要對衛星網絡中的鏈路進行劃分。對于非時變鏈路,在仿真周期內鏈路性能參數不變,因此只需提取一組鏈路性能數據即可生成鏈路模型,進而對仿真網絡中對應的鏈路進行一次性配置。對于時變鏈路,在仿真周期內鏈路性能參數隨時間變化,因此需要提取仿真周期時間內所有的鏈路性能數據以生成鏈路模型,進而對仿真網絡中對應的鏈路進行實時動態配置。
而鏈路的時變特性主要是由空、天、地、海節點間的空間位置關系所決定的,且在帶寬、延時和丟包率三種鏈路性能參數中主要影響在延時這一參數上[19]。因此確定節點間的空間位置關系即能確定鏈路時變特性,即節點間空間位置相對距離不變則為非時變鏈路,否則為時變鏈路。
因此本文設計了一種鏈路劃分算法以鏈路的時變特性為劃分原則,基于場景模型對場景中所有鏈路進行劃分。該算法首先基于鏈路兩端節點所在的空間位置特征劃分為星間鏈路和星地鏈路。其次,對于星間鏈路,通過鏈路兩端節點衛星的軌道幾何形狀(圓軌道、非圓軌道)以及兩衛星之間的軌道位置關系(軌內、軌間)判斷兩衛星之間的距離變化情況,進而得到鏈路的時變特性。衛星軌道信息通過提取對應模型的orbit特征屬性獲得。軌道幾何形狀通過衛星偏心率進行判斷,而軌道位置關系通過衛星傾角和近地點半徑進行判斷。同時對于星地鏈路,在地面節點為移動節點的情況下,則對應的星地鏈路一定為時變鏈路,其中具備移動性的地面節點類型包含Aircraft、GroundVehicle、Ship三種,其特征屬性waypoint記錄了其軌跡信息;在地面節點固定不動的情況下,若衛星軌道處于對地靜止軌道,則對應的星地鏈路為非時變鏈路,反之為時變鏈路,其中不具移動性的地面節點類型包含AreaTarget、Facility、Place、Target四種。本算法具體偽代碼描述見算法2。
算法2鏈路劃分算法算法


該算法的兩個子算法均能夠在O(1)時間內完成對時變特性的判定,因此對于一個包含n條鏈路的模擬場景,時間復雜度為O(n)。同時該算法無需任何額外空間,因此空間復雜度為O(1)。
3.2.2 鏈路模型預加載機制
如3.2.1小節所述,基于鏈路劃分算法構建的鏈路模型可進一步分類為時變鏈路模型和非時變鏈路模型。本文基于這兩類模型提出一種鏈路模型預加載機制,如圖2所示。

圖2 鏈路模型預加載機制Fig.2 Link model preloading mechanism
在控制節點接收到開始鏈路仿真任務的請求后,會對請求進行解析和處理,獲取仿真周期內開始時間(Tstart)和仿真步長(Tstep)并擬定各計算節點開始進行仿真任務的實際時間(Tact),最后將仿真任務下發到相關涉及的計算節點。
各計算節點接收到仿真任務請求后,首先加載非時變鏈路模型進行一次性并發配置,然后進入阻塞狀態,在時刻Tact并發加載仿真周期內Tstart時刻的時變鏈路模型,完成首輪次的鏈路仿真。并在從Tact時刻算起,Tstep時間后進入下一輪次,并發加載仿真周期內Tstart+Tstep時刻的時變鏈路模型。即在第n輪次,仿真周期內時刻T1n和實際時刻T2n的對應值如公式(1)所示,在實際時刻T2n,鏈路仿真任務處于第n輪次,并發加載仿真周期內T1n時刻的時變鏈路模型。

在保證衛星網絡鏈路的快響應仿真后,如何保證衛星網絡鏈路仿真的高精確度是實現鏈路高逼真度仿真的另一技術要點。針對鏈路的四個性能參數:連通性、帶寬、延時、丟包率,主要的仿真難點在延時的精確度,這是由云環境下虛擬節點間存在的固有延時造成的誤差所引起的。
OpenStack云環境下構造的虛擬節點間是在經過了多種設備后才實現了端到端的通信,這是OpenStack云環境底層網絡結構所造成的。圖3顯示了基于Open vSwitch(OVS)虛擬交換機的OpenStack云環境下計算機點的底層網絡結構。其中虛擬機通過虛擬網絡設備(tap)連接到Linux網橋(qbr)上;名為qvb的設備與名為qvo的設備組成一對veth pair將qbr和br-int連接起來;名為int-br-eth1的設備與名為phy-br-eth1的設備組成一對path pair將br-int與br-eth1連接起來。

圖3 OpenStack計算節點底層網絡結構Fig.3 Underlying network structure of OpenStack computing nodes
而基于這樣的底層網絡結構,虛擬機之間在相互通信過程中,數據包將不可避免地需要經過這些虛擬網絡設備和物理交換機,這些設備對數據包的處理時間構成了通信鏈路額外的固有延時。因此基于OpenStack云環境以及TC工具實現的衛星鏈路性能仿真方法在延時仿真精度上將不可避免地存在因固有延時造成的誤差,即實際延時delayact是仿真理論延時delaytheo與固有延時delayerr之和,如公式(2)所示:
為了解決延時的仿真誤差,在以往的研究工作中,SGIN-Stack[17]引入了一種差分補償算法,該算法在發送端截獲符合隊列規則的數據包并加入時間戳再放行,在接收端再次截獲數據包提取時間戳,通過這種方式獲取數據包從源節點到目的節點的固有延時并進行補償。但這種補償方法在云環境數據流量較大的情況下,難以維持較好的性能。
本文設計的鏈路校正策略重點通過獲取固有延時delayerr值并進行實時補償來實現。即實際設定值delaytc的實時取值為仿真理論延時delaytheo與固有延時delayerr之差,如公式(3)所示。因此,該策略的重點在于對實時固有延時delayerr的精確提取。

而在云環境下,鏈路兩端的虛擬節點存在兩種位置關系:同宿主機和跨宿主機。同宿主機節點的鏈路通信過程如圖3紅線箭頭①~⑤所示,固有延時主要是由于數據包需要經過宿主機虛擬設備、網橋所造成的,且這種固有延時較為穩定。同時,跨宿主機節點的通信過程如圖3藍線箭頭①~⑩所示,數據包不僅需要經過宿主機虛擬設備、網橋,還需要通過物理通信鏈路經過物理交換機,因此跨宿主機鏈路的固有延時可能會隨著網絡狀態的變化有較大抖動。
基于這一事實,對于同宿主機鏈路,則直接提取一次固有延時作為校正值;而對于跨宿主機鏈路,則應根據網絡波動情況實時提取固有延時進行校正。因此對網絡波動狀態的監控與評測是實現固有延時精確提取的重點。
本策略以波動指數FI標示網絡波動情況。在仿真任務開始后,立即監測兩次固有延時獲取delay0和delay1并進行實時校正,同時記錄一次波動樣本FS1,FS1為delay0和delay1的絕對差值。接著,再次獲取一次固有延時delay2并進行實時校正,同時記錄一次波動樣本FS2,FS2為delay1和delay2的絕對差值,取波動指數FI2為FS1和FS2的加權平均以得到更加平滑的波動指數值,實驗表明,當權值α為0.875時效果最好。同理,第n個波動指數FIn如公式(4)所示:

根據波動指數FIn的值,確定下次監測固有延時的時間。當FIn小于等于穩定網絡狀態的閾值Thstable時,下次監測時間為5 s后;當FIn大于Thstable但小于鏈路仿真延時精確度Thaccuracy時,下次監測時間為1 s后;當FIn大于Thaccuracy時,則應立即重新監測。經測驗,網絡處于穩定狀態的情況下,FI值小于等于0.1 ms,即Thstable=0.1;而本系統采用的精確度為0.5 ms以內,因此Thaccuracy=0.5。即下次監測時間RTn的取值如公式(5)所示。
本章設計了三組實驗分別對衛星網絡拓撲解析和生成效能、衛星網絡鏈路仿真響應速度和實時仿真逼真度進行測試。
如第2章所述,該天地一體化衛星網絡仿真體系主要部署在操作控制端(Host)和OpenStack云環境中。其中,操作控制端處理器為Intel?CoreTMi7-9750處理器,內存16 GB;OpenStack云環境控制節點處理器為Intel?Xeon?CPU E5-2620 v4×2,內存64 GB;計算節點1處理器為Intel?Xeon?Bronze 3104 CPU×2,內存64 GB;計算節點2處理器為Intel?Xeon?CPU E5-4607 v2×4,內存32 GB。OpenStack云環境中所有物理節點均通過以太網交換機互聯,且節點系統均為CentOS7.2。
為了對本文提出的天地一體化衛星網絡拓撲場景仿真技術進行性能和功能測試,設計了四組大小不同、拓撲結構不同的場景,如圖4所示。如圖4(a)所示,場景a包含1顆低軌衛星(LEO_A1)、1顆高軌衛星(GEO_G1)、1架飛行器(Aricraft)、1輛地面車輛(GroundVehicle)、1個地面站(Facility)、1艘船艦(Ship),其中GEO_G1和LEO_A1之間存在一條雙向鏈路,Aircraft、GroundVehicle、Facility、Ship和LEO_A1之間均存在雙向鏈路,即場景a共包含6個節點,10條有向鏈路。如圖4(b)所示,場景b包含3顆處于同一軌道的高軌衛星(GEO_G1-GEO_G3)、6顆處于同一軌道的低軌衛星(LEO_A1-LEO_A6),其中同軌道相鄰衛星之間存在雙向鏈路,GEO_G1和LEO_A1之間存在雙向鏈路,即場景b共包含9個節點,20條有向鏈路。如圖4(c)所示,場景c包含1顆高軌衛星(GEO_G1)、12顆分布于兩條軌道的低軌衛星(LEO_A1-LEO_A6,LEO_B1-LEO_B6)、1個地面站(WX_Station),同軌道相鄰衛星之間存在雙向鏈路,不同軌道衛星之間雙向鏈路連通情況用黑線表示(共7條雙向鏈路),同時LEO_A2和WX_Station之間存在雙向鏈路,即場景c共包含14個節點,40條有向鏈路。如圖4(d)所示,場景d包含6顆高軌衛星(GEO_G1-GEO_G6)、18顆分布于三條軌道的低軌衛星(LEO_A1-LEO_A6,LEO_B1-LEO_B6,LEO_C1-LEO_C6)、1個地面站衛(WX_Station)、1艘船艦(Ship1),同樣地,同軌道相鄰星之間存在雙向鏈路,不同軌道衛星之間雙向鏈路連通情況用黑線表示(共18條雙向鏈路),同時LEO_A2、GEO_G1和WX_Station之間均存在雙向鏈路、Ship1和GEO_G2之間存在雙向鏈路,即場景d共包含26個節點,80條有向鏈路。

圖4 實驗場景拓撲結構Fig.4 Topology of experimental scenario
為了對衛星網絡拓撲解析與生成技術進行效能測試,基于4.1節提出的四組場景,分別測試衛星網絡拓撲解析和仿真網絡生成時間。具體地,測試衛星網絡拓撲解析過程中生成場景模型所需時間,生成拓撲結構所需時間和生成拓撲模型所需時間;測試仿真網絡生成過程中生成虛擬網絡所需時間和生成虛擬節點所需時間,測試結果如圖5所示。
由圖5可以看到,隨著網絡拓撲規模的增大,網絡拓撲解析時間依舊維持在毫秒級,具備較好的解析效率,且時間主要花費在拓撲結構解析過程,其次是場景模型生成過程,拓撲模型的生成時間最短;同時,仿真網絡生成時間主要花費在虛擬網絡的創建過程,這是因為相對于節點規模,較高的鏈路規模所需的虛擬網絡也更多。

圖5 網絡拓撲解析與生成各階段時間Fig.5 Time of each stage of network topology analysis and generation
本實驗通過檢測衛星網絡拓撲仿真過程中自動解析和部署各個階段的時間花費檢測本文提出的衛星網絡拓撲解析與生成技術的效能,實驗結果表明該技術能有效提升仿真場景生成的易用性。
為了對基于鏈路模型的衛星鏈路仿真的響應速度進行測試,依舊基于4.1節提出的規模由小到大的四組場景,測試一輪次的鏈路仿真時間,記錄從該輪次開始時刻算起,每條有向鏈路成功加載鏈路性能時間。同時本文選取了具有較高鏈路仿真精度的SGIN-Stack平臺做了對比驗證實驗。實驗結果如圖6所示。
由圖6(a)可以看到,在基于場景a的一輪次的鏈路仿真過程中,SGIN-Stack的所有鏈路所需的加載時間在3.371~5.191 s之間;而本文提出的方法所需的加載時間在1.4~2.23 s之間,響應速度平均提高了57.85%。由圖6(b)可以看到,在基于場景b的一輪次的鏈路仿真過程中,SGIN-Stack的所有鏈路所需的加載時間在9.572~17.952 s之間;而本文提出的方法所需的加載時間在0~1.39 s之間,響應速度平均提高了99.01%。由圖6(c)可以看到,在基于場景c的一輪次的鏈路仿真過程中,SGIN-Stack的所有鏈路所需的加載時間在11.128~21.948 s之間;而本文提出的方法所需的加載時間在0~4.27 s之間,響應速度平均提高了92.36%。由圖6(d)可以看到,在基于場景d的一輪次的鏈路仿真過程中,SGIN-Stack的所有鏈路所需的加載時間在21.482~48.432 s之間;而本文提出的方法所需的加載時間在0~8.44 s之間,響應速度平均提高了94.05%。

圖6 本文方法與SGIN-Stack響應速度對比Fig.6 Comparison of response speed between suggested method and SGIN-Stack
由此可見,隨著拓撲規模的不斷增大,本文提出的衛星鏈路快響應仿真技術優勢越來越明顯。此外,由基于場景b的實驗結果圖6(b)可以看到,在非時變鏈路越多的場景下,本文提出的方案的優勢將進一步體現。可以推斷,隨著網絡拓撲規模和復雜度的提高,SGINStack將會因為響應速度問題而無法滿足對較小仿真步長的需求,因為仿真步長的大小將會影響鏈路仿真逼真度。而本文提出的方案則能較好地解決這一問題,在鏈路響應速度上具有較好的性能表現。
為了對衛星網絡鏈路實時仿真逼真度進行測試,選取4.1節提出的規模最大的包含26個節點,80條有向鏈路的場景d為實驗場景,測試在仿真周期內1小時時間(04:00—05:00)的跨宿主機和同宿主機鏈路加入鏈路校正策略前后的實時延時并與理論延時做比較。SGIN-Stack雖然具有較高的仿真精確度,但根據4.2節的對比實驗可知,SGIN-Stack對于場景d規模的衛星網絡其鏈路仿真響應速度較慢,這會直接降低實時仿真精度,因此不再針對鏈路實時仿真精確度做對比實驗。本實驗共選取了四條鏈路進行測試:跨宿主機星地鏈路GEO_G2-Ship1、跨宿主機星間鏈路LEO_A1-LEO_B1、同宿主機星間鏈路GEO_G1-LEO_A1和同宿主機星地鏈路LEO_A2-WX_Station,實驗結果如圖7所示。

圖7 衛星網絡鏈路實時動態仿真結果Fig.7 Satellite network link real-time dynamic emulation results
圖7(a)為鏈路GEO-G2-Ship1一小時實時仿真過程中的延時數據,未加鏈路校正策略的實測值誤差在0.209~0.812 ms之間,而加入鏈路校正策略的實測值誤差在0.103~0.292 ms之間,經統計精確度相比提高了48.63%;圖7(b)為鏈路LEO_A1-LEO_B1一小時實時仿真過程中的延時數據,未加鏈路校正策略的實測值誤差在0.052~1.086 ms之間,而加入鏈路校正策略的實測值誤差在0.001~0.604 ms之間,經統計精確度相比提高了43.72%;圖7(c)為鏈路GEO_G1-LEO_A1一小時實時仿真過程中的延時數據,未加鏈路校正策略的實測值誤差在0.032~2.31 ms之間,而加入鏈路校正策略的實測值誤差在0.001~0.553 ms之間,經統計精確度相比提高了67.98%;圖7(d)為鏈路LEO_A2-WX_Station一小時實時仿真過程中的延時數據,未加鏈路校正策略的實測值誤差在0.127~0.528 ms之間,而加入鏈路校正策略的實測值誤差在0.002~0.182 ms之間,經統計精確度相比提高了70.93%。需要說明的是,鏈路GEO_G1-LEO_A1兩端的衛星節點在前1 560 s內不可見,即鏈路處于斷開狀態,延時數據以0 ms表示;同樣地,鏈路LEO_A2-WX_Station兩端的節點在前3 028 s內不可見。
由以上統計數據可知,本文提出的鏈路校正策略能夠有效地提高鏈路仿真精確度和穩定性,同時結合3.2節提出的衛星網絡鏈路快響應仿真技術最終實現對衛星網絡鏈路的高逼真仿真。
本文提出了一種天地一體化衛星網絡拓撲場景仿真技術,重點對衛星網絡仿真過程中關注的網絡拓撲仿真和鏈路仿真研究展開工作。針對網絡拓撲仿真研究中存在的繁雜低效的人工拓撲解析問題,提出一種衛星網絡拓撲解析與生成技術;針對鏈路仿真研究中的響應速度問題,提出一種衛星鏈路快響應仿真技術;最后為實現衛星網絡鏈路實時、動態仿真的高逼真度,提出一種鏈路校正策略。實驗表明,本文提出的衛星網絡仿真技術具備高效的拓撲解析和生成能力,提高了仿真場景生成的易用性;能夠在保證衛星鏈路快響應仿真的基礎上,實現衛星網絡的高精確度實時動態仿真。因此,能夠為面向天地一體化衛星網絡的相關技術評測工作提供仿真環境。接下來,將融合多尺度虛擬化技術,展開面向規模更大,拓撲結構更復雜的天地一體化衛星網絡高逼真、實時、動態仿真方法的研究。