張泰江,李勇軍,趙尚弘
(空軍工程大學 信息與導航學院,西安 710077)
衛星通信技術已成為當今世界最先進的通信技術之一,具有通信距離遠、覆蓋面積大和信道質量高等優點,在環境監測、防災減災、交通管理和城市規劃等領域發揮著越來越重要的作用。衛星根據軌道高度的不同可以劃分為高軌道衛星(Geostationary Earth Orbit,GEO)、中軌道衛星(Medium Earth Orbit,MEO)和低軌道衛星(Low Earth Orbit,LEO),不同軌道的衛星由于所在軌道高度的不同導致衛星運行速度、衛星對地面的覆蓋區域大小和時間等參數存在較大差異。隨著衛星通信技術的不斷發展,多層衛星網絡結構逐漸取代單層衛星網絡結構,我國迫切需要依托衛星網絡構建覆蓋全球的空間信息網絡。由于衛星網絡存在網絡結構不規則、星間連接關系復雜、鏈路間歇性通斷及網絡拓撲變化頻繁等問題,因此可能導致路由環路、鏈路質量差及延遲時間長等情況發生。為確保衛星網絡滿足自主性、自治性、實時性、可靠性和安全性等要求,需要針對衛星網絡特點設計更加高效的衛星網絡架構和路由算法。
國內科研團隊針對空間信息網絡開展了相關研究。文獻[1]通過天地鏈路實現一體化網絡互聯的天地一體化航天互聯網。文獻[2]通過衛星系統整合實現天基信息傳遞的天基綜合信息網。文獻[3]提出對飛行器、航天器及衛星等天基信息載體整合的空間信息網絡。文獻[4]提出為“一帶一路”提供空間信息支撐的“一帶一路”空間信息走廊。文獻[5]提出由天基信息網、互聯網和移動通信網互聯而成的天地一體化信息網絡。文獻[6]提出由156顆小衛星構建覆蓋全球的低軌互聯網接入系統“虹云星座”以及由300余顆LEO衛星提供兩極地區覆蓋、全球航空航海監視、智能終端互聯網和物聯網服務的“鴻雁星座”。由此可見,開展多層衛星網絡相關研究對我國空間信息網絡的構建具有極大的現實意義和極高的應用價值[6]。本文構建了GEO和LEO雙層衛星網絡架構,并對GEO/LEO雙層衛星網絡進行分層分簇設計,提出一種優化的臨時按序路由算法(Temporally Ordered Routing Algorithm,TORA)。
衛星網絡路由算法在早期主要是針對單層網絡開展相關研究,而隨著衛星網絡路由技術的發展,單層網絡無法滿足相應需求,因此多層衛星網絡架構相繼被提出,相關路由算法也得到迅速發展,如基于負載均衡的路由算法、多業務路由算法及QoS路由策略等。文獻[7]通過屏蔽衛星的移動性及基于分組的路由決策,生成的路徑為無環路,并且路由算法能夠避開擁塞區域。文獻[8]提出地球靜止軌道/低地球軌道混合衛星網絡的路由設計方案,并基于混合網絡提出用戶移動性管理機制,實現一種具有負載均衡能力的跳躍約束自適應路由機制。文獻[9]提出一種基于非對稱離散時間的LEO衛星網絡路由算法(A-DTRA)。對于每個連續時間間隔之間的鏈路狀態,該算法通過備份路由和路由表壓縮機制,保證非對稱鏈路上報文轉發的可靠性、故障節點處理的實時性和衛星節點開銷的低功耗。
傳統基于地面站-衛星的點對點集中式網絡管理模式使得衛星缺乏管理自主性和高效性,而分層衛星網絡管理結構的提出有助于解決傳統網絡管理模式對于衛星網絡管理功能執行的制約問題。對分簇算法的研究在近年來一直是多層衛星網絡(Multi-layer Satellite Network,MSN)領域的研究熱點并獲得快速發展[10]。分簇對于分布式網絡中的移動性管理、路由機制優化、帶寬利用等方面具有重要作用[11]。并且由于衛星的高速移動性及衛星網絡的拓撲動態性、分布性等因素,因此分簇管理在衛星網絡中得到廣泛應用。在該管理體系中,衛星星座通過分簇的方式進行管理,通常將空間位置相對臨近、功能任務存在協同關系的衛星構建為星簇,由簇首空間進行直接管理,從而提高衛星網絡管理的可靠性和靈活性[12],并且分簇算法能夠充分利用同軌道鏈路的穩定性,約束同軌道相鄰衛星節點以組成簇的核心成員,并提高星簇管理的穩定性。同時,由于衛星節點間的通信距離、管理開銷所造成的功耗在衛星網絡中相對通信業務及衛星網絡平臺的功耗而言可以忽略,因此在設計星座網絡分簇算法時,需充分考慮衛星網絡的固有特點,使設計的分簇算法更加適用于衛星網絡的自主管理[13-14]。
國內學者針對衛星網絡分簇管理開展了相關研究。文獻[15]針對低軌衛星網絡,在分布式管理模式下,利用成簇方式建立星座自主管理體系架構,提高了管理自主性和高效性。文獻[16]在分析衛星網絡簇首空間安全需求的基礎上,提出能夠實現簇首快速切換的備份機制和基于優先級的主備簇首選舉算法,保證簇首對衛星星簇的管理開銷最少。
衛星星座是由多個相同類型的衛星按照一定設計規則組成的具有特定功能的衛星集合。通過構建衛星星座能夠有效解決單顆衛星覆蓋范圍有限和服務能力受限的問題,達到星間高效協同、網絡功能拓展以及衛星網絡服務能力和服務質量提高的目的。在現階段研究中,極軌道衛星星座和傾斜軌道衛星星座的應用較普遍[17]。
極軌道衛星星座的主要特征是每個軌道都會在兩極位置相交。極軌道衛星星座是星型星座的代表,升交點均勻分布于赤道平面,并且每個軌道面分布相同數量的衛星。軌道傾角為90°,極軌道星座第一軌道面上的衛星和最后一個軌道面上的衛星相向而行形成一個明顯的縫隙。一方面,由于縫隙兩側的衛星保持高速反向運動,因此相比其他同向運行的衛星更難建立軌間鏈路。另一方面,極軌道星座衛星所在緯度越低,星間距離越大,并且其在赤道地區的覆蓋特性相對較差,在兩極區域由于衛星分布過于密集,因此會關閉部分衛星轉發器。極軌道衛星星座的優點是結構簡單、易于操作,是比較成熟的星座設計方式。
為解決極軌道衛星星座相向運行軌道間具有明顯縫隙且其對地覆蓋不均勻的問題,傾斜軌道衛星星座被提出。由于其軌道面沿赤道面2π弧度圓內均勻分布,因此稱為2π型星座或者walker delta(δ)傾斜軌道衛星星座,其覆蓋特性遠優于極軌道衛星星座,如圖1所示。

圖1 傾斜軌道衛星星座結構
傾斜軌道衛星星座由具有相同軌道高度和傾角的T個衛星組成,P個軌道面在參考面上按升節點均勻分布,為每個軌道平面設置相同的衛星節點數量T/P,各個軌道之間設置特定的相位關系,令相鄰軌道的衛星在相同時間間隔內有序通過升交點。傾斜軌道衛星星座在邏輯上具有穩定拓撲,該特性滿足了衛星鏈路組網拓撲結構穩定的要求,可以極大簡化路由和減少切換。
在LEO衛星星座設計方面,如果采用傾斜圓軌道,那么在LEO衛星運行過程中兩個相鄰軌道面的衛星拓撲關系變化劇烈,由于建立軌間鏈路比較困難,因此僅能保持較短時間內的鏈路連通。傾斜軌道衛星也無法實現對兩極地區的有效覆蓋,因此為實現雙層衛星網絡全球無縫覆蓋并使星間鏈路(Inter-Satellite Link,ISL)相對穩定和易于建立連接,構建軌道傾角為90°的極軌道衛星星座能夠更好地滿足需求。為驗證本文提出的路由算法的實用性,采用已投入使用且技術相對成熟的銥星系統作為LEO衛星星座。
本文構建雙層衛星網絡架構,雖然3顆GEO衛星即可實現除南北極地地區以外區域的全球覆蓋,但為了增強系統的可靠性,增加1顆冗余GEO衛星,以確保如果某顆GEO衛星發生故障無法正常運行時整個衛星網絡仍然能高效運轉。
銥星系統作為LEO衛星星座,最初規劃的是77顆衛星,但最后經過驗證只需66顆衛星均勻分布在6個極地軌道上即可實現全球覆蓋。銥星系統的設計能夠保證衛星網絡在任意時間及地球任意區域內都保持LEO衛星的對地有效覆蓋,滿足全球無縫連接和實時通信的要求。GEO和LEO衛星星座參數如表1和表2所示。

表1 GEO衛星星座參數

表2 LEO衛星星座參數
圖2為GEO/LEO雙層衛星網絡的三維示意圖。可以看出,每顆GEO衛星都能對7顆~13顆LEO衛星實現有效覆蓋,部分LEO衛星由于緯度較高無法實現覆蓋,南北極區域有4顆~7顆LEO衛星無法實現覆蓋。每顆GEO衛星能夠有效覆蓋4個或5個LEO衛星軌道面。

圖2 GEO/LEO雙層衛星網絡的三維示意圖
圖3為GEO/LEO雙層衛星網絡的二維示意圖,其中實線表示GEO衛星星座覆蓋區域、LEO衛星星座之間的星間鏈路情況以及LEO衛星星座各個軌道面的運行軌跡。由于存在反向縫隙的兩個軌道面之間的衛星高速逆向運行,建立星間鏈路難度高且成本大,因此在本文中這兩個軌道面之間的LEO衛星不建立軌間鏈路。兩極范圍內的LEO衛星由于衛星分布密集,運行速度相對較快,并且兩極地區人煙稀少,服務需求相對較低,因此兩極區域不建立軌間鏈路。每個軌道面的11顆衛星均勻分布,衛星距離地面高度為780 km,衛星相對地面的運行速度約為7 400 m/s。銥星系統在設計時采用48個點波束,每個點波束的覆蓋直徑為689 km,各個點波束可以進行整合。銥星系統每顆衛星覆蓋地面用戶的時間約為10 min。

圖3 GEO/LEO雙層衛星網絡的二維示意圖
圖4為GEO1與LEO2-1衛星可見時間。由此可知,GEO1與LEO2-1在24 h的仿真時間內,共能夠建立10次層間鏈路,最長建鏈時間為1 783.780 s,最短建鏈時間為346.378 s,平均建鏈時間為1 277.204 s,建鏈時間共計12 772.036 s,約3.5 h。

圖4 GEO1與LEO2-1衛星可見時間
TORA是一種高度自適應的分布式路由算法[18],其基于鏈路反轉算法找到從源衛星到目的衛星的多個無循環路徑。由于TORA僅在拓撲發生變化時才定位控制消息,因此其能快速適應拓撲變化。本文針對GEO/LEO雙層衛星網絡,基于TORA算法設計優化的HCR算法。在LEO層,使用HCR算法建立從源衛星到目的衛星的多個無循環路徑,并且當LEO層受到網絡擁塞時,GEO層中的衛星也參與數據傳輸業務。
GEO/LEO雙層衛星網絡管理是通過在低軌道衛星星座內設置分組并選取相應的簇首實現。GEO衛星與所有低軌道衛星都建立星間鏈路會導致網絡連接關系過于復雜,通過將簇首與GEO衛星進行通信能有效降低ISL的復雜性。
定義1將同一LEO軌道平面中的衛星劃分為兩個小組,地球軸線同一側的衛星屬于一個小組。對于每個小組,選擇處于小組中最低緯度的一顆衛星作為簇首,但當先前衛星出現擁擠情況時,選擇緯度第2低的衛星。由于LEO衛星時刻保持高速運動,因此簇首不固定。
定義2將GEO衛星星座作為管理層,每個GEO衛星負責管理其覆蓋范圍內的各組LEO衛星。GEO衛星通過與不同LEO簇首進行通信,收集各衛星的狀態消息。每顆LEO簇首衛星僅與一顆GEO衛星共享狀態信息,GEO與LEO衛星之間的ISL依據可見性進行激活和停用。當一顆LEO簇首衛星同時存在多顆GEO衛星覆蓋時,選取距離最近的GEO衛星共享消息。
在本文提出的GEO/LEO雙層衛星網絡中,GEO層和LEO層中的衛星具有不同的任務,其使用網絡管理方法實現任務分工。GEO/LEO雙層衛星網絡管理方法的具體步驟如下:
步驟1GEO衛星創建小組等待LEO衛星簇首的加入。
步驟2LEO衛星選擇簇首。
步驟3通過LEO衛星網絡簇首確定相應的GEO衛星。
步驟4LEO衛星簇首與GEO衛星進行數據傳輸。
由于LEO層具有較低的端到端延遲,因此其完成了用戶之間的大部分數據傳輸,然而,在某些情況下系統可借助GEO衛星提高路由性能。
3.2.1 LEO單層路由
本文使用TORA算計進行LEO層路由優化。該算法主要包括創建路由、維護路由和刪除路由 3個步驟,其能在源衛星與目的衛星之間提供多條路由,一旦衛星出現損壞等特殊情況,可將控制信息控制在較小的拓撲變化范圍內,從而降低路由開銷。
TORA算法的核心是給每個衛星節點配置一個相對源衛星節點的高度值,目的衛星的高度值最小,依據相鄰衛星之間的高度差形成多條可用的有向路由,方向為由高到底。衛星i使用五元組表示其高度:Hi=(τi,oidi,ri,δi,i),其中,τi表示設置為鏈路故障的邏輯時間標簽,oidi表示發送參考高度的衛星節點識別碼,ri表示相鄰衛星數量,δi表示傳播排序參數,i表示衛星節點本身的唯一識別碼。
圖5顯示了路由建立的過程,當源衛星節點發送數據包到目標衛星節點時,廣播QRY數據包,當衛星節點i收到QRY數據包時,重新廣播QRY數據包,但如果衛星節點i沒有下游鏈路,則拒絕廣播QRY數據包。循環此過程直至目標衛星節點收到QRY數據包,然后目的衛星節點的鄰居將其高度設置為Hi=(τi,oidi,ri,1,i)并廣播UPD數據包。當衛星節點j接收到UPD分組時,將其高度設置為Hi=(τi,oidi,ri,δi+1,j),假設Hi=(τi,oidi,ri,δi,i)為鄰居的最小高度。最終源衛星節點接收到UPD數據包,并得到相鄰衛星節點的高度值。為便于分析,將Hi=(τi,oidi,ri,δi,i)中的初始值設置為Hi=(0,0,0,δi,i)。

圖5 路由建立過程
TORA路由算法會始終沿著單一路徑進行數據包傳輸,造成部分衛星節點負載過重,能量損耗較大,從而增加路由時延并降低傳輸效率。為解決上述問題,針對低軌道衛星網絡設計分簇結構,在路由前將低軌道衛星網絡劃分為不同的簇,然后按照分簇機制尋找路由進行數據包傳輸,從而降低衛星網絡的開銷,并提升網絡的整體性能。
如圖6所示,通過簇首間的通信可減少低軌道衛星與同步衛星之間的長距離鏈路傳輸,并降低GEO/LEO雙層衛星網絡路由拓撲復雜度及長距離數據包傳輸導致的能量損耗。將同一軌道的LEO衛星以地球自轉軸為分界線分為東西兩個小組,同一個小組內將緯度最低的低軌道衛星作為簇首,負責管理本小組的衛星。選擇緯度最低衛星的原因為:1)由于GEO衛星網絡分布于赤道上空,因此LEO簇首衛星與GEO衛星進行數據傳輸時更加穩定;2)GEO與LEO衛星在赤道上空通信時具有最短的傳輸路徑,能有效降低時延;3)在赤道上空的簇首衛星離南北兩端的衛星距離基本相同,有利于路由算法快速實現收斂。若其中一顆簇首衛星出現故障,則選取該軌道內正常運行的低軌道衛星中緯度最小的衛星進行替代。

圖6 低軌道衛星星座簇首示意圖
HCR路由算法采用TORA按需路由的機制,主要包括創建路由、維護路由和刪除路由3個步驟。雖然路由創建過程采用泛洪機制,但是由于只有簇首衛星建立報文分組QRY,才能降低衛星網絡泛洪次數及衛星能量損耗,從而延長衛星網絡運行時間,提升網絡整體性能,因此為尋找源衛星節點至目的衛星的最優路徑,源衛星節點向相應的簇首發送QRY報文分組,報文分組經過簇首衛星、LEO中繼衛星、簇首衛星……等多次傳遞后到達目的衛星,從而建立由源衛星至目的衛星的路由。
3.2.2 GEO/LEO雙層路由
為GEO/LEO雙層衛星網絡設計的路由算法基于Dijkstra算法,Dijkstra算法解決了非負加權有向圖上的單源最短路徑問題。如上文所述,LEO衛星網絡簇首收集的LEO衛星狀態信息被轉移到GEO中進行管理,在GEO星座處獲得有關其簇首的所有信息后,根據Dijkstra算法計算相應的路由表。LEO衛星和GEO衛星之間的ISL僅在滿足以下情況時才會激活:
情況1源衛星和目的衛星均不在極區。考慮到GEO衛星的覆蓋范圍,未在高緯度地區進行信息傳遞。
情況2計算得到的LEO衛星跳數大于設定閾值。根據端到端延遲確定閾值,假設通過LEO層的端到端延遲與通過GEO衛星的端到端延遲相同,具體計算如下:
(1)
TGEO=DUDL+D′ISL+DP
(2)
其中,DUDL=51 ms表示地面站與衛星之間的返回延遲,DISL=30 ms表示兩個LEO衛星鏈路之間的接入延遲,DP=5 ms表示衛星處理延遲,D′ISL=235 ms表示LEO衛星和GEO衛星之間的接入延遲。通過將這些值代入式(1)和式(2),計算得到當使用GEO衛星發送消息時TGEO=291 ms,并且該值低于LEO衛星之間的7跳傳輸,表明當LEO衛星網絡所需的跳數大于6時,本文選擇GEO/LEO雙層衛星網絡可獲得更好的路由性能。
情況3當前路由路徑中發生擁塞。本文通過設定100 ms的閾值判斷擁塞,即當排隊延遲大于100 ms時,通過GEO層進行數據傳輸。
當且僅當同時滿足上述情況時,才能通過GEO/LEO雙層衛星網絡進行數據傳輸,如圖7所示。

圖7 路由算法流程
本文基于STK和OPNET對HCR路由算法進行仿真。OPNET是一款功能強大的系統級通信仿真軟件,采用層次化建模方式,從協議層次看,其衛星節點模型的建立符合OSI標準;從網絡層次看,其提供了3層建模機制,分別為網絡模型、衛星節點模型和進程模型,并且3層模型與實際網絡、設備、協議完全對應,全面反映了網絡的相關特性。通過OPNET可以方便地進行協議開發和仿真分析,但其價格相對昂貴且學習難度較大、編程過程較復雜。STK是由美國Analytical Graphics公司開發的一款廣泛應用于航天領域的專業分析軟件。STK在2D和3D建模環境下對系統特性進行分析,有效評估網絡在復雜環境下的性能,通過集成通信、導航、雷達和光電等技術提供附加分析模塊,對可視化約束、通信鏈路、軌道機動等任務進行模型構建與分析。
利用STK搭建GEO/LEO雙層衛星網絡模型,將軌道文件導入OPNET進行仿真并與傳統Dijkstra最短路徑算法(Dijkstra Shortest Path,DSP)進行比較。網絡中包含4顆GEO衛星和66顆LEO衛星,LEO星間鏈路速率為2.5 Mb/s,GEO星間鏈路速率為25 Mb/s,GEO與LEO層間鏈路速率為25 Mb/s。
圖8為網絡平均端到端時延隨數據發送速率的變化情況。在數據發送速率為500 Kb/s時,本文提出的HCR算法相比傳統DSP算法平均端到端時延降低31.8%。其原因為HCR算法是無循環路由算法,針對GEO/LEO雙層衛星網絡進行設計,且根據分層傳輸機制設置路由選擇的門限值,有效降低了網絡擁塞導致的排隊時延。

圖8 2種路由算法的平均端到端時延比較
圖9為數據吞吐量隨數據發送速率的變化情況。隨著數據發送速率的增加,HCR算法在數據吞吐量上相對傳統DSP算法具有較大優勢,且數據量越大優勢越明顯。在數據發送速率為500 Kb/s時,HCR算法相比傳統DSP算法數據吞吐量增加39%。其原因為在衛星傳輸過程中,HCR算法利用分簇算法的優勢,可降低衛星網絡泛洪次數,減少數據擁塞的發生,同時基于雙層衛星網絡平衡網絡數據流,減少數據包的滯留和丟失,從而提高網絡整體運行效率,保證其始終具有較高的吞吐量。

圖9 2種算法的數據吞吐量比較
圖10為丟包率隨數據發送速率的變化情況。HCR算法可有效降低丟包率,在數據發送速率為500 Kb/s時,相比傳統DSP算法丟包率降低58.3%。其原因為HCR算法能有效應對鏈路擁塞情況的產生,在LEO衛星網絡即將出現擁塞時通過雙層衛星網絡進行傳輸,一定程度上緩解了擁塞帶來的數據包丟失問題。

圖10 2種算法的丟包率比較
由于衛星網絡時變拓撲會導致星間鏈路的頻繁中斷和端到端的長延遲,并且衛星平臺限制使得網絡資源受限,因此本文通過對GEO/LEO雙層衛星網絡進行分層分簇設計,基于TORA路由算法提出一種優化的HCR算法,可快速適應衛星運動引起的時變拓撲。實驗結果表明,與傳統DSP路由算法相比,HCR算法可有效降低衛星網絡傳輸時延及網絡丟包率,提高鏈路吞吐量,并且當數據發送速率為500 Kb/s時,HCR算法相比傳統DSP算法的平均端到端時延和丟包率分別降低了31.8%和58.3%,數據吞吐量增加了39%。但由于衛星網絡在實際應用中容易發生故障導致路由算法性能下降,因此后續將對衛星網絡故障發現和路由選擇方法做進一步研究,從而有效規避故障衛星并實現數據的高效傳輸。