劉 洵,謝金森,陳雙武
(中國科學技術大學, 合肥 230021)
近年來,隨著通信技術的成熟與發展,衛星網絡逐漸受到業界的關注。衛星網絡利用衛星作為中繼節點轉發數據,在地面站之間進行通信。與地面網絡相比,衛星網絡具有全天候、高帶寬、覆蓋范圍廣、不受地形限制等優點。高效的衛星網絡路由方案對提高衛星網絡傳輸的時效性和可靠性有著重要的意義。與其他類型的衛星網絡相比,低軌衛星網絡既具有傳輸損耗小、通信延遲低、功耗低等優點,也存在拓撲變化快、衛星節點的計算能力和功率受限和易出現擁塞等特點。因此,設計高效的低軌衛星網絡路由機制具有一定的挑戰性。
現有研究大多關注衛星網絡拓撲結構的動態變化,提出了基于系統周期分割思想和覆蓋區域分割思想,將衛星網絡結構由動態轉化為靜態,再在靜態結構下設計協議進行路由的方法。其中系統周期分割思想根據衛星網絡的周期性,將衛星系統周期劃分為多個時間片[1],只要時間片足夠小,就可看作衛星網絡拓撲結構在同一時間片內是不變的。于是衛星網絡就被視為周期性重復的一系列拓撲快照[2-3],衛星網絡路由計算也就轉化成了多個靜態虛擬拓撲下的路由計算問題。基于系統周期分割思想的衛星網絡,衛星不需要實時計算,協議開銷較小。但是系統周期分割思想需要大量的空間存儲拓撲快照[4],并且對流量變化、鏈路擁塞及故障等實時情況的適應性較差[5-6]。覆蓋區域劃分思想將地球表面規則地劃分為不同的區域,給每個節點賦予不同的固定邏輯地址[1]。在覆蓋區域劃分思想下,邏輯節點的位置固定且排列規則,當前很多研究工作將集中控制與覆蓋區域思想相結合,實現流量傳輸的最優控制[7]。但是覆蓋區域分割思想需要衛星拓撲結構非常規則,一旦某個衛星節點出現故障,網絡拓撲規則性被破壞,就會導致衛星網絡性能大打折扣[8]。另外,在覆蓋區域分割思想下,衛星節點需要實時進行路由計算,對衛星星上處理能力要求高[9]。
針對傳統衛星網絡路由機制存在可擴展性低,對星上處理能力要求高等缺點,本文提出鏈路狀態感知的低軌衛星路由機制。該機制可以解決衛星網絡易出現擁塞的問題,同時兼顧低軌衛星能量和計算能力的限制,并具備較高的可拓展性。
考慮衛星網絡中存在M個衛星節點,表示為M={1,2,…,M}。其中,節點i剩余能量為Bi,用B={B1,B2,…,Bm}表示衛星節點剩余能量的集合;衛星節點i的接收隊列長度用Li表示,它反映了節點i處鏈路的擁塞程度。
感知驅動路由機制由路由學習和路由決策兩個部分組成。路由學習部分通過SRLM(Satellite Routing Learning Message,衛星路由學習報文)的廣播實現,其中源節點的信息包括衛星ID、剩余能量、接收隊列長度等。在感知驅動路由機制中,每個衛星節點都會周期性地廣播SRLM報文,并轉發來自其他節點的SRLM報文。SRLM報文的廣播使得節點信息在全網范圍內傳輸。節點接收到新的來自其他節點的SRLM報文時,根據報文內容更新本地路由表。路由決策是指節點依據當前的路由信息對數據包進行路由。
1.1.1 路由學習
路由學習過程指節點通過SRLM報文感知鏈路質量、鄰居節點的接收隊列長度和剩余能量信息的過程。其中,鄰居節點的接收隊列長度和剩余能量可通過鄰居節點生成的學習包獲得。而鏈路質量(TQ)則通過SRLM報文的丟包率計算得到,下面主要介紹TQ值的計算過程。
(1)單跳TQ值的計算
為了計算TQ值,先引入RQ和EQ兩個變量。假設中A和B是網絡中的一對鄰居節點。其中,RQAB表示過去T時間段內節點A收到上一跳節點和源節點都為B的SRLM報文的數量(圖1);EQAB表示過去T時間段內節點A上一跳為B且上上一跳為A本身的SRLM報文的數量(圖2)。定義TQAB=EQAB/RQAB,它反映了節點A至節點B的鏈路質量的好壞(圖3)。為方便表示,將RQAB簡寫為RQ,將EQAB簡寫為EQ,將TQAB簡寫為TQ。

圖1 RQ值的計算Fig.1 Calculation of RQ

圖2 EQ值的計算Fig.2 Calculation of EQ

圖3 單跳TQ值的計算Fig.3 Calculation of single-hop TQ
假設由節點A至節點B的鏈路丟包率為p,由節點B至節點A的鏈路丟包率為q,其中p、q∈[0,1]。A、B節點在之前T時段內發送的學習包數量為N,則通過式(1)和式(2)可以得到RQ和EQ的數學期望
E[RQ]=(1-q)N
(1)
E[EQ]=(1-p)(1-q)N
(2)
(3)
結合圖1和圖2可以發現,節點A至節點B的傳輸鏈路質量可以表示為EQ/RQ,即TQ的定義。注意到RQ和EQ相互獨立(因為它們表示的是由不同節點生成的SRLM報文),故將式(2)除以式(1)可以得到TQ數學期望式(3)。由式(3)可以發現,TQ的數學期望與p成反相關,且兩者之和為1。這符合定義中TQ表示由A向B的鏈路中數據包傳輸成功的概率的描述。因此,可以寫出TQ的計算公式
TQ=min{EQ/RQ,1}
(4)
式(4)表示TQ為EQ/RQ和1的最小值。由于TQ表示節點A到B數據包傳輸的成功率,所以TQ∈[0,1]。而在實際計算中由于RQ和EQ相互獨立,可能出現某時刻RQ比EQ大的情況,因此在式(4)中加上了TQ值不大于1的限制條件。
(2)路徑TQ值的計算
在1.1.1(1)節給出了單跳鏈路的TQ值計算公式,衛星節點進行路徑決策時需要從本節點到目的節點之間的路徑TQ值。設數據包從節點A0發送至節點An,按順序經過節點A0、A1、…、An。由于各鏈路質量相互獨立,所以路徑TQ可表示為各跳鏈路TQ的乘積。
(5)
在感知驅動路由機制中,SRLM報文包含從當前節點到源節點的TQ值,SRLM報文在每次轉發后都會對該值進行更新。如圖4所示,各跳鏈路質量為TQCB=0.9,TQBA=0.8。當SRLM報文從節點A到達節點B時,更新TQ值為0.9;由節點B轉發到達節點C時,更新TQCA=TQCB×TQBA=0.72。

圖4 路徑TQ值的計算Fig.4 Calculation of path TQ
1.1.2 路由決策
在保證數據傳輸質量的情況下,為了減少衛星節點能量消耗并改善衛星網絡局部擁塞的情況,鏈路狀態感知路由機制通過對鏈路質量、擁塞情況以及剩余能量進行權衡選擇下一跳節點。當從衛星節點m發送數據包至衛星節點n時,衛星節點通過式(6)、式(7)進行路由決策

(6)
(7)
感知驅動路由機制的實現由數據包轉發模塊和路由學習模塊組成,路由學習模塊通過SRLM包的廣播感知網絡狀態并更新路由表,數據包轉發模塊通過查找路由表確定下一跳節點。其中數據包轉發流程較為簡單,根據路由學習模塊更新的路由表將數據包發送至對應的下一跳節點。本節主要介紹路由學習模塊。
路由學習模塊通過廣播SRLM包感知網絡信息,SRLM包中包含了有關源節點和數據包自身的信息,在正式闡述路由學習模塊前,先介紹幾個重要的量:1)TTL(Time To Live):表示SRLM報文的剩余存活時間,在模型中定義為剩余可轉發次數。當SRLM報文生成時,TTL被賦值為TTL_MAX,即設定的最大轉發次數,此后每經過一次轉發,TTL的值減1。當TTL等于0時,該SRLM包會被丟棄。設定最大轉發次數是為了防止網絡中SRLM包數量過多,從而導致冗余;2)源節點ID:源節點ID表示生成該SRLM包的衛星節點ID;3)路徑TQ值:從源節點至當前所在衛星節點的路徑TQ值。


圖5 SRLM報文處理流程Fig.5 Process of SRLM
本文實驗由兩個部分組成,第一部分是搭建半實物仿真平臺,第二部分是在該仿真平臺上驗證鏈路狀態感知路由機制的有效性。其中,半實物仿真平臺分為控制器和樹莓派節點兩個部分,見圖6。PC作為控制器,下發控制報文至各樹莓派節點,模擬真實環境中丟包率等參數,樹莓派作為衛星節點,根據控制器的指令執行相應的動作,并定時上傳網絡信息(鏈路狀態等)至控制器。
仿真實驗的目的是驗證感知驅動路由機制的可行性與有效性。本文首先利用仿真平臺搭建一個拓撲簡單的網絡。如圖7所示,節點M為源節點,節點E為目的節點,A、B、C均為中繼節點。在該網絡中,節點M可以通過3條路徑將數據包發送至N。為了表達方便,本文使用XAY形式表達路徑,其中X是源節點,A是中繼節點,Y是目的節點。3條路徑的TQ值見圖7,鏈路MAN質量最好,鏈路MBN其次,MCN最差。

圖6 半實物仿真平臺Fig.6 Hardware platform for simulation

圖7 仿真實驗網絡拓撲Fig.7 Network topology of the experiment
仿真節點的能量設置如下:假設源節點M和目的節點N具有無窮多的能量,這兩個節點的能量儲備并不影響實驗結果。中繼節點A、B、C分別具有100000、200000、200000單位能量,其中每單位能量可以發送2048bytes的數據。為保證衛星其余功能的正常執行,節點需預留一定能量,因此實驗中設計當節點能量低于20000單位時就不再具備數據傳輸功能。另外,在實驗中,設置要傳輸的數據大小為16MB,設置源節點M和中繼節點A、B、C的發送速率為600kbps,設置中繼節點A、B、C的接收速率為200kbps,目的節點N的接收速率為3Mbps。以上關于發送速率和接收速率的設置是為了模擬鏈路擁塞:若數據僅僅通過一條或兩條路徑傳輸,源節點和中繼節點之間的鏈路就會出現擁塞,只有3條鏈路都被利用,源節點和中繼節點之間的鏈路才不會成為瓶頸。設置目的節點N接收速率為5Mbps是為了保證中繼節點和目的節點之間的鏈路通暢。
注意MTQ的計算公式(6),其中右式有3個權重參數α、β、γ,在仿真實驗中只需要測量其中的兩個量。由圖6可知,已經固定了鏈路質量,所以在仿真實驗中α是固定的。于是,將式(6)改寫為式(8)。實驗中分別改變參數β和γ,觀察并分析它們對衛星網絡的影響。

(8)
3.3.1 對β的分析
通過固定γ=0.01,改變β的值并觀察網絡狀態,從而得到圖8的實驗結果,這相當于忽略衛星節點剩余能量對于路由決策的影響。隨著β值的增大,中繼節點A、B、C的接收隊列長度逐漸趨于相同,如圖8(a)所示。其原因是當鏈路擁塞情況所占的比重較大時,源節點的路由決策趨于使各鄰居節點接收隊列長度(L)一致,導致鏈路的使用時間趨于相同,如圖8(c)所示,各節點消耗的能量趨于一致。由圖8(b)可以看出,由于忽略了節點剩余能量的影響,節點A的剩余能量一直維持在較低水平。另外,隨著β的增加,中繼節點總消耗的能量逐漸降低,最后維持在一個較低的水平。β較高時(如β=10)和只考慮TQ值(β=0.01)的情況相比,總的能量消耗大約降低了35%,如圖8(d)所示。這是由于在β較低的時候,數據包的傳輸僅僅利用了鏈路質量較好的1~2條鏈路,造成了鏈路擁塞。發生擁塞時節點數據丟包后重傳消耗了大量的能量,這使得能量消耗較大。在β較高時,由于對3條鏈路的均衡使用(3個中間節點的接收隊列長度相近),基本沒有擁塞情況的出現,減少了數據包的重傳次數,使總能量消耗降低。

(a)中繼節點平均隊列長度

(b)中繼節點剩余能量

(c)中繼節點消耗的能量

(d)中繼節點消耗的總能量
3.3.2 對γ的分析
通過固定β=0.01,改變γ的值觀察網絡狀態得到圖9的實驗結果,這相當于忽略衛星節點剩余能量對路由決策的影響。γ代表了衛星節點剩余能量在路由決策中的權重。由圖9(a)可以看出,隨著γ的增大,源節點M傾向于使用那些中繼節點能量更為充足的鏈路,當γ較大時,數據甚至沒有通過鏈路MAN傳輸,如圖9(c)所示。這種傾向也可以通過圖9(b)說明,隨著γ增大,中繼節點的剩余能量逐漸趨于一致。由圖8(d)可以看出,隨著γ增大,數據傳輸消耗的總能量同樣隨之減少。這是由于在γ較大時,源節點傾向于交替使用MBN、MCN兩條能量較為充裕鏈路。圖9(d)相對于圖8(d)傳輸數據要花費更多能量也可以根據鏈路的使用時間解釋:在圖9(d)中γ較大時,只有MBN、MCN兩條鏈路被使用,而在圖8(d)中β較大時,3條鏈路均被使用。
3.3.3β和γ對傳輸速率的影響
通過圖8(a)和圖9(a)觀察到,隨著β和γ的增大,鏈路中的數據傳輸時間逐漸下降,最后趨于一個穩定狀態。下降部分可以用之前對γ的分析部分中的鏈路的使用時間解釋:在初始階段,β、γ非常小,此時源節點M只使用鏈路質量較高的鏈路MAN傳輸數據。由于源節點M的發送速率超過中間節點A的接收速率,所以鏈路中發生擁塞,數據傳輸速率較低。隨著β、γ的增加,源節點M不再單一選擇鏈路MAN傳輸數據,而是通過多條鏈路傳輸,擁塞程度降低,傳輸速率變大。β、γ的增加都會使得傳輸速率變大,但是兩者原理不同。前者傾向于使3個中間節點的接收隊列長度接近,后者則使得3個中間節點的剩余能量接近。

(a)中繼節點平均隊列長度

(b)中繼節點剩余能量

(c)中繼節點消耗的能量

(d)各中繼節點消耗的總能量
另外,還可以對比圖10中兩條曲線觀察到在傳輸時間的穩定部分,β較大且γ=0.01的傳輸時間比γ較大且β=0.01的傳輸時間短很多。原因是前者使用3條鏈路傳輸數據,而后者只是用了2條,所以前者速率要比后者快。并且可以從圖8(d)、圖9(d)中發現,后者的能量消耗比前者大,這是后者沒有利用鏈路質量較好的MAN路徑,導致丟包率較高,這也是傳輸時間更長的原因。

圖10 傳輸時間隨β和γ的變化Fig.10 The variation of transmission time over β and γ
在實驗中,通過改變權重參數β和γ的值,觀察其對傳輸速率以及網絡節點狀態的影響。發現隨著β的增加,節點在路由決策時傾向于使得各有效傳輸鏈路上鄰居節點的接收隊列長度相同。而在γ增大時,節點在路由決策時傾向于使得各有效傳輸鏈路上的鄰居節點剩余能量相同。這驗證了感知驅動路由機制的可行性與有效性,如果希望減少網絡中擁塞的出現,可以選取較大的β值,若更重視對衛星能量的控制,可以選取較大的γ值。
本文提出了鏈路狀態感知的衛星路由機制,衛星節點通過感知鏈路的傳輸質量、鄰居節點的隊列長度和能量進行路由決策。與傳統衛星路由機制相比,路由學習使得鏈路狀態感知的衛星路由機制具有更高的可擴展性。本文使用樹莓派搭建半實物仿真平臺,并在平臺上進行實驗。實驗結果表明,鏈路狀態感知的路由機制可以有效地降低擁塞程度并控制衛星節點的能量,防止節點能量過低,延長衛星網絡的使用時間。