賈夢(mèng)瑤 王興偉 張爽 易波 黃敏
摘 要:鑒于衛(wèi)星網(wǎng)絡(luò)對(duì)安全性和應(yīng)對(duì)故障的能力有很高的要求,引入了軟件定義網(wǎng)絡(luò)(SDN)技術(shù),在網(wǎng)絡(luò)中放置中央控制器來增強(qiáng)網(wǎng)絡(luò)對(duì)故障的應(yīng)對(duì)能力。首先,基于SDN的思想設(shè)計(jì)了一種衛(wèi)星網(wǎng)絡(luò)模型,計(jì)算了三層軌道上衛(wèi)星運(yùn)行的參數(shù)并構(gòu)建星座;然后,采用分層路由的方法,設(shè)計(jì)了一種針對(duì)衛(wèi)星網(wǎng)絡(luò)的容錯(cuò)路由機(jī)制;最后,在Mininet平臺(tái)上進(jìn)行了仿真實(shí)驗(yàn),將容錯(cuò)路由算法(FTR)的實(shí)驗(yàn)結(jié)果與基于鏈路感知的星間路由算法(LRSR)和多層衛(wèi)星網(wǎng)絡(luò)路由算法(MLSR)的實(shí)驗(yàn)結(jié)果進(jìn)行了對(duì)比。對(duì)比結(jié)果表明,在網(wǎng)絡(luò)中無(wú)損壞節(jié)點(diǎn)和鏈路的情況下,F(xiàn)TR的路由總延時(shí)比LRSR平均降低了6.06%,說明了引入SDN集中控制的有效性;FTR的丟包率比同樣以最小延時(shí)為目標(biāo)的MLSR降低了25.79%,說明了在網(wǎng)絡(luò)模型中為中軌道(MEO)衛(wèi)星設(shè)計(jì)臨時(shí)存儲(chǔ)路由機(jī)制的有效性。而當(dāng)網(wǎng)絡(luò)中節(jié)點(diǎn)和鏈路的失效情況比較嚴(yán)重時(shí),F(xiàn)TR的路由總延時(shí)比LRSR降低了3.99%,比MLSR降低了19.19%;其丟包率比LRSR降低了16.94%,比MLSR降低了37.95%,說明了FTR的容錯(cuò)有效性。實(shí)驗(yàn)結(jié)果驗(yàn)證了基于SDN的衛(wèi)星網(wǎng)絡(luò)路由機(jī)制具有更好的容錯(cuò)能力。
關(guān)鍵詞:衛(wèi)星網(wǎng)絡(luò);網(wǎng)絡(luò)模型;軟件定義網(wǎng)絡(luò);容錯(cuò);路由
中圖分類號(hào): TP393.04 通信規(guī)程、通信協(xié)議
文獻(xiàn)標(biāo)志碼: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),在天地一體化進(jìn)程中占有很重要的地位。它具有容量大、成本低、無(wú)地理環(huán)境限制、靈活組網(wǎng)等特點(diǎn),能有效緩解地面骨干網(wǎng)絡(luò)流量擁塞以及邊緣網(wǎng)絡(luò)無(wú)法接入主干網(wǎng)絡(luò)等問題。
但衛(wèi)星網(wǎng)絡(luò)周期性動(dòng)態(tài)變化的拓?fù)鋵?duì)路由協(xié)議的設(shè)計(jì)等問題提出了新的挑戰(zhàn)[1]。由于傳統(tǒng)網(wǎng)絡(luò)的路由協(xié)議不再適用于衛(wèi)星網(wǎng)絡(luò),近年來,國(guó)內(nèi)外有大量的工作著重于提高多層衛(wèi)星網(wǎng)絡(luò)的性能。為了提高網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)利用率,文獻(xiàn)[2]提出了一種最優(yōu)分布的路由方法,優(yōu)化了近地軌道 (Low Earth Orbit, LEO) / 中軌道(Medium Earth Orbit, MEO)雙層衛(wèi)星網(wǎng)絡(luò)中的流量分配。文獻(xiàn)[3]提出了一種新的路由和鏈路調(diào)度聯(lián)合優(yōu)化方法來聯(lián)合生成吞吐量最優(yōu)路由和傳輸時(shí)刻表,優(yōu)化了由18個(gè)低地球軌道衛(wèi)星組成的網(wǎng)絡(luò)的吞吐量,并提出了一種使衛(wèi)星網(wǎng)絡(luò)吞吐量最大化的線性規(guī)劃方案。文獻(xiàn)[4]提出了一種在低地球軌道多跳衛(wèi)星網(wǎng)絡(luò)中由微型衛(wèi)星組成的延遲敏感包傳輸路由算法,平衡了衛(wèi)星間鏈路的流量分配,降低了流量中斷率。文獻(xiàn)[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ò)擁塞,文獻(xiàn)[6-7]提出了基于負(fù)載均衡的路由協(xié)議,并分別為L(zhǎng)EO/MEO雙層衛(wèi)星網(wǎng)絡(luò)開發(fā)了新的網(wǎng)絡(luò)結(jié)構(gòu)。為了減少開銷,文獻(xiàn)[8]提出了一種在LEO衛(wèi)星網(wǎng)絡(luò)中的路由算法,稱作加權(quán)半分布式路由算法 (Weighted Semi-Distributed Routing Algorithm, WSDRA),它能夠以較小的開銷找到一個(gè)具有最小傳播延遲的路徑。文獻(xiàn)[9]通過合理的路由流量,將空間路由器轉(zhuǎn)換為睡眠模式,提出了一種在衛(wèi)星網(wǎng)絡(luò)中節(jié)能的路由選擇方案。另外,文獻(xiàn)[10]基于虛擬策略提出了一種服務(wù)質(zhì)量 (Quality of Service, QoS)路由方案,數(shù)據(jù)消息只需要到達(dá)目的地,而不考慮網(wǎng)絡(luò)或應(yīng)用程序的差異。虛擬策略是一種中間件,它提供了一個(gè)統(tǒng)一的接口,應(yīng)用程序可以使用它來容納不同的通信技術(shù)從而配置協(xié)議屬性或傳輸消息。文獻(xiàn)[11]利用基于有限狀態(tài)自動(dòng)機(jī)的狀態(tài)轉(zhuǎn)移模型,對(duì)故障塊的構(gòu)造進(jìn)行了形式化描述。在此模型基礎(chǔ)上,針對(duì)故障塊外的無(wú)死鎖容錯(cuò)自適應(yīng)路由提出了一種邊界擴(kuò)散方法,即自適應(yīng)容錯(cuò)路由算法,稱作X-Y邊界路由算法 (X-Y Boundary Routing Algorithm, X-YBRA),徹底解決了故障塊的路由問題。文獻(xiàn)[12]針對(duì)衛(wèi)星實(shí)時(shí)直播的應(yīng)用場(chǎ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)用需求的同時(shí)減小對(duì)網(wǎng)絡(luò)基本通信服務(wù)的影響。文獻(xiàn)[13]提出了一種基于拓?fù)淇刂频穆酚伤惴ǎ撍惴☉?yīng)用了虛擬節(jié)點(diǎn)策略和衛(wèi)星分組的思想,并分別由地球同步軌道(Geostationary Earth Orbit, GEO)衛(wèi)星和LEO衛(wèi)星進(jìn)行路由計(jì)算和數(shù)據(jù)轉(zhuǎn)發(fā),降低了路由時(shí)延和分組丟失率。
1)衛(wèi)星節(jié)點(diǎn)的存儲(chǔ)空間、運(yùn)算能力受限。
隨著衛(wèi)星網(wǎng)絡(luò)的發(fā)展,衛(wèi)星數(shù)量不斷增加,想要通過星載路由計(jì)算來維護(hù)整個(gè)網(wǎng)絡(luò)的鏈路狀態(tài)是十分困難的。如果在衛(wèi)星節(jié)點(diǎn)上動(dòng)態(tài)地執(zhí)行路由算法,衛(wèi)星節(jié)點(diǎn)要有全網(wǎng)拓?fù)湫畔?,但收集鏈路信息十分耗時(shí),路由的計(jì)算也很容易出錯(cuò)。
2)星間鏈路易受影響。
首先,考慮到外太空環(huán)境的惡劣,衛(wèi)星網(wǎng)絡(luò)的星間鏈路容易受到如太陽(yáng)活動(dòng)、電磁干擾等因素的影響。其次,衛(wèi)星節(jié)點(diǎn)本身也面臨著失效的問題。因此在衛(wèi)星網(wǎng)絡(luò)中設(shè)計(jì)一種容錯(cuò)路由機(jī)制是十分必要的,以保證在節(jié)點(diǎn)或鏈路出現(xiàn)故障時(shí)能快速地算出新的路由路徑。
由于衛(wèi)星是按照既定軌跡運(yùn)行的,因此它們的運(yùn)動(dòng)和鏈路連接具有可預(yù)測(cè)性。人們可以在地面站預(yù)先計(jì)算出某顆衛(wèi)星在某一時(shí)刻的位置,然后根據(jù)不同的策略解決空間信息網(wǎng)絡(luò)中拓?fù)鋭?dòng)態(tài)變化的問題?;谶@種考慮,本文引入了軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)技術(shù),根據(jù)SDN中將控制平面和數(shù)據(jù)平面分離的思想,分配好控制器、路由器以及衛(wèi)星網(wǎng)絡(luò)中其他組件的位置和功能,從而降低衛(wèi)星節(jié)點(diǎn)的負(fù)載,提高路由計(jì)算效率,增強(qiáng)故障應(yīng)對(duì)能力。
本文基于SDN思想,選取三層衛(wèi)星網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計(jì)了一種衛(wèi)星網(wǎng)絡(luò)模型,可以有效監(jiān)測(cè)和控制整個(gè)網(wǎng)絡(luò)狀態(tài),并根據(jù)衛(wèi)星的運(yùn)行特點(diǎn)設(shè)計(jì)了三層衛(wèi)星星座;其次,設(shè)計(jì)了MEO層的托管傳輸機(jī)制和LEO層的故障塊路由算法,用于增強(qiáng)網(wǎng)絡(luò)的故障處理能力;最后,對(duì)所提出的路由算法進(jìn)行了驗(yàn)證,并對(duì)結(jié)果進(jìn)行了分析。
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)星,從而實(shí)現(xiàn)覆蓋全球的目的。其中LEO采用極軌道星座,MEO采用傾斜軌道星座,GEO則是在地球同步軌道上運(yùn)行。
SDN實(shí)現(xiàn)了網(wǎng)絡(luò)中通過軟件智能管控網(wǎng)絡(luò)組件的思想,該技術(shù)可以提高網(wǎng)絡(luò)的可編程性、可操作性和可重用性[14]。如圖1所示,本文將SDN思想引入到衛(wèi)星網(wǎng)絡(luò)模型的設(shè)計(jì)中,讓衛(wèi)星節(jié)點(diǎn)僅負(fù)責(zé)數(shù)據(jù)的傳輸,而鏈路的維護(hù)和路由計(jì)算都由控制器進(jìn)行處理,從而有效地監(jiān)測(cè)和控制整個(gè)網(wǎng)絡(luò)的狀態(tài),降低衛(wèi)星網(wǎng)絡(luò)中的星上負(fù)載,提高路由計(jì)算效率,更好地實(shí)現(xiàn)容錯(cuò)路由的目的。
1.1 衛(wèi)星網(wǎng)絡(luò)架構(gòu)
本文設(shè)計(jì)的網(wǎng)絡(luò)架構(gòu)如圖2所示。在該架構(gòu)中,SDN控制器被部署于地面站,負(fù)責(zé)管控整個(gè)網(wǎng)絡(luò),LEO層的每個(gè)衛(wèi)星都是網(wǎng)絡(luò)中的一個(gè)只具有轉(zhuǎn)發(fā)功能的OpenFlow交換機(jī)。每顆LEO衛(wèi)星上配有臨時(shí)存儲(chǔ)器,暫存當(dāng)前需要轉(zhuǎn)發(fā)的數(shù)據(jù)包;每顆MEO衛(wèi)星上配有長(zhǎng)期存儲(chǔ)器,通常只存儲(chǔ)自己轉(zhuǎn)發(fā)的數(shù)據(jù)包,需要托管傳輸時(shí),則收集其管理的LEO衛(wèi)星的數(shù)據(jù)包,交付給其他MEO衛(wèi)星。
考慮到地面站數(shù)量的限制,需要配置若干局部控制器輔助管控整個(gè)網(wǎng)絡(luò),以保證SDN控制器對(duì)LEO層請(qǐng)求衛(wèi)星的持續(xù)連接和控制。由于MEO層的衛(wèi)星比LEO層的衛(wèi)星壽命更長(zhǎng),緩存空間和處理能力更好,且與其他層衛(wèi)星通信不需要建立跨層通信鏈路,因此將局部控制器放置在MEO層衛(wèi)星上。
作為局部控制器的MEO衛(wèi)星對(duì)其通信范圍內(nèi)的衛(wèi)星進(jìn)行控制。MEO衛(wèi)星首先收集網(wǎng)絡(luò)狀態(tài)信息,并通過星間鏈路上傳給GEO衛(wèi)星,GEO衛(wèi)星再通過廣播發(fā)送給地面控制中心,控制中心計(jì)算出路由表后通過星地鏈路上傳給LEO衛(wèi)星。當(dāng)某衛(wèi)星接收到數(shù)據(jù)包但無(wú)法進(jìn)行正常流表匹配,且此時(shí)該衛(wèi)星無(wú)法與地面控制器進(jìn)行通信時(shí),就將請(qǐng)求發(fā)給局部控制器進(jìn)行處理。
本模型中的網(wǎng)關(guān)位于地面,是控制中心與LEO層衛(wèi)星間鏈路的接口,負(fù)責(zé)星間鏈路協(xié)議和TCP/IP協(xié)議之間的轉(zhuǎn)換。
控制中心基于收集的信息計(jì)算最優(yōu)路由表,并發(fā)送給LEO層衛(wèi)星。同時(shí)與應(yīng)用程序相連接,實(shí)現(xiàn)網(wǎng)絡(luò)的可編程操控。
1.2 衛(wèi)星星座設(shè)計(jì)
三層衛(wèi)星星座從下至上分別采用極軌道星座、傾斜軌道星座和3個(gè)傾角120°的GEO衛(wèi)星,實(shí)現(xiàn)衛(wèi)星對(duì)地達(dá)到100%覆蓋,最小化衛(wèi)星星座的系統(tǒng)周期,并且使得衛(wèi)星軌道數(shù)與衛(wèi)星個(gè)數(shù)盡可能少。同時(shí),衛(wèi)星星座的設(shè)計(jì)還應(yīng)考慮以下環(huán)境因素:
1)地球大氣層影響。大氣層的擾動(dòng)會(huì)影響衛(wèi)星的正常工作,且氧氣會(huì)腐蝕衛(wèi)星設(shè)備,因此LEO層衛(wèi)星的軌道高度應(yīng)高于大氣層頂端(800km)。
2)范·艾倫帶的影響。設(shè)計(jì)LEO和MEO層衛(wèi)星的軌道高度時(shí)需要避開這兩層輻射帶。
1.2.1 LEO衛(wèi)星星座設(shè)計(jì)
LEO層采用極軌道星座,設(shè)計(jì)時(shí)需要實(shí)現(xiàn)對(duì)地面的完全覆蓋。由于LEO層衛(wèi)星在高緯度地區(qū)對(duì)地面的覆蓋比較緊密,低緯度地區(qū)相對(duì)稀疏,而且衛(wèi)星存在逆向飛行的可能,所以網(wǎng)絡(luò)中最初和最后軌道面之間的間隔與其他鄰接軌道面之間的間隔相比略小。
網(wǎng)絡(luò)架構(gòu)應(yīng)盡可能簡(jiǎn)潔,考慮到環(huán)境因素,這里L(fēng)EO衛(wèi)星軌道數(shù)取6,每個(gè)軌道衛(wèi)星個(gè)數(shù)為11,軌道高度是868km。
為了方便控制,LEO衛(wèi)星和MEO衛(wèi)星應(yīng)在運(yùn)行一段時(shí)間后回到起始點(diǎn),即滿足TL×K1=TM×K2=TE×N,其中,K1、K2、N都是整數(shù),表示衛(wèi)星運(yùn)行的圈數(shù),TL和TM分別是LEO衛(wèi)星和MEO衛(wèi)星的運(yùn)行周期,TE是地球自轉(zhuǎn)周期。依據(jù)開普勒第三定律以及環(huán)境對(duì)衛(wèi)星軌道的限制,可得到LEO和MEO衛(wèi)星軌道參數(shù),其中星座系統(tǒng)周期是24h,具體見表2。
1.2.2 MEO衛(wèi)星星座設(shè)計(jì)
MEO衛(wèi)星使用了Walker delta星座,在衛(wèi)星運(yùn)行期間,同一水平衛(wèi)星之間的關(guān)系保持相對(duì)穩(wěn)定。目前最常用的Walker delta星座有3條軌道,每條軌道上6顆衛(wèi)星,共計(jì)18顆衛(wèi)星。因此三層衛(wèi)星網(wǎng)絡(luò)參數(shù)如表2所示。
1.3 流表結(jié)構(gòu)設(shè)計(jì)
由于衛(wèi)星網(wǎng)絡(luò)存在著連接不穩(wěn)定、傳輸時(shí)延較大等問題,傳統(tǒng)的TCP/IP協(xié)議不適用于衛(wèi)星網(wǎng)絡(luò),因而必須使用新型網(wǎng)絡(luò)協(xié)議,本文將SDN引入到衛(wèi)星網(wǎng)絡(luò)中,通過修改流表項(xiàng)以應(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ò)運(yùn)行的所有協(xié)議上層提供一個(gè)兼容覆蓋層,使用托管傳輸,使鏈路在不穩(wěn)定的情況下能確保所傳輸?shù)臄?shù)據(jù)不會(huì)損失。
基于LTP協(xié)議和束協(xié)議的特性,對(duì)流表項(xiàng)進(jìn)行適當(dāng)?shù)男薷?。在OpenFlow 1.0中,流表主要分為匹配域、動(dòng)作以及統(tǒng)計(jì)項(xiàng)三部分。
在匹配域中加入LTP Block num字段和Segment num字段,用于傳輸后重新組合數(shù)據(jù)段,并劃分成束,由束協(xié)議進(jìn)行之后的處理。
在動(dòng)作域中加入等待、重傳和上傳字段。當(dāng)控制器預(yù)測(cè)到無(wú)法與下一個(gè)節(jié)點(diǎn)建立連接,但可以在短時(shí)間內(nèi)恢復(fù)時(shí),下發(fā)等待指令,暫停數(shù)據(jù)包的傳輸,并由交換機(jī)記錄等待時(shí)長(zhǎng)。當(dāng)數(shù)據(jù)包丟失時(shí),控制器下發(fā)重傳指令,交換機(jī)則按照流表重傳臨時(shí)存儲(chǔ)器中的數(shù)據(jù)包。上傳指令由MEO衛(wèi)星的局部控制器下發(fā),存在長(zhǎng)時(shí)間鏈路中斷時(shí),MEO衛(wèi)星啟用托管傳輸機(jī)制,收集組內(nèi)LEO衛(wèi)星的數(shù)據(jù)包并交給其他MEO衛(wèi)星進(jìn)行傳輸。
在統(tǒng)計(jì)域中加入4個(gè)字段:重傳數(shù)據(jù)包數(shù)量、上傳數(shù)據(jù)包數(shù)量、等待次數(shù)以及等待時(shí)間。控制器據(jù)此分析易失效的鏈路以及鏈路失效周期等網(wǎng)絡(luò)參數(shù)。
2 容錯(cuò)路由算法
首先由控制器通過各節(jié)點(diǎn)及鏈路的相關(guān)參數(shù)計(jì)算出最優(yōu)路徑,若路徑中同時(shí)包含MEO和LEO衛(wèi)星節(jié)點(diǎn),則分層進(jìn)行路由計(jì)算。
2.1 MEO衛(wèi)星容錯(cuò)路由算法
MEO層內(nèi)路由時(shí)節(jié)點(diǎn)和鏈路的失效分為兩種情況:可預(yù)測(cè)失效和突發(fā)性失效??深A(yù)測(cè)失效采用托管傳輸機(jī)制,MEO衛(wèi)星控制器在檢測(cè)到即將發(fā)生失效時(shí)下達(dá)上傳指令,將自身的數(shù)據(jù)包和其管理范圍內(nèi)LEO衛(wèi)星緩存的數(shù)據(jù)包一起交付給最近的MEO衛(wèi)星,并移交管理者位置,由托管者暫時(shí)代理其功能。而針對(duì)突發(fā)性失效的情況,首先開始計(jì)時(shí),并啟用LTP協(xié)議的容錯(cuò)機(jī)制進(jìn)行等待和重傳,若超過時(shí)限仍未恢復(fù),則由地面控制器重新計(jì)算路徑。
2.2 LEO衛(wèi)星容錯(cuò)路由算法
本文針對(duì)LEO衛(wèi)星設(shè)計(jì)了一種基于故障塊的容錯(cuò)路由算法。將衛(wèi)星節(jié)點(diǎn)和消息進(jìn)行分類,使數(shù)據(jù)包能夠繞開故障傳輸,從而達(dá)到容錯(cuò)的目的。該機(jī)制將節(jié)點(diǎn)劃分為以下四種狀態(tài)。
1)失效節(jié)點(diǎn)(Faulty node):已損壞的節(jié)點(diǎn)。
2)禁用節(jié)點(diǎn)(Deactivated node):周圍有兩個(gè)或以上的失效節(jié)點(diǎn)或禁用節(jié)點(diǎn),且沒有活躍節(jié)點(diǎn)的節(jié)點(diǎn)。
3)不安全節(jié)點(diǎn)(Unsafe node):周圍的鄰居節(jié)點(diǎn)中至少有一個(gè)節(jié)點(diǎn)為活躍節(jié)點(diǎn)的節(jié)點(diǎn)。
4)活躍節(jié)點(diǎn)(Active node):所有剩余節(jié)點(diǎn)。
通過當(dāng)前節(jié)點(diǎn)的狀態(tài),以及該節(jié)點(diǎn)周圍四個(gè)節(jié)點(diǎn)的狀態(tài)可以判斷當(dāng)前節(jié)點(diǎn)的類型。
故障塊的邊界由活躍節(jié)點(diǎn)組成,故障塊如圖4所示。
3 仿真與結(jié)果分析
本文仿真實(shí)現(xiàn)的硬件環(huán)境采用Windows 7旗艦版64位系統(tǒng)和Ubuntu 16.04系統(tǒng);仿真實(shí)現(xiàn)的軟件環(huán)境為STK軟件、Mininet仿真平臺(tái)以及Ryu控制器。實(shí)驗(yàn)中衛(wèi)星星座的所有衛(wèi)星運(yùn)動(dòng)軌跡的實(shí)時(shí)坐標(biāo)數(shù)據(jù)和衛(wèi)星間可見性時(shí)間段均是從STK軟件中提取的,將STK中提取的數(shù)據(jù)導(dǎo)入Mininet仿真平臺(tái)上的路由機(jī)制項(xiàng)目中仿真實(shí)現(xiàn)。
3.1 對(duì)比算法
本文選取了兩種MEO和LEO雙層衛(wèi)星星座的路由算法作為對(duì)比,避免與單層星座對(duì)比時(shí)由于跨層帶來的信號(hào)損失。
第一種是基于鏈路感知的星間路由算法(inter-Satellite Routing algorithm based on Link Recognizing, LRSR),每顆衛(wèi)星通過“存儲(chǔ)攜帶轉(zhuǎn)發(fā)”的方式為其他衛(wèi)星提供數(shù)據(jù)中繼服務(wù)[15]。在該算法中,每個(gè)衛(wèi)星實(shí)時(shí)監(jiān)控鏈路狀態(tài),當(dāng)接收到鏈路狀態(tài)信息,則更新鏈路狀態(tài)數(shù)據(jù)庫(kù);當(dāng)發(fā)送數(shù)據(jù)包時(shí),根據(jù)Dijkstra算法和鏈路狀態(tài)數(shù)據(jù)庫(kù)計(jì)算最短路徑和最佳的下一跳。
第二種算法是多層衛(wèi)星網(wǎng)絡(luò)路由算法(Multi-Layered Satellite Routing algorithm, MLSR),該算法根據(jù)衛(wèi)星上、下層的覆蓋關(guān)系對(duì)LEO層和MEO層衛(wèi)星進(jìn)行分組,使得一個(gè)GEO衛(wèi)星管理一組MEO衛(wèi)星,一個(gè)MEO衛(wèi)星管理一組LEO衛(wèi)星[16]。當(dāng)GEO或MEO衛(wèi)星管理域內(nèi)的衛(wèi)星成員改變時(shí),需要重新進(jìn)行路由表的計(jì)算。
這兩種算法都是由各個(gè)衛(wèi)星實(shí)時(shí)監(jiān)測(cè)鏈路狀態(tài),在衛(wèi)星節(jié)點(diǎn)上進(jìn)行鏈路維護(hù)和路由計(jì)算,而本文提出了一種基于SDN的路由機(jī)制,衛(wèi)星節(jié)點(diǎn)只負(fù)責(zé)傳輸數(shù)據(jù),鏈路信息的處理和路由的計(jì)算都在SDN控制器中完成。
3.2 實(shí)驗(yàn)拓?fù)?/p>
本文選用三層衛(wèi)星網(wǎng)絡(luò)作為仿真的拓?fù)溆美?,根?jù)三層衛(wèi)星網(wǎng)絡(luò)參數(shù)在STK仿真平臺(tái)中構(gòu)建多層衛(wèi)星網(wǎng)絡(luò)。先將設(shè)計(jì)好的衛(wèi)星星座模型輸入到STK中,取某一時(shí)刻的拓?fù)渥鳛閷?shí)驗(yàn)數(shù)據(jù),輸入到Mininet仿真平臺(tái)中構(gòu)建拓?fù)?,并結(jié)合具體的路由算法生成路由表。
為了體現(xiàn)本文算法的容錯(cuò)機(jī)制,這里構(gòu)建了3種衛(wèi)星網(wǎng)絡(luò)拓?fù)溥M(jìn)行對(duì)比實(shí)驗(yàn):第一種拓?fù)渲袩o(wú)損壞情況;第二種拓?fù)渲杏猩倭啃l(wèi)星節(jié)點(diǎn)損壞和鏈路中斷,這里選取3顆衛(wèi)星損壞,2條鏈路中斷;第三種拓?fù)鋼p壞較嚴(yán)重,這里選取8顆衛(wèi)星損壞,4條鏈路中斷。所有損壞的衛(wèi)星和鏈路都均勻分布在拓?fù)渲小?/p>
選取路徑周圍50顆衛(wèi)星構(gòu)建局部拓?fù)?,包?40顆LEO衛(wèi)星、8顆MEO衛(wèi)星、2顆GEO衛(wèi)星。通過STK表給出的地面站對(duì)衛(wèi)星的跟蹤弧段和跟蹤AER(Azimuth, Elevation, Range)值計(jì)算衛(wèi)星間距,并得到相鄰衛(wèi)星之間的傳輸時(shí)延,若時(shí)延大于一定閾值則視為兩顆衛(wèi)星之間沒有鏈路連接。
3.3 性能對(duì)比
本文將在三種不同的拓?fù)湎聫难訒r(shí)、延遲抖動(dòng)、丟包率以及路由跳數(shù)這四個(gè)方面進(jìn)行性能評(píng)價(jià)。
3.3.1 延時(shí)
路由總延時(shí)隨數(shù)據(jù)包數(shù)量的變化如圖6所示。由圖6(a)可以看出,在網(wǎng)絡(luò)中無(wú)損壞節(jié)點(diǎn)且數(shù)據(jù)包數(shù)量較少時(shí),由于MLSR以延時(shí)為路由度量集,總是選取延時(shí)最小的路徑進(jìn)行路由,因此延時(shí)較小;而LRSR需要節(jié)點(diǎn)實(shí)時(shí)監(jiān)控鏈路狀態(tài),計(jì)算過程需要花費(fèi)時(shí)間,因此延時(shí)較高;相比于LRSR,本文的容錯(cuò)路由算法(Fault-Tolerant Routing algorithm, FTR)中鏈路狀態(tài)信息由SDN控制器監(jiān)控和計(jì)算,因此延時(shí)較小,體現(xiàn)出了SDN控制的優(yōu)勢(shì)。但是當(dāng)網(wǎng)絡(luò)負(fù)載較重時(shí),路由延時(shí)中的處理延時(shí)和排隊(duì)延時(shí)已經(jīng)是影響路徑延時(shí)的主要因素,因此三種算法的實(shí)驗(yàn)結(jié)果相差不大。
由圖6可知,隨著拓?fù)渲惺闆r的加劇,F(xiàn)TR和LRSR的容錯(cuò)效果有所提升,因?yàn)镕TR可以快速判斷并繞開拓?fù)渲袚p壞的部分,而LRSR對(duì)鏈路的實(shí)時(shí)監(jiān)控也可以在節(jié)點(diǎn)失效時(shí)重新構(gòu)建拓?fù)洳⒂?jì)算出新的路由路徑,因此相較MLSR都有更好的適應(yīng)能力。
3.3.2 延遲抖動(dòng)
路由延遲抖動(dòng)隨數(shù)據(jù)包數(shù)量的變化如圖7所示。由圖7(a)可以看出,在網(wǎng)絡(luò)正常無(wú)損壞節(jié)點(diǎn)的情況下,當(dāng)數(shù)據(jù)包數(shù)量較少時(shí),三種算法的延遲抖動(dòng)接近,而在數(shù)據(jù)量變大后,LRSR對(duì)延遲抖動(dòng)的控制能力比較強(qiáng)。這是因?yàn)樵撍惴ㄖ泄?jié)點(diǎn)掌握網(wǎng)絡(luò)拓?fù)涞膶?shí)時(shí)狀態(tài),能夠根據(jù)鏈路的剩余帶寬調(diào)整路由路徑。而本文提出的FTR只在節(jié)點(diǎn)失效和鏈路中斷情況下進(jìn)行處理,MLSR則僅在到達(dá)計(jì)算周期時(shí)才重新計(jì)算路由,因此均會(huì)帶來較大的延遲抖動(dòng)。
由圖7可知,隨著網(wǎng)絡(luò)狀態(tài)惡劣化加劇,三種算法的延遲抖動(dòng)差也逐漸增大。這是因?yàn)榫W(wǎng)絡(luò)中節(jié)點(diǎn)和鏈路失效也會(huì)帶來?yè)砣麊栴},LRSR對(duì)網(wǎng)絡(luò)擁塞和失效問題都有解決方案,本文的FTR針對(duì)網(wǎng)絡(luò)故障也具有較好的應(yīng)對(duì)措施;而MLSR只選擇時(shí)延最小的路徑,面對(duì)故障時(shí)只有等待計(jì)算周期來重新選取路徑。
3.3.3 丟包率
丟包率隨數(shù)據(jù)包數(shù)量的變化如圖8所示。由圖8(a)可以看出,在網(wǎng)絡(luò)正常無(wú)損壞節(jié)點(diǎn)的情況下,數(shù)據(jù)包數(shù)量較少時(shí),三種算法的丟包率大致相同;但隨著傳輸數(shù)據(jù)增加, MLSR的丟包率會(huì)高于LRSR和FTR,這是由于該算法總是選擇延時(shí)最小的路徑,在減少延時(shí)的同時(shí)增加了路由跳數(shù),因此增大了丟包率。FTR在網(wǎng)絡(luò)無(wú)損壞的情況下也是以延時(shí)最小為目標(biāo),但在本文設(shè)計(jì)的網(wǎng)絡(luò)模型中,MEO衛(wèi)星的臨時(shí)存儲(chǔ)路由機(jī)制能夠緩解擁塞,因此丟包率低于MLSR,說明本文設(shè)計(jì)的網(wǎng)絡(luò)模型是有效的。而LRSR的鏈路監(jiān)測(cè)功能也可以較好地應(yīng)對(duì)網(wǎng)絡(luò)擁塞,從而降低丟包率。
由圖8可知,網(wǎng)絡(luò)拓?fù)渲泄?jié)點(diǎn)失效和鏈路中斷會(huì)顯著增加路由過程的丟包率,而隨著網(wǎng)絡(luò)損壞程度的加劇,節(jié)點(diǎn)和鏈路的失效逐漸成為影響丟包率的主要因素。因此本文的FTR的容錯(cuò)機(jī)制能夠更有效地降低丟包率。
3.3.4 路由跳數(shù)
路由跳數(shù)是數(shù)據(jù)包經(jīng)過的路由器個(gè)數(shù)。圖9展示了在不同拓?fù)湎氯N算法的路由跳數(shù)分布情況,這里取20000數(shù)據(jù)包作為基準(zhǔn)數(shù)量。
由圖9(a)可知,三種算法在網(wǎng)絡(luò)拓?fù)錈o(wú)故障時(shí)采取的都是延時(shí)最短路徑,因此路徑的選擇基本一致。而通過圖9(b)、圖9(c)可以看出,當(dāng)網(wǎng)絡(luò)中有損壞情況時(shí),F(xiàn)TR采用繞開故障塊的方式進(jìn)行路由,增加了數(shù)據(jù)包經(jīng)過的路由器數(shù)量,因此FTR的路由跳數(shù)較高,而且失效的節(jié)點(diǎn)和鏈路越多,跳數(shù)差距越大。
上述對(duì)比結(jié)果表明,在網(wǎng)絡(luò)中無(wú)損壞節(jié)點(diǎn)和鏈路的情況下,F(xiàn)TR的路由總延時(shí)比LRSR平均降低了6.06%,證明了引入SDN集中控制的有效性;FTR的丟包率比同樣以最小延時(shí)為目標(biāo)的MLSR降低了25.79%,證明了在網(wǎng)絡(luò)模型中為中軌道(MEO)衛(wèi)星設(shè)計(jì)臨時(shí)存儲(chǔ)路由機(jī)制的有效性。而當(dāng)網(wǎng)絡(luò)中節(jié)點(diǎn)和鏈路的失效情況比較嚴(yán)重時(shí),F(xiàn)TR的路由總延時(shí)比LRSR降低了3.99%,比MLSR降低了19.19%;其丟包率比LRSR降低了16.94%,比MLSR降低了37.95%,證明了FTR的容錯(cuò)有效性。綜上所述,本文提出基于SDN的路由機(jī)制具有較低的時(shí)延和延遲抖動(dòng),正常的路由開銷,以及較少的丟包率,因此可以提供更出色的路由服務(wù)。
4 結(jié)語(yǔ)
由于衛(wèi)星節(jié)點(diǎn)所處的環(huán)境惡劣,衛(wèi)星及星間鏈路會(huì)受到不同程度的影響。為增強(qiáng)衛(wèi)星網(wǎng)絡(luò)應(yīng)對(duì)故障的能力,本文引入了SDN的概念,將衛(wèi)星網(wǎng)絡(luò)的控制平面和數(shù)據(jù)平面分離,設(shè)計(jì)了基于SDN的衛(wèi)星網(wǎng)絡(luò)模型,并根據(jù)星座設(shè)計(jì)原理,計(jì)算了三層衛(wèi)星網(wǎng)絡(luò)中各層衛(wèi)星的相關(guān)參數(shù)。最后設(shè)計(jì)了一種針對(duì)于衛(wèi)星網(wǎng)絡(luò)的容錯(cuò)路由算法用于實(shí)現(xiàn)容錯(cuò)的目的,并通過延時(shí)、延遲抖動(dòng)、丟包率等參數(shù)驗(yàn)證了設(shè)計(jì)的合理性和可行性。
本文對(duì)軟件定義網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)相結(jié)合的研究還僅僅是一個(gè)開始,下一步將充分利用SDN的優(yōu)勢(shì),在實(shí)現(xiàn)有效的路由容錯(cuò)的基礎(chǔ)上考慮衛(wèi)星網(wǎng)絡(luò)中節(jié)點(diǎn)的能效等問題,延長(zhǎng)衛(wèi)星網(wǎng)絡(luò)的壽命。
參考文獻(xiàn) (References)
[1] 盧勇,趙有健,孫富春,等.衛(wèi)星網(wǎng)絡(luò)路由技術(shù)[J].軟件學(xué)報(bào),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ù)下行的負(fù)載均衡多徑路由算法[J].通信學(xué)報(bào),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] 齊小剛,馬久龍,劉立芳.基于拓?fù)淇刂频男l(wèi)星網(wǎng)絡(luò)路由優(yōu)化[J].通信學(xué)報(bào),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.