童文婷,黃圣春,王 玲
(1.湖南大學電氣與信息工程學院,湖南 長沙 420082;2.國防科技大學電子科學學院,湖南 長沙 410073)
隨著通信技術的日益發展,傳統的地面通信技術已經無法滿足人們日益增長的通信需求,各種新的移動通信技術層出不窮,衛星網絡成為現代通信技術的主要方式之一,在民用、商用、軍用等領域具有廣泛的應用前景。其中,低軌(Low Earth Orbit,LEO)衛星憑借其研制周期短、制造成本低以及技術更新快等優點成為未來面向服務的應用型通信衛星的發展方向。
路由問題是LEO衛星系統網絡中的基本問題,也是當前該領域的研究熱點之一,對提高數據傳輸的時效性和可靠性有著重要的意義。由于LEO衛星網絡和地面網絡之間的差異(如拓撲動態),LEO衛星網絡難以在地面網絡中采用成熟的路由技術[1]。同時,由于衛星相對地面的快速移動,容易導致星地鏈路的不斷切換,造成頻繁的路由重構。目前,國內外眾多研究人員針對LEO衛星網絡路由協議已經進行了一系列的研究,各種針對LEO衛星系統的路由算法已經被相繼提出。
文獻[2,3]通過在報文中攜帶評價鏈路優劣的權重信息,在變化的拓撲中能快速的找到最優路徑。但是這類算法完全忽略了衛星網絡的運行規律,不能體現衛星網絡相對于其它自組織網絡的優勢。文獻[4]提出一種等長時間段快照序列路由改進算法,在每個時間段形成的拓撲快照中,刪除在這個時間段即將關閉的鏈路。這個算法優化了快照路由算法對鏈路反應不及時的問題,但是僅涉及到了星上路由的處理,沒有提及星地切換帶來的影響。文獻[5]同樣是基于虛擬拓撲快照路由,通過對衛星鏈路質量變化的監測,實時地更新事先存儲好的拓撲圖標,解決了基于虛擬拓撲算法魯棒性和適應性差的問題。但是該算法對全局系統同步的要求特別高,需要不斷地修正時間和軌道的信息,增加開銷。同時,該算法也沒有涉及星地鏈路的路由分析。文獻[6]提出的算法同時給出了星間鏈路和星地鏈路的路由策略,但對星地鏈路僅僅提到地面節點選擇距離最短的衛星作為連接衛星,沒有分析星地切換的影響以及解決辦法。
上述算法中對衛星組網中上下行鏈路,即衛星節點與地面節點的部分均沒有做詳細的分析與研究,或者直接將星地切換與星間切換作同一種類型處理。但是基于低軌衛星組網的特殊性,整個網絡中有兩種節點——地面節點和衛星節點,衛星間的相對位置基本沒有改變,衛星連接的衛星節點也是固定不變的,地面與衛星發生切換之后能夠采用更簡單、更高效以及更節省開銷的路由策略來應對切換帶來的路由的變化。
為了充分利用衛星星座拓撲基本固定的特點,提高星地路由切換的效率,基于虛擬拓撲快照路由策略,提出一個普適性的星地路由切換模型,該協議能夠應用于所有的虛擬拓撲路由協議,簡化星地路由切換過程,并對衛星星座的端到端時延、路由重構時間以及丟包率等性能做出改善。
LEO衛星網絡可以被看作是一個由多個節點組成的自組織網絡,包括地面節點和衛星節點。衛星節點總數為M×N,其中N是衛星的軌道數,M為每條軌道上的衛星個數。
衛星網絡中存在兩種類型的雙工鏈路:星間鏈路和星地鏈路,如圖1所示。圖中Sat表示衛星節點,UE表示地面節點。

圖1 LEO衛星網絡示意圖
星間鏈路 (Inter-Satellite Link,ISL) 是衛星之間的通信鏈路,又分為軌道間ISL和軌道內ISL。前者連接相鄰軌道中的兩顆衛星,后者連接同一軌道內前后兩顆衛星。每顆衛星只能和4顆相鄰的衛星建立ISL。由于衛星間位置的相對固定 ,衛星間的連接關系基本不發生變化。
星地鏈路也就是用戶數據鏈路 (User Data Link,UDL) 是衛星節點與覆蓋范圍內的地面終端的通信鏈路。隨著衛星節點的高速運動,UDL也會頻繁斷裂與生成。
根據以上兩種通信鏈路的特性,本文提出一種基于虛擬拓撲的低軌衛星路由切換算法。該算法主要分為三個部分,一是構建一個虛擬拓撲作為算法的基礎;二是設置一個過濾器,針對衛星網絡的連通特性,保證星上路由的順利進行;三是設計一個星地路由切換策略,實現減少路由重構時間、降低丟包率,優化端到端時延的目的。
在虛擬拓撲的環境中,每顆衛星都能通過自己的虛擬地址計算出當前衛星所在的軌道號以及在所在軌道的相位號,數據包來到星上后,采用最短路徑(Dijkstra)算法來計算星上路由,此外數據包每到達一個衛星節點,均要先通過一個過濾器來避免不能聯通的鏈路,過濾器的具體設置會在后文給出。在衛星運動過程中,地面節點與衛星節點的連接發生斷裂,這時采用星地路由切換策略簡單、快速地重構一條新的鏈路,減少丟包率與端到端延遲。
由于衛星網絡的相對位置基本固定,衛星最多能夠通信的節點也只有同軌道面的前后兩顆衛星和相鄰軌道面處于同一緯度的兩顆衛星。基于這種特性,能夠將星上路由與ATM虛連接的概念結合起來,構建虛擬拓撲[7]。
衛星網絡星上部分如圖2所示。在系統開始之前,為每個衛星節點設定一個虛擬地址。虛擬地址的設置不是隨意的,要有一定的規則,使得每顆衛星能夠通過虛擬地址計算出當前衛星所在的軌道編號以及在所在軌道的相位。例如虛擬地址為4的衛星節點承擔傳輸數據包的責任,計算出自己所在的位置為軌道1第4位,目的節點的虛擬地址為13,也就是在軌道4第1位。又因為每顆衛星均知道自己前后左右的衛星的虛擬地址,能夠將動態變化的衛星網絡路由方案轉化為靜態的路由策略。

圖2 衛星節點組網
為了防止衛星節點由于擁塞、故障等原因造成ISL失效,每個衛星節點還應該維護一個故障鏈路表,及時更新鏈路信息,修正每個時刻的拓撲快照。
衛星節點除了會隨著特定的軌跡周期性的運轉之外,還會因衛星網絡的連通特性產生一些“不可能”的連接,因此要設置節點過濾器來刪除這些“不可能”的連接。下面將詳細介紹衛網絡的連通特性以及由此設置的三種節點過濾器。
1)相鄰衛星過濾器:衛星節點嚴格按照設定只與相鄰四顆衛星通信,但在某些高緯度地區,由于軌道距離變小,原先不在通信范圍的衛星也可能能夠連接,因此要設置相鄰衛星過濾器僅允許在嚴格距離標準下與相鄰衛星的ISL存在。
2)反相縫過濾器:衛星星座組網存在一條存在于兩個軌道之間的反相縫,反相縫兩邊的軌道一條軌道上的衛星由南向北運行,另一條軌道上的衛星由北向南運行。這兩條軌道之間的星間鏈路由于相對運動速度過快而不能連接。反相縫過濾器消除了ISL穿過反相縫的麻煩。例如,作為銥星系統,軌道1和6是反向旋轉的[8]。
3)緯度過濾器:在兩極地區,跨軌星間鏈路兩端的衛星之間的相對角速度會顯著增大,而衛星天線無法在過快變化的角速度下繼續維持跨軌星間鏈路通信,緯度過濾器可以維持指定的北緯和南緯之間的ISL,使高緯度的ISL關閉。
隨著衛星節點不停地繞地球高速運轉,其覆蓋范圍也在不斷地變化。圖3是星地切換的示意圖。t時刻衛星S覆蓋地面節點,隨著衛星的移動,t′時刻衛星S的覆蓋范圍發生了轉移,不再覆蓋地面節點A,斷開了與地面節點A的連接。而此時衛星S′覆蓋地面節點A,與地面節點A建立連接。這樣,就發生了一次星地切換。星地切換會導致原有路由失效,需要建立新的有效路徑,以保證業務的傳輸。

圖3 星地切換示意圖
根據地面節點在衛星系統中行使的功能的不同,將星地切換分為兩種:一種是地面源節點發生星地切換;另一種是地面目的節點發生星地切換。
3.3.1 地面源節點發生星地切換
地面源節點發生衛星切換的過程如圖4所示。UE1為源節點,在t時刻連接Sat2,UE2為目的節點,連接Sat3。在t′時刻UE1與Sat2的連接斷開,然后與Sat1建立連接。此時,數據包的傳輸路徑由UE1-> Sat2-> Sat3-> UE2變成了UE1-> Sat1-> Sat2-> Sat3-> UE2。

圖4 源節點發生星地切換示意圖
源節點發送數據包時,數據包中除了攜帶有源節點地址Src和目的節點地址Dest之外,還攜帶有與目的節點相連的衛星節點的地址Dest_Sat。數據包來到星上后,按照星上路由的處理的方式來傳輸數據分組,而星上路由的目的節點即為Dest_Sat。
地面源節點發生星地切換時,因Dest_Sat并未發生改變,因此無需其它路由開銷,只需繼續將數據分組傳輸到與之相連的衛星上即可。
3.3.2 地面目的節點發生星地切換
地面目的節點發生星地切換的過程如圖5所示。UE1為源節點,在t時刻連接Sat1,UE2為目的節點,連接Sat2。在t′時刻UE2與Sat2的連接斷開,然后與Sat3建立連接。若不能及時把切換的信息傳達到源節點,源節點會繼續將數據分組發往Sat2,然后由Sat2向地面傳輸,由于目的節點已經切換到Sat3,則這個數據分組將會被丟失。

圖5 目的節點發生星地切換示意圖
為了能及時反饋鏈路的斷裂的信息,當UE2發生星地切換時,立馬向UE1發送一個RREP包。包中除了要攜帶當前目的節點連接的衛星地址Dest_Sat外,還需要攜帶源節點連接的衛星地址Dest_Sat作為RREP包的目的地址。
UE1收到RREP包后,將數據包中Dest_Sat的值修改為當前目的節點連接的衛星地址,路由重構完成,源和目的重新恢復通信。
為了驗證協議的性能,基于OPNET對衛星網絡進行建模分析。網絡拓撲搭建參考銥星星座系統,其中星上網絡包含66顆低軌衛星,均勻分布在6個軌道面上,每個軌道面11顆衛星。在STK軟件中生成軌道文件,并將軌道文件導入到OPNET,衛星就能按照星下點軌跡進行運動,如圖6。

圖5 衛星網絡拓撲示意圖
繼續在其中添加地面節點,就構成了整個衛星網絡通信系統。
為了能夠更加清晰、直觀的感受動靜結合的雙層混合路由協議對端到端延遲的優化,設置一對源和目的節點進行仿真驗證,并將該算法與AODV算法進行對比。源節點初始經緯度為(E101,S1.88),目的節點初始經緯度為(E13.6,N19.8),均使用隨機移動模型。仿真運行時間為1800s,仿真結果如圖6所示。

圖6 端到端時延
在沒有發生路由切換時,AODV和切換算法的端到端時延均在0.2s左右。但是一旦發生星地路由切換,AODV協議的端到端時延就會有顯著的增加,而動靜結合的雙層混合路由協議基本沒有變化。這是因為動靜結合的雙層混合路由協議避免了發生星地路由切換時重新進行路由尋找的過程,提高了通信的穩定性。
算法的路由重構次數和路由重構時間如圖7所示。基于虛擬拓撲的低軌衛星切換算法的平均路由重構時間在0.22s左右,是AODV的平均路由重構時間的一半。而且從仿真結果上可以看出,基于虛擬拓撲的低軌衛星切換算法的路由重構次數也遠小于AODV,大大提升了系統的性能。這是因為AODV在路由重構時,要重新發起路由尋找,而DSDLH僅需要目的端返回一個錯誤信息給源節點,且源節點切換時不造成路由重構,有效減少了路由重構次數與路由重構時間。

圖7 路由重構時間
圖8為隨仿真時間變化而變化的實時分組投遞率。可以看出基于虛擬拓撲的衛星路由切換算法一直有著非常穩定的分組投遞率,且隨著時間的增加,性能的優勢更加明顯,表明了該算法在提升通信的穩定性方面有了顯著的改善。這是因為基于虛擬拓撲的衛星路由切換算法減少了不必要的路由重構,且發生切換時不用再次進行路由發現,有效減少了路由重構時間,提升了分組投遞率。

圖8 分組投遞率
本文基于虛擬拓撲的概念,提出了一種具有普適性的衛星路由切換算法。所做的貢獻主要有如下三點:
1)提出的算法兼顧了ISL和UDL,在星地切換方面又具有一定的獨立性,能夠對后續基于虛擬拓撲的協議研究提供思路與指導。
2)將星地切換協議放到了一個完整的衛星系統之中來驗證,確保了協議的可行性,并為實際的衛星系統搭建提供思路。
3)通過OPNET仿真,驗證了基于虛擬拓撲的衛星路由切換協議對低軌衛星通信系統性能的提升:平均路由重構時間下降50%;路由重構次數減少66.7%;分組投遞率上升10%;端到端時延受星地切換的影響也大大減小。
本文雖然設計了一套完整的衛星路由的運行方案,但是研究的重點還是在衛星星地切換協議上,整一套衛星路由協議還需要繼續完善。下一步將繼續研究衛星組網的星上路由過程,爭取和當前的路由切換協議一起,組成一個更完善的衛星路由體系。