童文婷,黃圣春,王 玲
(1.湖南大學(xué)電氣與信息工程學(xué)院,湖南 長沙 420082;2.國防科技大學(xué)電子科學(xué)學(xué)院,湖南 長沙 410073)
隨著通信技術(shù)的日益發(fā)展,傳統(tǒng)的地面通信技術(shù)已經(jīng)無法滿足人們?nèi)找嬖鲩L的通信需求,各種新的移動通信技術(shù)層出不窮,衛(wèi)星網(wǎng)絡(luò)成為現(xiàn)代通信技術(shù)的主要方式之一,在民用、商用、軍用等領(lǐng)域具有廣泛的應(yīng)用前景。其中,低軌(Low Earth Orbit,LEO)衛(wèi)星憑借其研制周期短、制造成本低以及技術(shù)更新快等優(yōu)點成為未來面向服務(wù)的應(yīng)用型通信衛(wèi)星的發(fā)展方向。
路由問題是LEO衛(wèi)星系統(tǒng)網(wǎng)絡(luò)中的基本問題,也是當(dāng)前該領(lǐng)域的研究熱點之一,對提高數(shù)據(jù)傳輸?shù)臅r效性和可靠性有著重要的意義。由于LEO衛(wèi)星網(wǎng)絡(luò)和地面網(wǎng)絡(luò)之間的差異(如拓?fù)鋭討B(tài)),LEO衛(wèi)星網(wǎng)絡(luò)難以在地面網(wǎng)絡(luò)中采用成熟的路由技術(shù)[1]。同時,由于衛(wèi)星相對地面的快速移動,容易導(dǎo)致星地鏈路的不斷切換,造成頻繁的路由重構(gòu)。目前,國內(nèi)外眾多研究人員針對LEO衛(wèi)星網(wǎng)絡(luò)路由協(xié)議已經(jīng)進(jìn)行了一系列的研究,各種針對LEO衛(wèi)星系統(tǒng)的路由算法已經(jīng)被相繼提出。
文獻(xiàn)[2,3]通過在報文中攜帶評價鏈路優(yōu)劣的權(quán)重信息,在變化的拓?fù)渲心芸焖俚恼业阶顑?yōu)路徑。但是這類算法完全忽略了衛(wèi)星網(wǎng)絡(luò)的運行規(guī)律,不能體現(xiàn)衛(wèi)星網(wǎng)絡(luò)相對于其它自組織網(wǎng)絡(luò)的優(yōu)勢。文獻(xiàn)[4]提出一種等長時間段快照序列路由改進(jìn)算法,在每個時間段形成的拓?fù)淇煺罩?,刪除在這個時間段即將關(guān)閉的鏈路。這個算法優(yōu)化了快照路由算法對鏈路反應(yīng)不及時的問題,但是僅涉及到了星上路由的處理,沒有提及星地切換帶來的影響。文獻(xiàn)[5]同樣是基于虛擬拓?fù)淇煺章酚桑ㄟ^對衛(wèi)星鏈路質(zhì)量變化的監(jiān)測,實時地更新事先存儲好的拓?fù)鋱D標(biāo),解決了基于虛擬拓?fù)渌惴敯粜院瓦m應(yīng)性差的問題。但是該算法對全局系統(tǒng)同步的要求特別高,需要不斷地修正時間和軌道的信息,增加開銷。同時,該算法也沒有涉及星地鏈路的路由分析。文獻(xiàn)[6]提出的算法同時給出了星間鏈路和星地鏈路的路由策略,但對星地鏈路僅僅提到地面節(jié)點選擇距離最短的衛(wèi)星作為連接衛(wèi)星,沒有分析星地切換的影響以及解決辦法。
上述算法中對衛(wèi)星組網(wǎng)中上下行鏈路,即衛(wèi)星節(jié)點與地面節(jié)點的部分均沒有做詳細(xì)的分析與研究,或者直接將星地切換與星間切換作同一種類型處理。但是基于低軌衛(wèi)星組網(wǎng)的特殊性,整個網(wǎng)絡(luò)中有兩種節(jié)點——地面節(jié)點和衛(wèi)星節(jié)點,衛(wèi)星間的相對位置基本沒有改變,衛(wèi)星連接的衛(wèi)星節(jié)點也是固定不變的,地面與衛(wèi)星發(fā)生切換之后能夠采用更簡單、更高效以及更節(jié)省開銷的路由策略來應(yīng)對切換帶來的路由的變化。
為了充分利用衛(wèi)星星座拓?fù)浠竟潭ǖ奶攸c,提高星地路由切換的效率,基于虛擬拓?fù)淇煺章酚刹呗裕岢鲆粋€普適性的星地路由切換模型,該協(xié)議能夠應(yīng)用于所有的虛擬拓?fù)渎酚蓞f(xié)議,簡化星地路由切換過程,并對衛(wèi)星星座的端到端時延、路由重構(gòu)時間以及丟包率等性能做出改善。
LEO衛(wèi)星網(wǎng)絡(luò)可以被看作是一個由多個節(jié)點組成的自組織網(wǎng)絡(luò),包括地面節(jié)點和衛(wèi)星節(jié)點。衛(wèi)星節(jié)點總數(shù)為M×N,其中N是衛(wèi)星的軌道數(shù),M為每條軌道上的衛(wèi)星個數(shù)。
衛(wèi)星網(wǎng)絡(luò)中存在兩種類型的雙工鏈路:星間鏈路和星地鏈路,如圖1所示。圖中Sat表示衛(wèi)星節(jié)點,UE表示地面節(jié)點。
圖1 LEO衛(wèi)星網(wǎng)絡(luò)示意圖
星間鏈路 (Inter-Satellite Link,ISL) 是衛(wèi)星之間的通信鏈路,又分為軌道間ISL和軌道內(nèi)ISL。前者連接相鄰軌道中的兩顆衛(wèi)星,后者連接同一軌道內(nèi)前后兩顆衛(wèi)星。每顆衛(wèi)星只能和4顆相鄰的衛(wèi)星建立ISL。由于衛(wèi)星間位置的相對固定 ,衛(wèi)星間的連接關(guān)系基本不發(fā)生變化。
星地鏈路也就是用戶數(shù)據(jù)鏈路 (User Data Link,UDL) 是衛(wèi)星節(jié)點與覆蓋范圍內(nèi)的地面終端的通信鏈路。隨著衛(wèi)星節(jié)點的高速運動,UDL也會頻繁斷裂與生成。
根據(jù)以上兩種通信鏈路的特性,本文提出一種基于虛擬拓?fù)涞牡蛙壭l(wèi)星路由切換算法。該算法主要分為三個部分,一是構(gòu)建一個虛擬拓?fù)渥鳛樗惴ǖ幕A(chǔ);二是設(shè)置一個過濾器,針對衛(wèi)星網(wǎng)絡(luò)的連通特性,保證星上路由的順利進(jìn)行;三是設(shè)計一個星地路由切換策略,實現(xiàn)減少路由重構(gòu)時間、降低丟包率,優(yōu)化端到端時延的目的。
在虛擬拓?fù)涞沫h(huán)境中,每顆衛(wèi)星都能通過自己的虛擬地址計算出當(dāng)前衛(wèi)星所在的軌道號以及在所在軌道的相位號,數(shù)據(jù)包來到星上后,采用最短路徑(Dijkstra)算法來計算星上路由,此外數(shù)據(jù)包每到達(dá)一個衛(wèi)星節(jié)點,均要先通過一個過濾器來避免不能聯(lián)通的鏈路,過濾器的具體設(shè)置會在后文給出。在衛(wèi)星運動過程中,地面節(jié)點與衛(wèi)星節(jié)點的連接發(fā)生斷裂,這時采用星地路由切換策略簡單、快速地重構(gòu)一條新的鏈路,減少丟包率與端到端延遲。
由于衛(wèi)星網(wǎng)絡(luò)的相對位置基本固定,衛(wèi)星最多能夠通信的節(jié)點也只有同軌道面的前后兩顆衛(wèi)星和相鄰軌道面處于同一緯度的兩顆衛(wèi)星?;谶@種特性,能夠?qū)⑿巧下酚膳cATM虛連接的概念結(jié)合起來,構(gòu)建虛擬拓?fù)鋄7]。
衛(wèi)星網(wǎng)絡(luò)星上部分如圖2所示。在系統(tǒng)開始之前,為每個衛(wèi)星節(jié)點設(shè)定一個虛擬地址。虛擬地址的設(shè)置不是隨意的,要有一定的規(guī)則,使得每顆衛(wèi)星能夠通過虛擬地址計算出當(dāng)前衛(wèi)星所在的軌道編號以及在所在軌道的相位。例如虛擬地址為4的衛(wèi)星節(jié)點承擔(dān)傳輸數(shù)據(jù)包的責(zé)任,計算出自己所在的位置為軌道1第4位,目的節(jié)點的虛擬地址為13,也就是在軌道4第1位。又因為每顆衛(wèi)星均知道自己前后左右的衛(wèi)星的虛擬地址,能夠?qū)討B(tài)變化的衛(wèi)星網(wǎng)絡(luò)路由方案轉(zhuǎn)化為靜態(tài)的路由策略。
圖2 衛(wèi)星節(jié)點組網(wǎng)
為了防止衛(wèi)星節(jié)點由于擁塞、故障等原因造成ISL失效,每個衛(wèi)星節(jié)點還應(yīng)該維護(hù)一個故障鏈路表,及時更新鏈路信息,修正每個時刻的拓?fù)淇煺铡?/p>
衛(wèi)星節(jié)點除了會隨著特定的軌跡周期性的運轉(zhuǎn)之外,還會因衛(wèi)星網(wǎng)絡(luò)的連通特性產(chǎn)生一些“不可能”的連接,因此要設(shè)置節(jié)點過濾器來刪除這些“不可能”的連接。下面將詳細(xì)介紹衛(wèi)網(wǎng)絡(luò)的連通特性以及由此設(shè)置的三種節(jié)點過濾器。
1)相鄰衛(wèi)星過濾器:衛(wèi)星節(jié)點嚴(yán)格按照設(shè)定只與相鄰四顆衛(wèi)星通信,但在某些高緯度地區(qū),由于軌道距離變小,原先不在通信范圍的衛(wèi)星也可能能夠連接,因此要設(shè)置相鄰衛(wèi)星過濾器僅允許在嚴(yán)格距離標(biāo)準(zhǔn)下與相鄰衛(wèi)星的ISL存在。
2)反相縫過濾器:衛(wèi)星星座組網(wǎng)存在一條存在于兩個軌道之間的反相縫,反相縫兩邊的軌道一條軌道上的衛(wèi)星由南向北運行,另一條軌道上的衛(wèi)星由北向南運行。這兩條軌道之間的星間鏈路由于相對運動速度過快而不能連接。反相縫過濾器消除了ISL穿過反相縫的麻煩。例如,作為銥星系統(tǒng),軌道1和6是反向旋轉(zhuǎn)的[8]。
3)緯度過濾器:在兩極地區(qū),跨軌星間鏈路兩端的衛(wèi)星之間的相對角速度會顯著增大,而衛(wèi)星天線無法在過快變化的角速度下繼續(xù)維持跨軌星間鏈路通信,緯度過濾器可以維持指定的北緯和南緯之間的ISL,使高緯度的ISL關(guān)閉。
隨著衛(wèi)星節(jié)點不停地繞地球高速運轉(zhuǎn),其覆蓋范圍也在不斷地變化。圖3是星地切換的示意圖。t時刻衛(wèi)星S覆蓋地面節(jié)點,隨著衛(wèi)星的移動,t′時刻衛(wèi)星S的覆蓋范圍發(fā)生了轉(zhuǎn)移,不再覆蓋地面節(jié)點A,斷開了與地面節(jié)點A的連接。而此時衛(wèi)星S′覆蓋地面節(jié)點A,與地面節(jié)點A建立連接。這樣,就發(fā)生了一次星地切換。星地切換會導(dǎo)致原有路由失效,需要建立新的有效路徑,以保證業(yè)務(wù)的傳輸。
圖3 星地切換示意圖
根據(jù)地面節(jié)點在衛(wèi)星系統(tǒng)中行使的功能的不同,將星地切換分為兩種:一種是地面源節(jié)點發(fā)生星地切換;另一種是地面目的節(jié)點發(fā)生星地切換。
3.3.1 地面源節(jié)點發(fā)生星地切換
地面源節(jié)點發(fā)生衛(wèi)星切換的過程如圖4所示。UE1為源節(jié)點,在t時刻連接Sat2,UE2為目的節(jié)點,連接Sat3。在t′時刻UE1與Sat2的連接斷開,然后與Sat1建立連接。此時,數(shù)據(jù)包的傳輸路徑由UE1-> Sat2-> Sat3-> UE2變成了UE1-> Sat1-> Sat2-> Sat3-> UE2。
圖4 源節(jié)點發(fā)生星地切換示意圖
源節(jié)點發(fā)送數(shù)據(jù)包時,數(shù)據(jù)包中除了攜帶有源節(jié)點地址Src和目的節(jié)點地址Dest之外,還攜帶有與目的節(jié)點相連的衛(wèi)星節(jié)點的地址Dest_Sat。數(shù)據(jù)包來到星上后,按照星上路由的處理的方式來傳輸數(shù)據(jù)分組,而星上路由的目的節(jié)點即為Dest_Sat。
地面源節(jié)點發(fā)生星地切換時,因Dest_Sat并未發(fā)生改變,因此無需其它路由開銷,只需繼續(xù)將數(shù)據(jù)分組傳輸?shù)脚c之相連的衛(wèi)星上即可。
3.3.2 地面目的節(jié)點發(fā)生星地切換
地面目的節(jié)點發(fā)生星地切換的過程如圖5所示。UE1為源節(jié)點,在t時刻連接Sat1,UE2為目的節(jié)點,連接Sat2。在t′時刻UE2與Sat2的連接斷開,然后與Sat3建立連接。若不能及時把切換的信息傳達(dá)到源節(jié)點,源節(jié)點會繼續(xù)將數(shù)據(jù)分組發(fā)往Sat2,然后由Sat2向地面?zhèn)鬏?,由于目的?jié)點已經(jīng)切換到Sat3,則這個數(shù)據(jù)分組將會被丟失。
圖5 目的節(jié)點發(fā)生星地切換示意圖
為了能及時反饋鏈路的斷裂的信息,當(dāng)UE2發(fā)生星地切換時,立馬向UE1發(fā)送一個RREP包。包中除了要攜帶當(dāng)前目的節(jié)點連接的衛(wèi)星地址Dest_Sat外,還需要攜帶源節(jié)點連接的衛(wèi)星地址Dest_Sat作為RREP包的目的地址。
UE1收到RREP包后,將數(shù)據(jù)包中Dest_Sat的值修改為當(dāng)前目的節(jié)點連接的衛(wèi)星地址,路由重構(gòu)完成,源和目的重新恢復(fù)通信。
為了驗證協(xié)議的性能,基于OPNET對衛(wèi)星網(wǎng)絡(luò)進(jìn)行建模分析。網(wǎng)絡(luò)拓?fù)浯罱▍⒖笺炐切亲到y(tǒng),其中星上網(wǎng)絡(luò)包含66顆低軌衛(wèi)星,均勻分布在6個軌道面上,每個軌道面11顆衛(wèi)星。在STK軟件中生成軌道文件,并將軌道文件導(dǎo)入到OPNET,衛(wèi)星就能按照星下點軌跡進(jìn)行運動,如圖6。
圖5 衛(wèi)星網(wǎng)絡(luò)拓?fù)涫疽鈭D
繼續(xù)在其中添加地面節(jié)點,就構(gòu)成了整個衛(wèi)星網(wǎng)絡(luò)通信系統(tǒng)。
為了能夠更加清晰、直觀的感受動靜結(jié)合的雙層混合路由協(xié)議對端到端延遲的優(yōu)化,設(shè)置一對源和目的節(jié)點進(jìn)行仿真驗證,并將該算法與AODV算法進(jìn)行對比。源節(jié)點初始經(jīng)緯度為(E101,S1.88),目的節(jié)點初始經(jīng)緯度為(E13.6,N19.8),均使用隨機(jī)移動模型。仿真運行時間為1800s,仿真結(jié)果如圖6所示。
圖6 端到端時延
在沒有發(fā)生路由切換時,AODV和切換算法的端到端時延均在0.2s左右。但是一旦發(fā)生星地路由切換,AODV協(xié)議的端到端時延就會有顯著的增加,而動靜結(jié)合的雙層混合路由協(xié)議基本沒有變化。這是因為動靜結(jié)合的雙層混合路由協(xié)議避免了發(fā)生星地路由切換時重新進(jìn)行路由尋找的過程,提高了通信的穩(wěn)定性。
算法的路由重構(gòu)次數(shù)和路由重構(gòu)時間如圖7所示?;谔摂M拓?fù)涞牡蛙壭l(wèi)星切換算法的平均路由重構(gòu)時間在0.22s左右,是AODV的平均路由重構(gòu)時間的一半。而且從仿真結(jié)果上可以看出,基于虛擬拓?fù)涞牡蛙壭l(wèi)星切換算法的路由重構(gòu)次數(shù)也遠(yuǎn)小于AODV,大大提升了系統(tǒng)的性能。這是因為AODV在路由重構(gòu)時,要重新發(fā)起路由尋找,而DSDLH僅需要目的端返回一個錯誤信息給源節(jié)點,且源節(jié)點切換時不造成路由重構(gòu),有效減少了路由重構(gòu)次數(shù)與路由重構(gòu)時間。
圖7 路由重構(gòu)時間
圖8為隨仿真時間變化而變化的實時分組投遞率??梢钥闯龌谔摂M拓?fù)涞男l(wèi)星路由切換算法一直有著非常穩(wěn)定的分組投遞率,且隨著時間的增加,性能的優(yōu)勢更加明顯,表明了該算法在提升通信的穩(wěn)定性方面有了顯著的改善。這是因為基于虛擬拓?fù)涞男l(wèi)星路由切換算法減少了不必要的路由重構(gòu),且發(fā)生切換時不用再次進(jìn)行路由發(fā)現(xiàn),有效減少了路由重構(gòu)時間,提升了分組投遞率。
圖8 分組投遞率
本文基于虛擬拓?fù)涞母拍睿岢隽艘环N具有普適性的衛(wèi)星路由切換算法。所做的貢獻(xiàn)主要有如下三點:
1)提出的算法兼顧了ISL和UDL,在星地切換方面又具有一定的獨立性,能夠?qū)罄m(xù)基于虛擬拓?fù)涞膮f(xié)議研究提供思路與指導(dǎo)。
2)將星地切換協(xié)議放到了一個完整的衛(wèi)星系統(tǒng)之中來驗證,確保了協(xié)議的可行性,并為實際的衛(wèi)星系統(tǒng)搭建提供思路。
3)通過OPNET仿真,驗證了基于虛擬拓?fù)涞男l(wèi)星路由切換協(xié)議對低軌衛(wèi)星通信系統(tǒng)性能的提升:平均路由重構(gòu)時間下降50%;路由重構(gòu)次數(shù)減少66.7%;分組投遞率上升10%;端到端時延受星地切換的影響也大大減小。
本文雖然設(shè)計了一套完整的衛(wèi)星路由的運行方案,但是研究的重點還是在衛(wèi)星星地切換協(xié)議上,整一套衛(wèi)星路由協(xié)議還需要繼續(xù)完善。下一步將繼續(xù)研究衛(wèi)星組網(wǎng)的星上路由過程,爭取和當(dāng)前的路由切換協(xié)議一起,組成一個更完善的衛(wèi)星路由體系。