賈夢瑤 王興偉 張爽 易波 黃敏
摘 要:鑒于衛(wèi)星網(wǎng)絡(luò)對安全性和應(yīng)對故障的能力有很高的要求,引入了軟件定義網(wǎng)絡(luò)(SDN)技術(shù),在網(wǎng)絡(luò)中放置中央控制器來增強網(wǎng)絡(luò)對故障的應(yīng)對能力。首先,基于SDN的思想設(shè)計了一種衛(wèi)星網(wǎng)絡(luò)模型,計算了三層軌道上衛(wèi)星運行的參數(shù)并構(gòu)建星座;然后,采用分層路由的方法,設(shè)計了一種針對衛(wèi)星網(wǎng)絡(luò)的容錯路由機制;最后,在Mininet平臺上進行了仿真實驗,將容錯路由算法(FTR)的實驗結(jié)果與基于鏈路感知的星間路由算法(LRSR)和多層衛(wèi)星網(wǎng)絡(luò)路由算法(MLSR)的實驗結(jié)果進行了對比。對比結(jié)果表明,在網(wǎng)絡(luò)中無損壞節(jié)點和鏈路的情況下,F(xiàn)TR的路由總延時比LRSR平均降低了6.06%,說明了引入SDN集中控制的有效性;FTR的丟包率比同樣以最小延時為目標的MLSR降低了25.79%,說明了在網(wǎng)絡(luò)模型中為中軌道(MEO)衛(wèi)星設(shè)計臨時存儲路由機制的有效性。而當(dāng)網(wǎng)絡(luò)中節(jié)點和鏈路的失效情況比較嚴重時,F(xiàn)TR的路由總延時比LRSR降低了3.99%,比MLSR降低了19.19%;其丟包率比LRSR降低了16.94%,比MLSR降低了37.95%,說明了FTR的容錯有效性。實驗結(jié)果驗證了基于SDN的衛(wèi)星網(wǎng)絡(luò)路由機制具有更好的容錯能力。
關(guān)鍵詞:衛(wèi)星網(wǎng)絡(luò);網(wǎng)絡(luò)模型;軟件定義網(wǎng)絡(luò);容錯;路由
中圖分類號: TP393.04 通信規(guī)程、通信協(xié)議
文獻標志碼:A
Abstract: Duing to the satellite network has high requirement for security and fault-dealing ability, with Software Defined Network (SDN) technology introduced, the central controller was set in the network to enhance the networks fault-dealing ability. Firstly, a satellite network model was designed based on the SDN idea, and the satellites operating parameters on the three-layer orbit were calculated and the constellations were built. Then, the method of hierarchical routing was used to design a fault tolerant routing mechanism for satellite network. Finally, the simulation experiments were carried out on the Mininet platform, and the experimental results of Fault-Tolerant Routing algorithm (FTR) were compared with the results of inter-Satellite Routing algorithm based on Link Recognizing (LRSR) and Multi-Layered Satellite Routing algorithm (MLSR). The comparison results show that in the case without damaged nodes or links in the network, the total routing delay of FTR is reduced by 6.06% on average compared with that of LRSR, which shows the effectiveness of introducing SDN centralized control; the packet loss rate of FTR is reduced by 25.79% compared with that of MLSR which also targets the minimum delay, which shows the effectiveness of temporary storage routing mechanism design for the Medium Earth Orbit (MEO) satellites. When the failure of nodes and links in the network is serious, FTR has the total routing delay 3.99% lower than LRSR and 19.19% lower than MLSR, and has the packet loss rate 16.94% lower than LRSR and 37.95% lower than MLSR, which shows the effectiveness of fault tolerance of FTR. The experimental results prove that the fault tolerant routing mechanism of satellite network based on SDN has better fault tolerant capability.
Key words: satellite network; network model; Software Defined Network (SDN); fault tolerance; routing
0 引言
隨著空間信息技術(shù)不斷發(fā)展,衛(wèi)星網(wǎng)絡(luò)作為新興起的網(wǎng)絡(luò)系統(tǒng),在天地一體化進程中占有很重要的地位。它具有容量大、成本低、無地理環(huán)境限制、靈活組網(wǎng)等特點,能有效緩解地面骨干網(wǎng)絡(luò)流量擁塞以及邊緣網(wǎng)絡(luò)無法接入主干網(wǎng)絡(luò)等問題。
但衛(wèi)星網(wǎng)絡(luò)周期性動態(tài)變化的拓撲對路由協(xié)議的設(shè)計等問題提出了新的挑戰(zhàn)[1]。由于傳統(tǒng)網(wǎng)絡(luò)的路由協(xié)議不再適用于衛(wèi)星網(wǎng)絡(luò),近年來,國內(nèi)外有大量的工作著重于提高多層衛(wèi)星網(wǎng)絡(luò)的性能。為了提高網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)利用率,文獻[2]提出了一種最優(yōu)分布的路由方法,優(yōu)化了近地軌道 (Low Earth Orbit, LEO) / 中軌道(Medium Earth Orbit, MEO)雙層衛(wèi)星網(wǎng)絡(luò)中的流量分配。文獻[3]提出了一種新的路由和鏈路調(diào)度聯(lián)合優(yōu)化方法來聯(lián)合生成吞吐量最優(yōu)路由和傳輸時刻表,優(yōu)化了由18個低地球軌道衛(wèi)星組成的網(wǎng)絡(luò)的吞吐量,并提出了一種使衛(wèi)星網(wǎng)絡(luò)吞吐量最大化的線性規(guī)劃方案。文獻[4]提出了一種在低地球軌道多跳衛(wèi)星網(wǎng)絡(luò)中由微型衛(wèi)星組成的延遲敏感包傳輸路由算法,平衡了衛(wèi)星間鏈路的流量分配,降低了流量中斷率。文獻[5]提出了一種新型的MEO/LEO衛(wèi)星網(wǎng)絡(luò)體系結(jié)構(gòu),構(gòu)建了有效的衛(wèi)星間鏈路,提出了一種基于網(wǎng)絡(luò)編碼的多路徑路由算法,提高了網(wǎng)絡(luò)吞吐量并減少了MEO/LEO混合衛(wèi)星網(wǎng)絡(luò)的端到端延遲和數(shù)據(jù)包丟失率。為了避免網(wǎng)絡(luò)擁塞,文獻[6-7]提出了基于負載均衡的路由協(xié)議,并分別為LEO/MEO雙層衛(wèi)星網(wǎng)絡(luò)開發(fā)了新的網(wǎng)絡(luò)結(jié)構(gòu)。為了減少開銷,文獻[8]提出了一種在LEO衛(wèi)星網(wǎng)絡(luò)中的路由算法,稱作加權(quán)半分布式路由算法 (Weighted Semi-Distributed Routing Algorithm, WSDRA),它能夠以較小的開銷找到一個具有最小傳播延遲的路徑。文獻[9]通過合理的路由流量,將空間路由器轉(zhuǎn)換為睡眠模式,提出了一種在衛(wèi)星網(wǎng)絡(luò)中節(jié)能的路由選擇方案。另外,文獻[10]基于虛擬策略提出了一種服務(wù)質(zhì)量 (Quality of Service, QoS)路由方案,數(shù)據(jù)消息只需要到達目的地,而不考慮網(wǎng)絡(luò)或應(yīng)用程序的差異。虛擬策略是一種中間件,它提供了一個統(tǒng)一的接口,應(yīng)用程序可以使用它來容納不同的通信技術(shù)從而配置協(xié)議屬性或傳輸消息。文獻[11]利用基于有限狀態(tài)自動機的狀態(tài)轉(zhuǎn)移模型,對故障塊的構(gòu)造進行了形式化描述。在此模型基礎(chǔ)上,針對故障塊外的無死鎖容錯自適應(yīng)路由提出了一種邊界擴散方法,即自適應(yīng)容錯路由算法,稱作X-Y邊界路由算法 (X-Y Boundary Routing Algorithm, X-YBRA),徹底解決了故障塊的路由問題。文獻[12]針對衛(wèi)星實時直播的應(yīng)用場景,提出了一種 LEO 衛(wèi)星網(wǎng)絡(luò)并行鏈路不相交多徑路由算法 (Satellite Parallel Edge-disjoint Multipath Routing algorithm, SPEMR),與其他衛(wèi)星網(wǎng)絡(luò)路由協(xié)議共享網(wǎng)絡(luò)狀態(tài)信息,在滿足用戶應(yīng)用需求的同時減小對網(wǎng)絡(luò)基本通信服務(wù)的影響。文獻[13]提出了一種基于拓撲控制的路由算法,該算法應(yīng)用了虛擬節(jié)點策略和衛(wèi)星分組的思想,并分別由地球同步軌道(Geostationary Earth Orbit, GEO)衛(wèi)星和LEO衛(wèi)星進行路由計算和數(shù)據(jù)轉(zhuǎn)發(fā),降低了路由時延和分組丟失率。
1)衛(wèi)星節(jié)點的存儲空間、運算能力受限。
隨著衛(wèi)星網(wǎng)絡(luò)的發(fā)展,衛(wèi)星數(shù)量不斷增加,想要通過星載路由計算來維護整個網(wǎng)絡(luò)的鏈路狀態(tài)是十分困難的。如果在衛(wèi)星節(jié)點上動態(tài)地執(zhí)行路由算法,衛(wèi)星節(jié)點要有全網(wǎng)拓撲信息,但收集鏈路信息十分耗時,路由的計算也很容易出錯。
2)星間鏈路易受影響。
首先,考慮到外太空環(huán)境的惡劣,衛(wèi)星網(wǎng)絡(luò)的星間鏈路容易受到如太陽活動、電磁干擾等因素的影響。其次,衛(wèi)星節(jié)點本身也面臨著失效的問題。因此在衛(wèi)星網(wǎng)絡(luò)中設(shè)計一種容錯路由機制是十分必要的,以保證在節(jié)點或鏈路出現(xiàn)故障時能快速地算出新的路由路徑。
由于衛(wèi)星是按照既定軌跡運行的,因此它們的運動和鏈路連接具有可預(yù)測性。人們可以在地面站預(yù)先計算出某顆衛(wèi)星在某一時刻的位置,然后根據(jù)不同的策略解決空間信息網(wǎng)絡(luò)中拓撲動態(tài)變化的問題?;谶@種考慮,本文引入了軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)技術(shù),根據(jù)SDN中將控制平面和數(shù)據(jù)平面分離的思想,分配好控制器、路由器以及衛(wèi)星網(wǎng)絡(luò)中其他組件的位置和功能,從而降低衛(wèi)星節(jié)點的負載,提高路由計算效率,增強故障應(yīng)對能力。
本文基于SDN思想,選取三層衛(wèi)星網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計了一種衛(wèi)星網(wǎng)絡(luò)模型,可以有效監(jiān)測和控制整個網(wǎng)絡(luò)狀態(tài),并根據(jù)衛(wèi)星的運行特點設(shè)計了三層衛(wèi)星星座;其次,設(shè)計了MEO層的托管傳輸機制和LEO層的故障塊路由算法,用于增強網(wǎng)絡(luò)的故障處理能力;最后,對所提出的路由算法進行了驗證,并對結(jié)果進行了分析。
1 基于SDN的衛(wèi)星網(wǎng)絡(luò)模型
三層衛(wèi)星網(wǎng)絡(luò)結(jié)構(gòu)包括三種衛(wèi)星: GEO、MEO和LEO衛(wèi)星。高層的衛(wèi)星管理低層的衛(wèi)星,從而實現(xiàn)覆蓋全球的目的。其中LEO采用極軌道星座,MEO采用傾斜軌道星座,GEO則是在地球同步軌道上運行。
SDN實現(xiàn)了網(wǎng)絡(luò)中通過軟件智能管控網(wǎng)絡(luò)組件的思想,該技術(shù)可以提高網(wǎng)絡(luò)的可編程性、可操作性和可重用性[14]。如圖1所示,本文將SDN思想引入到衛(wèi)星網(wǎng)絡(luò)模型的設(shè)計中,讓衛(wèi)星節(jié)點僅負責(zé)數(shù)據(jù)的傳輸,而鏈路的維護和路由計算都由控制器進行處理,從而有效地監(jiān)測和控制整個網(wǎng)絡(luò)的狀態(tài),降低衛(wèi)星網(wǎng)絡(luò)中的星上負載,提高路由計算效率,更好地實現(xiàn)容錯路由的目的。
1.1 衛(wèi)星網(wǎng)絡(luò)架構(gòu)
本文設(shè)計的網(wǎng)絡(luò)架構(gòu)如圖2所示。在該架構(gòu)中,SDN控制器被部署于地面站,負責(zé)管控整個網(wǎng)絡(luò),LEO層的每個衛(wèi)星都是網(wǎng)絡(luò)中的一個只具有轉(zhuǎn)發(fā)功能的OpenFlow交換機。每顆LEO衛(wèi)星上配有臨時存儲器,暫存當(dāng)前需要轉(zhuǎn)發(fā)的數(shù)據(jù)包;每顆MEO衛(wèi)星上配有長期存儲器,通常只存儲自己轉(zhuǎn)發(fā)的數(shù)據(jù)包,需要托管傳輸時,則收集其管理的LEO衛(wèi)星的數(shù)據(jù)包,交付給其他MEO衛(wèi)星。
考慮到地面站數(shù)量的限制,需要配置若干局部控制器輔助管控整個網(wǎng)絡(luò),以保證SDN控制器對LEO層請求衛(wèi)星的持續(xù)連接和控制。由于MEO層的衛(wèi)星比LEO層的衛(wèi)星壽命更長,緩存空間和處理能力更好,且與其他層衛(wèi)星通信不需要建立跨層通信鏈路,因此將局部控制器放置在MEO層衛(wèi)星上。
作為局部控制器的MEO衛(wèi)星對其通信范圍內(nèi)的衛(wèi)星進行控制。MEO衛(wèi)星首先收集網(wǎng)絡(luò)狀態(tài)信息,并通過星間鏈路上傳給GEO衛(wèi)星,GEO衛(wèi)星再通過廣播發(fā)送給地面控制中心,控制中心計算出路由表后通過星地鏈路上傳給LEO衛(wèi)星。當(dāng)某衛(wèi)星接收到數(shù)據(jù)包但無法進行正常流表匹配,且此時該衛(wèi)星無法與地面控制器進行通信時,就將請求發(fā)給局部控制器進行處理。
本模型中的網(wǎng)關(guān)位于地面,是控制中心與LEO層衛(wèi)星間鏈路的接口,負責(zé)星間鏈路協(xié)議和TCP/IP協(xié)議之間的轉(zhuǎn)換。
控制中心基于收集的信息計算最優(yōu)路由表,并發(fā)送給LEO層衛(wèi)星。同時與應(yīng)用程序相連接,實現(xiàn)網(wǎng)絡(luò)的可編程操控。
1.2 衛(wèi)星星座設(shè)計
三層衛(wèi)星星座從下至上分別采用極軌道星座、傾斜軌道星座和3個傾角120°的GEO衛(wèi)星,實現(xiàn)衛(wèi)星對地達到100%覆蓋,最小化衛(wèi)星星座的系統(tǒng)周期,并且使得衛(wèi)星軌道數(shù)與衛(wèi)星個數(shù)盡可能少。同時,衛(wèi)星星座的設(shè)計還應(yīng)考慮以下環(huán)境因素:
1)地球大氣層影響。大氣層的擾動會影響衛(wèi)星的正常工作,且氧氣會腐蝕衛(wèi)星設(shè)備,因此LEO層衛(wèi)星的軌道高度應(yīng)高于大氣層頂端(800km)。
2)范·艾倫帶的影響。設(shè)計LEO和MEO層衛(wèi)星的軌道高度時需要避開這兩層輻射帶。
1.2.1 LEO衛(wèi)星星座設(shè)計
LEO層采用極軌道星座,設(shè)計時需要實現(xiàn)對地面的完全覆蓋。由于LEO層衛(wèi)星在高緯度地區(qū)對地面的覆蓋比較緊密,低緯度地區(qū)相對稀疏,而且衛(wèi)星存在逆向飛行的可能,所以網(wǎng)絡(luò)中最初和最后軌道面之間的間隔與其他鄰接軌道面之間的間隔相比略小。
網(wǎng)絡(luò)架構(gòu)應(yīng)盡可能簡潔,考慮到環(huán)境因素,這里L(fēng)EO衛(wèi)星軌道數(shù)取6,每個軌道衛(wèi)星個數(shù)為11,軌道高度是868km。
為了方便控制,LEO衛(wèi)星和MEO衛(wèi)星應(yīng)在運行一段時間后回到起始點,即滿足TL×K1=TM×K2=TE×N,其中,K1、K2、N都是整數(shù),表示衛(wèi)星運行的圈數(shù),TL和TM分別是LEO衛(wèi)星和MEO衛(wèi)星的運行周期,TE是地球自轉(zhuǎn)周期。依據(jù)開普勒第三定律以及環(huán)境對衛(wèi)星軌道的限制,可得到LEO和MEO衛(wèi)星軌道參數(shù),其中星座系統(tǒng)周期是24h,具體見表2。
1.2.2 MEO衛(wèi)星星座設(shè)計
MEO衛(wèi)星使用了Walker delta星座,在衛(wèi)星運行期間,同一水平衛(wèi)星之間的關(guān)系保持相對穩(wěn)定。目前最常用的Walker delta星座有3條軌道,每條軌道上6顆衛(wèi)星,共計18顆衛(wèi)星。因此三層衛(wèi)星網(wǎng)絡(luò)參數(shù)如表2所示。
1.3 流表結(jié)構(gòu)設(shè)計
由于衛(wèi)星網(wǎng)絡(luò)存在著連接不穩(wěn)定、傳輸時延較大等問題,傳統(tǒng)的TCP/IP協(xié)議不適用于衛(wèi)星網(wǎng)絡(luò),因而必須使用新型網(wǎng)絡(luò)協(xié)議,本文將SDN引入到衛(wèi)星網(wǎng)絡(luò)中,通過修改流表項以應(yīng)用適合于延遲容忍網(wǎng)絡(luò) (Delay Tolerant Network, DTN)的協(xié)議。本課題采用當(dāng)前衛(wèi)星網(wǎng)絡(luò)中最廣泛的Licklider傳輸協(xié)議 (Licklider Transmission Protocol, LTP),即在TCP/IP網(wǎng)絡(luò)運行的所有協(xié)議上層提供一個兼容覆蓋層,使用托管傳輸,使鏈路在不穩(wěn)定的情況下能確保所傳輸?shù)臄?shù)據(jù)不會損失。
基于LTP協(xié)議和束協(xié)議的特性,對流表項進行適當(dāng)?shù)男薷?。在OpenFlow 1.0中,流表主要分為匹配域、動作以及統(tǒng)計項三部分。
在匹配域中加入LTP Block num字段和Segment num字段,用于傳輸后重新組合數(shù)據(jù)段,并劃分成束,由束協(xié)議進行之后的處理。
在動作域中加入等待、重傳和上傳字段。當(dāng)控制器預(yù)測到無法與下一個節(jié)點建立連接,但可以在短時間內(nèi)恢復(fù)時,下發(fā)等待指令,暫停數(shù)據(jù)包的傳輸,并由交換機記錄等待時長。當(dāng)數(shù)據(jù)包丟失時,控制器下發(fā)重傳指令,交換機則按照流表重傳臨時存儲器中的數(shù)據(jù)包。上傳指令由MEO衛(wèi)星的局部控制器下發(fā),存在長時間鏈路中斷時,MEO衛(wèi)星啟用托管傳輸機制,收集組內(nèi)LEO衛(wèi)星的數(shù)據(jù)包并交給其他MEO衛(wèi)星進行傳輸。
在統(tǒng)計域中加入4個字段:重傳數(shù)據(jù)包數(shù)量、上傳數(shù)據(jù)包數(shù)量、等待次數(shù)以及等待時間??刂破鲹?jù)此分析易失效的鏈路以及鏈路失效周期等網(wǎng)絡(luò)參數(shù)。
2 容錯路由算法
首先由控制器通過各節(jié)點及鏈路的相關(guān)參數(shù)計算出最優(yōu)路徑,若路徑中同時包含MEO和LEO衛(wèi)星節(jié)點,則分層進行路由計算。
2.1 MEO衛(wèi)星容錯路由算法
MEO層內(nèi)路由時節(jié)點和鏈路的失效分為兩種情況:可預(yù)測失效和突發(fā)性失效??深A(yù)測失效采用托管傳輸機制,MEO衛(wèi)星控制器在檢測到即將發(fā)生失效時下達上傳指令,將自身的數(shù)據(jù)包和其管理范圍內(nèi)LEO衛(wèi)星緩存的數(shù)據(jù)包一起交付給最近的MEO衛(wèi)星,并移交管理者位置,由托管者暫時代理其功能。而針對突發(fā)性失效的情況,首先開始計時,并啟用LTP協(xié)議的容錯機制進行等待和重傳,若超過時限仍未恢復(fù),則由地面控制器重新計算路徑。
2.2 LEO衛(wèi)星容錯路由算法
本文針對LEO衛(wèi)星設(shè)計了一種基于故障塊的容錯路由算法。將衛(wèi)星節(jié)點和消息進行分類,使數(shù)據(jù)包能夠繞開故障傳輸,從而達到容錯的目的。該機制將節(jié)點劃分為以下四種狀態(tài)。
1)失效節(jié)點(Faulty node):已損壞的節(jié)點。
2)禁用節(jié)點(Deactivated node):周圍有兩個或以上的失效節(jié)點或禁用節(jié)點,且沒有活躍節(jié)點的節(jié)點。
3)不安全節(jié)點(Unsafe node):周圍的鄰居節(jié)點中至少有一個節(jié)點為活躍節(jié)點的節(jié)點。
4)活躍節(jié)點(Active node):所有剩余節(jié)點。
通過當(dāng)前節(jié)點的狀態(tài),以及該節(jié)點周圍四個節(jié)點的狀態(tài)可以判斷當(dāng)前節(jié)點的類型。
故障塊的邊界由活躍節(jié)點組成,故障塊如圖4所示。
3 仿真與結(jié)果分析
本文仿真實現(xiàn)的硬件環(huán)境采用Windows 7旗艦版64位系統(tǒng)和Ubuntu 16.04系統(tǒng);仿真實現(xiàn)的軟件環(huán)境為STK軟件、Mininet仿真平臺以及Ryu控制器。實驗中衛(wèi)星星座的所有衛(wèi)星運動軌跡的實時坐標數(shù)據(jù)和衛(wèi)星間可見性時間段均是從STK軟件中提取的,將STK中提取的數(shù)據(jù)導(dǎo)入Mininet仿真平臺上的路由機制項目中仿真實現(xiàn)。
3.1 對比算法
本文選取了兩種MEO和LEO雙層衛(wèi)星星座的路由算法作為對比,避免與單層星座對比時由于跨層帶來的信號損失。
第一種是基于鏈路感知的星間路由算法(inter-Satellite Routing algorithm based on Link Recognizing, LRSR),每顆衛(wèi)星通過“存儲攜帶轉(zhuǎn)發(fā)”的方式為其他衛(wèi)星提供數(shù)據(jù)中繼服務(wù)[15]。在該算法中,每個衛(wèi)星實時監(jiān)控鏈路狀態(tài),當(dāng)接收到鏈路狀態(tài)信息,則更新鏈路狀態(tài)數(shù)據(jù)庫;當(dāng)發(fā)送數(shù)據(jù)包時,根據(jù)Dijkstra算法和鏈路狀態(tài)數(shù)據(jù)庫計算最短路徑和最佳的下一跳。
第二種算法是多層衛(wèi)星網(wǎng)絡(luò)路由算法(Multi-Layered Satellite Routing algorithm, MLSR),該算法根據(jù)衛(wèi)星上、下層的覆蓋關(guān)系對LEO層和MEO層衛(wèi)星進行分組,使得一個GEO衛(wèi)星管理一組MEO衛(wèi)星,一個MEO衛(wèi)星管理一組LEO衛(wèi)星[16]。當(dāng)GEO或MEO衛(wèi)星管理域內(nèi)的衛(wèi)星成員改變時,需要重新進行路由表的計算。
這兩種算法都是由各個衛(wèi)星實時監(jiān)測鏈路狀態(tài),在衛(wèi)星節(jié)點上進行鏈路維護和路由計算,而本文提出了一種基于SDN的路由機制,衛(wèi)星節(jié)點只負責(zé)傳輸數(shù)據(jù),鏈路信息的處理和路由的計算都在SDN控制器中完成。
3.2 實驗拓撲
本文選用三層衛(wèi)星網(wǎng)絡(luò)作為仿真的拓撲用例,根據(jù)三層衛(wèi)星網(wǎng)絡(luò)參數(shù)在STK仿真平臺中構(gòu)建多層衛(wèi)星網(wǎng)絡(luò)。先將設(shè)計好的衛(wèi)星星座模型輸入到STK中,取某一時刻的拓撲作為實驗數(shù)據(jù),輸入到Mininet仿真平臺中構(gòu)建拓撲,并結(jié)合具體的路由算法生成路由表。
為了體現(xiàn)本文算法的容錯機制,這里構(gòu)建了3種衛(wèi)星網(wǎng)絡(luò)拓撲進行對比實驗:第一種拓撲中無損壞情況;第二種拓撲中有少量衛(wèi)星節(jié)點損壞和鏈路中斷,這里選取3顆衛(wèi)星損壞,2條鏈路中斷;第三種拓撲損壞較嚴重,這里選取8顆衛(wèi)星損壞,4條鏈路中斷。所有損壞的衛(wèi)星和鏈路都均勻分布在拓撲中。
選取路徑周圍50顆衛(wèi)星構(gòu)建局部拓撲,包括 40顆LEO衛(wèi)星、8顆MEO衛(wèi)星、2顆GEO衛(wèi)星。通過STK表給出的地面站對衛(wèi)星的跟蹤弧段和跟蹤AER(Azimuth, Elevation, Range)值計算衛(wèi)星間距,并得到相鄰衛(wèi)星之間的傳輸時延,若時延大于一定閾值則視為兩顆衛(wèi)星之間沒有鏈路連接。
3.3 性能對比
本文將在三種不同的拓撲下從延時、延遲抖動、丟包率以及路由跳數(shù)這四個方面進行性能評價。
3.3.1 延時
路由總延時隨數(shù)據(jù)包數(shù)量的變化如圖6所示。由圖6(a)可以看出,在網(wǎng)絡(luò)中無損壞節(jié)點且數(shù)據(jù)包數(shù)量較少時,由于MLSR以延時為路由度量集,總是選取延時最小的路徑進行路由,因此延時較小;而LRSR需要節(jié)點實時監(jiān)控鏈路狀態(tài),計算過程需要花費時間,因此延時較高;相比于LRSR,本文的容錯路由算法(Fault-Tolerant Routing algorithm, FTR)中鏈路狀態(tài)信息由SDN控制器監(jiān)控和計算,因此延時較小,體現(xiàn)出了SDN控制的優(yōu)勢。但是當(dāng)網(wǎng)絡(luò)負載較重時,路由延時中的處理延時和排隊延時已經(jīng)是影響路徑延時的主要因素,因此三種算法的實驗結(jié)果相差不大。
由圖6可知,隨著拓撲中失效情況的加劇,F(xiàn)TR和LRSR的容錯效果有所提升,因為FTR可以快速判斷并繞開拓撲中損壞的部分,而LRSR對鏈路的實時監(jiān)控也可以在節(jié)點失效時重新構(gòu)建拓撲并計算出新的路由路徑,因此相較MLSR都有更好的適應(yīng)能力。
3.3.2 延遲抖動
路由延遲抖動隨數(shù)據(jù)包數(shù)量的變化如圖7所示。由圖7(a)可以看出,在網(wǎng)絡(luò)正常無損壞節(jié)點的情況下,當(dāng)數(shù)據(jù)包數(shù)量較少時,三種算法的延遲抖動接近,而在數(shù)據(jù)量變大后,LRSR對延遲抖動的控制能力比較強。這是因為該算法中節(jié)點掌握網(wǎng)絡(luò)拓撲的實時狀態(tài),能夠根據(jù)鏈路的剩余帶寬調(diào)整路由路徑。而本文提出的FTR只在節(jié)點失效和鏈路中斷情況下進行處理,MLSR則僅在到達計算周期時才重新計算路由,因此均會帶來較大的延遲抖動。
由圖7可知,隨著網(wǎng)絡(luò)狀態(tài)惡劣化加劇,三種算法的延遲抖動差也逐漸增大。這是因為網(wǎng)絡(luò)中節(jié)點和鏈路失效也會帶來擁塞問題,LRSR對網(wǎng)絡(luò)擁塞和失效問題都有解決方案,本文的FTR針對網(wǎng)絡(luò)故障也具有較好的應(yīng)對措施;而MLSR只選擇時延最小的路徑,面對故障時只有等待計算周期來重新選取路徑。
3.3.3 丟包率
丟包率隨數(shù)據(jù)包數(shù)量的變化如圖8所示。由圖8(a)可以看出,在網(wǎng)絡(luò)正常無損壞節(jié)點的情況下,數(shù)據(jù)包數(shù)量較少時,三種算法的丟包率大致相同;但隨著傳輸數(shù)據(jù)增加, MLSR的丟包率會高于LRSR和FTR,這是由于該算法總是選擇延時最小的路徑,在減少延時的同時增加了路由跳數(shù),因此增大了丟包率。FTR在網(wǎng)絡(luò)無損壞的情況下也是以延時最小為目標,但在本文設(shè)計的網(wǎng)絡(luò)模型中,MEO衛(wèi)星的臨時存儲路由機制能夠緩解擁塞,因此丟包率低于MLSR,說明本文設(shè)計的網(wǎng)絡(luò)模型是有效的。而LRSR的鏈路監(jiān)測功能也可以較好地應(yīng)對網(wǎng)絡(luò)擁塞,從而降低丟包率。
由圖8可知,網(wǎng)絡(luò)拓撲中節(jié)點失效和鏈路中斷會顯著增加路由過程的丟包率,而隨著網(wǎng)絡(luò)損壞程度的加劇,節(jié)點和鏈路的失效逐漸成為影響丟包率的主要因素。因此本文的FTR的容錯機制能夠更有效地降低丟包率。
3.3.4 路由跳數(shù)
路由跳數(shù)是數(shù)據(jù)包經(jīng)過的路由器個數(shù)。圖9展示了在不同拓撲下三種算法的路由跳數(shù)分布情況,這里取20000數(shù)據(jù)包作為基準數(shù)量。
由圖9(a)可知,三種算法在網(wǎng)絡(luò)拓撲無故障時采取的都是延時最短路徑,因此路徑的選擇基本一致。而通過圖9(b)、圖9(c)可以看出,當(dāng)網(wǎng)絡(luò)中有損壞情況時,F(xiàn)TR采用繞開故障塊的方式進行路由,增加了數(shù)據(jù)包經(jīng)過的路由器數(shù)量,因此FTR的路由跳數(shù)較高,而且失效的節(jié)點和鏈路越多,跳數(shù)差距越大。
上述對比結(jié)果表明,在網(wǎng)絡(luò)中無損壞節(jié)點和鏈路的情況下,F(xiàn)TR的路由總延時比LRSR平均降低了6.06%,證明了引入SDN集中控制的有效性;FTR的丟包率比同樣以最小延時為目標的MLSR降低了25.79%,證明了在網(wǎng)絡(luò)模型中為中軌道(MEO)衛(wèi)星設(shè)計臨時存儲路由機制的有效性。而當(dāng)網(wǎng)絡(luò)中節(jié)點和鏈路的失效情況比較嚴重時,F(xiàn)TR的路由總延時比LRSR降低了3.99%,比MLSR降低了19.19%;其丟包率比LRSR降低了16.94%,比MLSR降低了37.95%,證明了FTR的容錯有效性。綜上所述,本文提出基于SDN的路由機制具有較低的時延和延遲抖動,正常的路由開銷,以及較少的丟包率,因此可以提供更出色的路由服務(wù)。
4 結(jié)語
由于衛(wèi)星節(jié)點所處的環(huán)境惡劣,衛(wèi)星及星間鏈路會受到不同程度的影響。為增強衛(wèi)星網(wǎng)絡(luò)應(yīng)對故障的能力,本文引入了SDN的概念,將衛(wèi)星網(wǎng)絡(luò)的控制平面和數(shù)據(jù)平面分離,設(shè)計了基于SDN的衛(wèi)星網(wǎng)絡(luò)模型,并根據(jù)星座設(shè)計原理,計算了三層衛(wèi)星網(wǎng)絡(luò)中各層衛(wèi)星的相關(guān)參數(shù)。最后設(shè)計了一種針對于衛(wèi)星網(wǎng)絡(luò)的容錯路由算法用于實現(xiàn)容錯的目的,并通過延時、延遲抖動、丟包率等參數(shù)驗證了設(shè)計的合理性和可行性。
本文對軟件定義網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)相結(jié)合的研究還僅僅是一個開始,下一步將充分利用SDN的優(yōu)勢,在實現(xiàn)有效的路由容錯的基礎(chǔ)上考慮衛(wèi)星網(wǎng)絡(luò)中節(jié)點的能效等問題,延長衛(wèi)星網(wǎng)絡(luò)的壽命。
參考文獻 (References)
[1] 盧勇,趙有健,孫富春,等.衛(wèi)星網(wǎng)絡(luò)路由技術(shù)[J].軟件學(xué)報,2014,25(5):1085-1100.(LU Y, ZHAO Y J, SUN F C, et al. Routing techniques on satellite networks [J]. Journal of Software, 2014, 25(5): 1085-1100.)
[2] NISHIYAMA H, TADA Y, KATO N, et al. Toward optimized traffic distribution for efficient network capacity utilization in two-layered satellite networks [J]. IEEE Transactions on Vehicular Technology, 2013, 62(3): 1303-1313.
[3] KONDRATEVA O, DBLER H, SPARKA H, et al. Throughput-optimal joint routing and scheduling for low-earth-orbit satellite networks [C]// Proceedings of the 2018 Wireless On-Demand Network Systems and Services. Piscataway, NJ: IEEE, 2018: 59-66.
[4] LU Y, ZHANG J, ZHANG T. UMR: a utility-maximizing routing algorithm for delay-sensitive service in LEO satellite networks [J]. Chinese Journal of Aeronautics, 2015, 28(2): 499-507.
[5] XU W, JIANG M, TANG F, et al. Network coding-based multi-path routing algorithm in two-layered satellite networks [J]. IET Communications, 2018, 12(1): 2-8.
[6] NISHIYAMA H, KUDOH D, KATO N, et al. Load balancing and QoS provisioning based on congestion prediction for GEO/LEO hybrid satellite networks [J]. Proceedings of the IEEE, 2011, 99(11): 1998-2007.
[7] KAWAMOTO Y, NISHIYAMA H, KATO N, et al. Assessing packet delivery delay in multi-layered satellite networks [C]// Proceedings of the 2012 IEEE International Conference on Communications. Piscataway, NJ: IEEE, 2012: 3311-3315.
[8] GUO Z, YAN Z. A weighted semi-distributed routing algorithm for LEO satellite networks [J]. Journal of Network & Computer Applications, 2015, 58: 1-11.
[9] YANG Y, XU M, WANG D, et al. Towards energy-efficient routing in satellite networks [J]. IEEE Journal on Selected Areas in Communications, 2016, 34(12): 3869-3886.
[10] LIU H, SUN F, WANG S. Virtual Strategy QoS routing in satellite networks [J]. Science China Information Sciences, 2016, 59(9): 92201.
[11] WAND D, LI H, SUN F, et al. Dynamic fault-tolerant routing based on FSA for LEO satellite networks [J]. IEEE Transactions on Computers, 2013, 62(10): 1945-1958.
[12] 劉沛龍,陳宏宇,魏松杰,等.LEO衛(wèi)星網(wǎng)絡(luò)海量遙感數(shù)據(jù)下行的負載均衡多徑路由算法[J].通信學(xué)報,2017,38(Z1):135-142.(LIU P L, CHEN H Y, WEI S J, et al. Load balancing multipath routing protocol for mass remote sensing data downlink in LEO satellite network [J]. Journal on Communications, 2017, 38(Z1): 135-142.)
[13] 齊小剛,馬久龍,劉立芳.基于拓撲控制的衛(wèi)星網(wǎng)絡(luò)路由優(yōu)化[J].通信學(xué)報,2018,39(2):11-20.(QI X G, MA J L, LIU L F. Routing optimization based on topology control in satellite network [J]. Journal on Communications, 2018, 39(2): 11-20.)
[14] XU S, WANG X, HUANG M. Software-defined next-generation satellite networks: architecture, challenges, and solutions [J]. IEEE Access, 2018, 6: 4027-4041.
[15] LU N, ZHANG H, MA J. A novel inter-satellite routing protocol based on link recognizing [C]// Proceedings of the 2014 International Conference on Cyberspace Technology. London: the Institution of Engineering and Technology, 2014: 1-4.
[16] AKYILDIZ I F, EKICI E, BENDER M D. MLSR: a novel routing algorithm for multilayered satellite IP networks [J]. IEEE/ACM Transactions on Networking, 2002, 10(3): 411-424.