劉 洋,王麗娜
1) 北京科技大學計算機與通信工程學院,北京 100083 2) 北京科技大學順德研究生院,佛山 528300
在6G愿景下,地面通信網(wǎng)絡與衛(wèi)星通信網(wǎng)絡相互補充,構建跨地域、跨空域、跨海域的空?天?海?地一體化網(wǎng)絡,將實現(xiàn)真正意義上的全球無縫覆蓋[1].低軌衛(wèi)星通信相較中、高軌衛(wèi)星通信,傳輸時延短、路徑損耗小,多個衛(wèi)星組成的星座可以實現(xiàn)真正的全球覆蓋.因此,低軌衛(wèi)星可在全球范圍內(nèi)提供快速且低延遲的互聯(lián)網(wǎng)接入服務.星上路由技術是5G/6G新基建下衛(wèi)星通信的關鍵技術之一,利用星間路由算法可以對衛(wèi)星網(wǎng)絡中數(shù)據(jù)的實時傳輸進行性能優(yōu)化,保證數(shù)據(jù)的高效傳輸.路由算法與智能感知技術融合,可以提升路由的分析和決策能力.因此,本文將針對低軌衛(wèi)星網(wǎng)絡的智能感知路由算法進行研究.
由于衛(wèi)星網(wǎng)路拓撲結構是動態(tài)變化的,根據(jù)應對拓撲結構動態(tài)變化的方法可將衛(wèi)星路由算法分為兩大類:靜態(tài)虛擬拓撲的星間路由算法和動態(tài)星間路由算法.靜態(tài)虛擬拓撲的星間路由算法基于系統(tǒng)周期劃分思想,將衛(wèi)星網(wǎng)絡結構由動態(tài)轉化為靜態(tài),再在靜態(tài)結構下設計協(xié)議進行路由[2].文獻[3]根據(jù)衛(wèi)星的建鏈周期進行周期劃分,進而在每個周期內(nèi)進行時隙規(guī)劃,研究了時分體制的指向性星間鏈路網(wǎng)絡的路由算法,分別以跳數(shù)和時延作為約束條件進行路由選擇.文獻[4]將整個系統(tǒng)周期劃分為固定長度的拓撲設計時間片,基于時延隊列信息進行路由,提高了導航加權精度因子.文獻[5]借鑒了虛擬拓撲的思想,在此基礎上提出了一種能量感知的路由方案,根據(jù)衛(wèi)星的不同能級采取不同措施保證數(shù)據(jù)傳輸,降低丟包率.上述這種將動態(tài)的衛(wèi)星網(wǎng)絡拓撲按一定的時間間隔劃分為靜態(tài)的網(wǎng)絡拓撲序列進行分析處理的方法,由于事先建立路由表,衛(wèi)星不需實時計算,協(xié)議開銷較小.但該種方式未考慮路由表之間切換時的銜接問題[6],并且由于路由表固定,難以應對衛(wèi)星節(jié)點故障、擁塞,無法確保路由選擇的服務質(zhì)量 (Quality of service, QoS).
動態(tài)星間路由算法根據(jù)實時鏈路狀態(tài)信息進行計算,能夠更好應對衛(wèi)星網(wǎng)絡拓撲變化和網(wǎng)絡流量變化[7].機器學習技術可以自動提取訓練集中數(shù)據(jù)與標簽之間的特征,對鏈路狀態(tài)進行實時分析,在動態(tài)路由優(yōu)化方面相對于傳統(tǒng)的啟發(fā)式方法顯示出巨大的優(yōu)勢.文獻[8]提出適用于低軌衛(wèi)星的機器學習路由方法,將各衛(wèi)星節(jié)點的負載狀態(tài)輸入置信域策略梯度優(yōu)化神經(jīng)網(wǎng)絡,實現(xiàn)負載均衡,但該算法只考慮了一種QoS指標.文獻[9]提出一種基于機器學習的衛(wèi)星網(wǎng)絡路由機制,路由的起始節(jié)點、目標節(jié)點、各QoS度量等參數(shù)作為神經(jīng)網(wǎng)絡的輸入,輸出一條路徑.由于其只能從訓練集固定標簽中選取路徑,若路徑中某一節(jié)點出現(xiàn)故障,則會造成擁塞.文獻[10]通過采用動態(tài)貪婪系數(shù),對傳統(tǒng)Q-Learning強化學習算法進行改進,改善了容易陷入局部收斂的問題,但是該算法對于目標節(jié)點獎勵函數(shù)的設置并不明確.文獻[11]提出了一種基于深度強化學習的軟件定義路由優(yōu)化方法,基于實時鏈路狀態(tài),通過不斷地輸出下一跳路由構成整個數(shù)據(jù)傳輸?shù)穆窂絒12].深度強化學習算法能夠自適應動態(tài)變化的網(wǎng)絡環(huán)境[13],但當衛(wèi)星網(wǎng)絡規(guī)模較大時,很難直接輸出滿足復雜約束的路徑[14],會導致算法收斂時間較長.
近年來,一些研究基于流量或者星間鏈路質(zhì)量進行實時感知,做出路由決策.文獻[15]通過感知鄰居節(jié)點的隊列長度和能量進行路由決策,在降低衛(wèi)星能耗的同時減輕網(wǎng)絡的局部擁塞.但該研究仿真部分只用樹莓派搭建了6個節(jié)點,未能很好地模擬實際星間鏈路情況.文獻[16]根據(jù)衛(wèi)星之間的鏈路狀態(tài)信息確定水平和垂直傳輸?shù)奶鴶?shù)和方向,對遇到故障節(jié)點的不同情況進行分析,但由于只以最短路徑為目標,會導致數(shù)據(jù)集中在同一條路徑傳輸,容易造成擁塞.將智能感知與路由相結合是未來重要研究方向,可以為路由選擇提供保障.
針對靜態(tài)衛(wèi)星網(wǎng)絡路由算法實時性差以及動態(tài)傳統(tǒng)神經(jīng)網(wǎng)絡路由算法計算復雜度高等特點,為了實時感知星間鏈路的多種QoS因素,本文提出基于樹突神經(jīng)網(wǎng)絡的低軌衛(wèi)星(Low-Earth orbit,LEO)智能感知路由算法.該算法首先利用蟻群算法做出路由選擇,收集輸出結果,進而構造訓練集,訓練樹突神經(jīng)網(wǎng)絡(Dendrite net,DD).在星間鏈路態(tài)勢感知階段,對衛(wèi)星之間的可視性約束進行分析,以此為前提得出當前時刻各個衛(wèi)星之間的建鏈狀態(tài);設置鏈路監(jiān)測周期,周期性獲取星間鏈路的建鏈情況,實現(xiàn)星間鏈路態(tài)勢感知;在神經(jīng)網(wǎng)絡鏈路質(zhì)量感知階段,將衛(wèi)星節(jié)點之間的距離、時延、時延抖動、丟包率等鏈路狀態(tài)信息作為樹突網(wǎng)絡的輸入?yún)?shù),訓練好的樹突神經(jīng)網(wǎng)絡通過對鏈路狀態(tài)信息進行處理,輸出滿足多種QoS因素的下一跳路由選擇的評估值矩陣;在路由決策階段將評估值矩陣的倒數(shù)作為鄰接矩陣通過迪杰斯特拉(Dijkstra)算法,得出源節(jié)點和目的節(jié)點之間的初始路徑;最后周期性監(jiān)測衛(wèi)星網(wǎng)絡拓撲,實時修正初始路徑.
本文研究的低軌衛(wèi)星網(wǎng)絡采用Walker星座,Walker星座由高度和傾角均相同的圓軌道衛(wèi)星組成,星座中所有衛(wèi)星呈均勻對稱分布,同一個軌道面內(nèi)衛(wèi)星分布均勻,不同軌道面間衛(wèi)星的相位持一定的相對關系[17].Walker星座衛(wèi)星軌道可以由三個參數(shù) (N,P,F)表示:N表示衛(wèi)星總數(shù)、P表示軌道個數(shù)、F表示相位因子,則Walker星座中編號為i的衛(wèi)星其升交點赤經(jīng)W和升交點角距ui分別為:
其中,S為每個軌道平面上的衛(wèi)星數(shù),Pi為衛(wèi)星所在軌道平面的編號,Ni為衛(wèi)星在軌道平面內(nèi)的編號.本文所設置的低軌衛(wèi)星網(wǎng)絡基本星座構型為Walker(64/8/1),軌道高度為 800 km,軌道傾角為68.5°,星座軌道面的升交點赤經(jīng)均分0~360°范圍.通過 Satellite Tool Kit(STK)軟件仿真,得到該構型的星座圖以及其對應的星下點軌跡圖分別如圖1和圖2所示.
圖2 星下點軌跡圖Fig.2 Under-satellite point trajectory diagram
星間鏈路狀態(tài)變化頻繁,無論是星間鏈路誤碼率過高導致的鏈路中斷、星間相對運動導致的鏈路中斷與重連或是衛(wèi)星節(jié)點的失效,均將使網(wǎng)絡拓撲處于非穩(wěn)定的狀態(tài).因此,星間路由算法應具有動態(tài)感知衛(wèi)星網(wǎng)絡拓撲以及在變化拓撲下自適應重路由的能力[18].本文算法主要分為三個階段:星間鏈路態(tài)勢感知階段、星間鏈路質(zhì)量感知階段、路由決策階段.基于樹突神經(jīng)網(wǎng)路的低軌衛(wèi)星智能感知路由算法流程圖如圖3所示.
圖3 算法流程圖Fig.3 Algorithm flowchart
在星間鏈路的態(tài)勢感知階段,以衛(wèi)星之間的可視性約束為前提并設置鏈路狀態(tài)監(jiān)測周期及時體察鏈路狀態(tài),使得星間路由能夠對時變衛(wèi)星網(wǎng)絡的拓撲做出迅速調(diào)整.
2.1.1 星間鏈路建鏈條件
衛(wèi)星之間可視是星間建鏈的基礎,接下來將對星間鏈路建立的條件進行分析.衛(wèi)星之間能否建鏈主要受以下兩個方面的因素影響:
(1)衛(wèi)星之間幾何可視,即衛(wèi)星之間的直線連線不受地球和大氣層遮擋,是建立星間鏈路的前提條件;
假設地球半徑為Re,考慮到對流層和電離層等外界因素對信號的影響,設大氣層厚度為h,衛(wèi)星Si的軌道高度為di, 衛(wèi)星Sj的軌道高度為dj,星間鏈路距離為Lij.如圖4為某時刻大氣層與衛(wèi)星Si和Sj的星 間鏈 路相 切的 情況 , βij為 衛(wèi)星Si相 對于Sj的俯仰角, βji為衛(wèi)星Sj相對于Si的俯仰角.此時為衛(wèi)星之間幾何可視的邊界條件,因此建立星間鏈路的幾何可視約束為:
圖4 某時刻衛(wèi)星相對位置示意圖Fig.4 Image of the relative position of the satellite at a certain moment
其中, θji為衛(wèi)星Sj相對于Si的俯仰角,將式(2)轉化為用距離Lij表示:
其中,Lij表 示衛(wèi)星Si和Sj之間的距離.
(2)衛(wèi)星之間天線可視,即兩顆衛(wèi)星均處于對方天線波束掃描范圍內(nèi)時才能完成信號的發(fā)送與接收,是建立星間鏈路的根本條件.設衛(wèi)星Si和Sj的波束掃描范圍分別為 γi、 γj,為滿足天線可視約束, θji應滿足如下條件:
將式(4)轉化為用距離表示:
綜合分析衛(wèi)星之間的幾何可視和天線可視,得出任意兩顆衛(wèi)星可以建立星間鏈路的充分必要條件為:
2.1.2 星間鏈路監(jiān)測周期
若低軌衛(wèi)星繞地運行周期為T,單軌道內(nèi)有N顆衛(wèi)星,則T/N即為LEO衛(wèi)星網(wǎng)絡的拓撲變化周期Ts.即最多經(jīng)過Ts時間將有一顆衛(wèi)星進入極地地區(qū),進而衛(wèi)星網(wǎng)絡邏輯拓撲發(fā)生變化[19].本文以Ts為鏈路監(jiān)測周期,超出鏈路監(jiān)測周期時應重新計算衛(wèi)星節(jié)點之間的建鏈狀態(tài),對路由進行修正,避免鏈路切換導致數(shù)據(jù)包的丟失.
在星間鏈路質(zhì)量感知階段需要對收集的衛(wèi)星網(wǎng)絡鏈路狀態(tài)參數(shù)進行客觀評估,以綜合分析每條鏈路的質(zhì)量、提高QoS.本文采用基于機器學習的評估方式,并以人工神經(jīng)網(wǎng)絡作為評估工具,計算各個節(jié)點之間的鏈路代價,輸出下一跳節(jié)點選擇的評估值矩陣.
2.2.1 路徑代價及目標函數(shù)
端到端時延、時延抖動[20]、丟包率等均為影響衛(wèi)星網(wǎng)絡QoS的因素,衛(wèi)星路由算法的設計應考慮多種QoS因素,避免網(wǎng)絡擁塞.為提高QoS,本文提出的路由算法的路徑代價綜合考慮任意衛(wèi)星節(jié)點i與j之間的距離、時延、時延抖動、丟包率,公式如下:
其中, c ost(i,j)為鏈路eij的路徑代價,路徑代價反映了衛(wèi)星節(jié)點之間傳輸鏈路質(zhì)量的綜合評價[21].D(i,j)、Delay(i,j)、 J itter(i,j)、 L oss(i,j)分別代表衛(wèi)星節(jié)點i與j之間的距離、信息傳輸時延、時延抖動和丟包率.wi表示各QoS因素所占的權重系數(shù),系數(shù)之和為1,在本文中權重系數(shù)值將隨著負載狀態(tài)的變化而改變.當某一QoS指標變化較大時,其在路徑代價函數(shù)中對應的權重系數(shù)將比其他指標的權重系數(shù)大,這樣在路徑選擇時可以避免選擇該指標較大的星間鏈路.
在衛(wèi)星網(wǎng)絡拓撲中, p ath(s,d)表示從源節(jié)點s到目的節(jié)點d所包含的路徑,源節(jié)點到目標節(jié)點之間的最優(yōu)路徑即為路徑代價最小的路徑,目標函數(shù)及約束條件如下:
其中,eij∈path(s,d)表示源節(jié)點至目標節(jié)點路徑中的邊, D elaymax、 J ittermax、 L ossmax和Dmax分別為實時傳輸業(yè)務在LEO網(wǎng)絡中所能承受的最大時延、時延抖動、丟包率,以及衛(wèi)星之間滿足可視性約束時的最大距離.為了保證計算時各QoS參數(shù)單位的統(tǒng)一性,需對其進行以下歸一化處理[22]:
2.2.2 基于蟻群算法構造訓練集
傳統(tǒng)基于深度學習的路由算法在構造訓練集時,通常以經(jīng)典路由算法獲取的一條完整路徑作為訓練集的標簽.這樣神經(jīng)網(wǎng)絡輸出的結果只能從固定集合的路徑中選取,若某一路徑中的節(jié)點失效則易產(chǎn)生擁塞.因此,本文基于蟻群算法最終輸出的概率轉發(fā)矩陣作為訓練集的標簽,通過當前節(jié)點選擇下一跳節(jié)點的概率值來評估對應的星間鏈路質(zhì)量.
蟻群算法是一種啟發(fā)式算法,螞蟻為網(wǎng)絡中進行路由信息收集與更新的數(shù)據(jù)包,將蟻群算法中的轉發(fā)概率表對應為衛(wèi)星網(wǎng)絡的路由表[23],鏈路QoS信息是螞蟻選擇下一跳節(jié)點的重要依據(jù).神經(jīng)網(wǎng)絡模型的訓練依賴于訓練數(shù)集,本文通過改變不同負載狀態(tài)下路徑代價函數(shù)中的權重系數(shù),得出更有效的訓練集標簽數(shù)據(jù),以提高所訓練的神經(jīng)網(wǎng)絡性能.構建訓練集的具體過程如下:
首先,模擬不同負載情況下衛(wèi)星節(jié)點之間的距離、時延、丟包率、時延抖動信息,并將這些狀態(tài)信息通過蟻群算法得出衛(wèi)星節(jié)點選擇下一跳節(jié)點的概率矩陣.進而將所得到不同負載狀態(tài)下的概率矩陣作為訓練樹突神經(jīng)網(wǎng)絡的標簽,以此構建訓練集,訓練神經(jīng)網(wǎng)絡模型.當新的路由請求到達時,輸入神經(jīng)網(wǎng)絡,輸出當前狀態(tài)下的評估值矩陣,將此結果作為新的標簽加入訓練集.這樣通過半監(jiān)督學習的方式優(yōu)化標簽,動態(tài)構造訓練集,可以更好感知衛(wèi)星網(wǎng)絡狀態(tài)信息,繼續(xù)訓練優(yōu)化模型.
雖然通過蟻群算法可以直接得出任意兩點間的路徑,但每次通過蟻群算法計算源節(jié)點到目標節(jié)點的路徑耗費時間過長,不利于星上實時決策.而本文算法通過改進路徑代價函數(shù)中的權重,利用更有效的訓練集,提前訓練神經(jīng)網(wǎng)絡模型,提取出星間鏈路狀態(tài)信息和星間鏈路質(zhì)量評估值之間的邏輯關系.進行路由決策時,只需通過訓練好的神經(jīng)網(wǎng)絡模型感知當前時刻的鏈路質(zhì)量,基于感知信息做出路由選擇.雖然前期訓練神經(jīng)網(wǎng)絡的過程較復雜,但是在路由選擇時可快速做出決策.
2.2.3 基于樹突神經(jīng)網(wǎng)絡的星間鏈路質(zhì)量評估
本文選用文獻[24]中提出的樹突網(wǎng)絡(Dendrite net,DD)算法,DD算法的良好性能在文獻[25]中得到驗證.樹突神經(jīng)網(wǎng)絡架構簡單并且由于計算只包含矩陣乘法和哈達瑪積,該算法的計算復雜度遠比傳統(tǒng)神經(jīng)網(wǎng)絡中的非線性函數(shù)計算復雜度低[26].在每一代前向傳播中,樹突神經(jīng)網(wǎng)絡都比傳統(tǒng)人工神經(jīng)網(wǎng)絡速度快,有助于衛(wèi)星網(wǎng)絡實現(xiàn)低時延傳輸;路由算法所需的神經(jīng)網(wǎng)絡必須具有非常強大的輸出層[27],而DD算法可以有多個輸出.綜上,采用樹突神經(jīng)網(wǎng)絡對衛(wèi)星節(jié)點的狀態(tài)參數(shù)進行客觀評估,以確保衛(wèi)星路由滿足多種QoS目標優(yōu)化是可行的.DD是白盒算法,可以將訓練好的DD邏輯提取器轉化為輸入和輸出關系譜[28].其中輸入對應為衛(wèi)星網(wǎng)絡中各個節(jié)點的QoS信息,輸出的評估值矩陣即為當前節(jié)點選擇其余節(jié)點作為下一跳的概率.
DD模塊表示如下:
其中,Al?1和Al分別是模型的輸入和輸出,X代表樹突神經(jīng)網(wǎng)絡的輸入?yún)?shù),Wl,l?1是從第l?1到第l個模型的權重矩陣,“?”代表哈達瑪乘積,圖5為本文所需DD算法模型.
圖5 DD 算法模型Fig.5 DD algorithm model
2.2.4 DD 學習規(guī)則
DD模塊和線性模塊的前向傳播:
其中,L代表模型的最后一層,為線性模塊.
DD模塊和線性模塊的誤差反向傳播規(guī)則:
DD通過梯度下降進行權重調(diào)整:
其中,m表示一個批次中訓練樣本的個數(shù),α為學習速率.
將經(jīng)過歸一化處理后衛(wèi)星之間的距離矩陣X0、時延矩陣X1、時延抖動矩陣X2、丟包率矩陣X3作為輸入?yún)?shù)輸入樹突神經(jīng)網(wǎng)絡,樹突神經(jīng)網(wǎng)絡內(nèi)部算法表達式如下:
公式(17)是通過哈達瑪乘積建立當前輸入和先前輸入的邏輯關系,式中W10是從第0到第1個模型的權重矩陣,W21是從第1到第2個模型的權重矩陣,W32是從第2到第3個模型的權重矩陣,其中初始化權重矩陣服從0~1均勻分布.樹突神經(jīng)網(wǎng)絡每一層的權重W將利用訓練集的標簽Y,通過式(12)~(16)被不斷訓練調(diào)整,直至訓練出誤差較小、與目標函數(shù)擬合程度較高的樹突神經(jīng)網(wǎng)絡.
樹突神經(jīng)網(wǎng)絡經(jīng)過與訓練集的擬合,訓練好的神經(jīng)網(wǎng)絡邏輯提取器將轉化為關于鏈路狀態(tài)參數(shù)輸入和選擇下一跳路由節(jié)點概率輸出的關系譜.所輸出的矩陣Y?是基于概率的路由,將其定義為評估值矩陣,其中衛(wèi)星i與衛(wèi)星j的鏈路所對應評估值為yi,j,則評估值矩陣表達式如下:
其中,輸出的節(jié)點對應評估值越大,選擇該節(jié)點作為下一跳的概率越大;當兩節(jié)點間不滿足可視性約束時,對應評估值為0;當最佳路徑中某一節(jié)點出現(xiàn)故障時,可選擇評估值相對較高的其他衛(wèi)星節(jié)點,避免鏈路擁塞.該評估值矩陣綜合考慮多種QoS因素,并且不像啟發(fā)式算法過于依賴人類經(jīng)驗,而是通過人工神經(jīng)網(wǎng)絡不斷優(yōu)化訓練得到的客觀評估結果.
Dijkstra算法是常見的最短路徑算法,在路由決策階段將評估值矩陣取倒數(shù)作為Dijkstra算法的輸入鄰接矩陣,可輸出一條滿足目標函數(shù)、鏈路代價最小、具有QoS保障的最佳初始路徑.一方面,在監(jiān)測周期內(nèi)按初始路徑進行路由,若超出監(jiān)測周期則需重新計算初始路徑中當前節(jié)點與其對應下一跳節(jié)點之間的建鏈狀態(tài);若不可建鏈,需獲取當前時刻的節(jié)點狀態(tài)信息并輸入樹突神經(jīng)網(wǎng)絡,重新進行路由選擇,對初始路徑進行修正,實現(xiàn)衛(wèi)星路由的實時感知.另一方面,當初始路徑中某一節(jié)點的下一跳節(jié)點出現(xiàn)故障時,可選擇當前節(jié)點的次佳下一跳節(jié)點,再通過Dijkstra算法得出路徑.
本文首先利用 Satellite Tool Kit軟件創(chuàng)建一個新的場景,場景時間設為 2 Dec 2020 04∶00∶00.000至 2 Dec 2020 05∶00∶00.000.先生成 seed 衛(wèi)星,再通過Walker方法快速創(chuàng)建Walker星座,Walker的參數(shù)設置如表1所示.
表1 Walker參數(shù)設置Table 1 Parameter setting of the Walker constellation
取其中24顆低軌衛(wèi)星,利用STK對衛(wèi)星之間的可視性約束進行分析,可得出衛(wèi)星之間在任意時刻的建鏈情況,導出衛(wèi)星之間的可視性矩陣.低軌衛(wèi)星繞地運行周期約為85 min,單軌道內(nèi)有8顆衛(wèi)星,因此監(jiān)測周期為 10 min.每隔 10 min 對所得路徑涉及衛(wèi)星節(jié)點之間的可視情況進行確定,避免整個衛(wèi)星網(wǎng)絡拓撲狀態(tài)發(fā)生變化時,有鏈路斷開未能及時發(fā)現(xiàn).
之后,通過MATLAB和STK的互聯(lián)接口將report中鏈路可視矩陣信息以及衛(wèi)星之間的距離矩陣傳給MATLAB;利用MATLAB對衛(wèi)星之間的信道進行建模,同時生成衛(wèi)星之間的多普勒頻移,進而模擬衛(wèi)星之間的帶寬、時延、時延抖動、丟包率矩陣.鏈路參數(shù)設置如表2所示.
表2 鏈路參數(shù)設置Table 2 Parameter setting of the link
在初始時刻,路徑代價函數(shù)中各權重系數(shù)值均為0.25.當前網(wǎng)絡中數(shù)據(jù)包傳輸完成后,統(tǒng)計平均端到端時延、丟包率、時延抖動,分別計算當前負載狀態(tài)與前一負載狀態(tài)相比三種QoS指標增加的百分比.假設平均端到端時延、丟包率、時延抖動分別增加了a、b、c,則下一負載狀態(tài)下路徑代價函數(shù)中權重系數(shù)分別為:
圖6為通過MATLAB軟件仿真得到的樹突神經(jīng)網(wǎng)絡擬合圖,由此可以發(fā)現(xiàn)當訓練 3 ×105代之后誤差曲線趨于穩(wěn)定,并且誤差很小,可以以高概率收斂到全局最優(yōu),表明本文所選用的樹突神經(jīng)網(wǎng)絡擬合性能較好.圖7為輸入第1個衛(wèi)星節(jié)點至其他23個衛(wèi)星節(jié)點的狀態(tài)信息時,模型輸出當前衛(wèi)星節(jié)點選擇其他衛(wèi)星節(jié)點的概率.以該概率作為評估值,評估值越大,選擇對應節(jié)點作為下一跳的可能性越大;當評估值為0時,表明兩個衛(wèi)星節(jié)點之間不滿足可視性約束,不能建立星間鏈路.
圖6 樹突神經(jīng)網(wǎng)絡擬合圖Fig.6 Dendritic network fitting graph
圖7 選擇下一跳衛(wèi)星節(jié)點的概率Fig.7 Probability of selecting the next hop satellite node
為了驗證樹突神經(jīng)網(wǎng)絡路由算法的性能,分別與蟻群算法(Ant colony algorithm, ACA)和 Dijkstra算法進行仿真對比.在網(wǎng)絡負載量較低時,三種算法仿真得出源節(jié)點1至目的節(jié)點3的路徑分別為蟻群:1—20—3,Dijkstra:1—2—3,樹突神經(jīng)網(wǎng)絡算法:1—2—3;節(jié)點12至節(jié)點15的路徑分別為蟻群:12—23—14—8—15,Dijkstra:12—13—8—15,樹突神經(jīng)網(wǎng)絡算法:12—13—8—15;隨著網(wǎng)絡負載量增加,源節(jié)點1至目的節(jié)點3的路徑分別為蟻群:1—2—19—3,Dijkstra:1—2—3,樹突神經(jīng)網(wǎng)絡算法:1—19—3;圖8為給定相同源節(jié)點和目的節(jié)點的條件下,三種算法的平均跳數(shù)和最大跳數(shù)對比圖.由于蟻群算法屬于啟發(fā)式算法,其容易陷入局部最優(yōu)解、收斂性較差,有時需較多跳數(shù)才可到達;Dijkstra算法在進行路由選擇時直接考慮最短距離路徑,并不考慮所選鏈路的擁塞情況,因此其只需較少的跳數(shù)即可達到目的節(jié)點;本文算法在綜合考慮多種QoS因素的情況下,可以避開擁塞節(jié)點.在實際工程中,衛(wèi)星路由的跳數(shù)應盡可能小.本文所提路由算法的平均跳數(shù)與Dijkstra算法一致,這表明其在避開擁塞節(jié)點時并未以犧牲路由跳數(shù)為代價.接下來將對三種路由算法在時延、丟包率、時延抖動方面的性能進行比較.
圖8 相同源節(jié)點至目節(jié)點的路由跳數(shù)對比Fig.8 Comparison of route hops
圖10 端到端平均丟包率對比Fig.10 End-to-end average packet loss rate comparison
由圖9至圖11所示,隨著數(shù)據(jù)包產(chǎn)生個數(shù)的加大,由于網(wǎng)絡負載量不斷增加,三種算法的端到端時延、丟包率以及時延抖動均成上升趨勢.在數(shù)據(jù)包產(chǎn)生個數(shù)小于20時,由于衛(wèi)星網(wǎng)路負載量較低,三種路由算法的時延、丟包率、時延抖動均較低.隨著數(shù)據(jù)包產(chǎn)生個數(shù)的增多,本文算法的性能優(yōu)勢逐漸明顯,其時延、丟包率、時延抖動均比Dijkstra算法以及蟻群算法低.這是因為Dijkstra算法直接選取最短距離路徑進行路由,并不考慮鏈路質(zhì)量,隨著時間推移,最短路徑上極易出現(xiàn)擁塞,導致時延、丟包率、時延抖動大幅度增加,而其他路徑帶寬利用率低、浪費資源;蟻群算法雖考慮多種QoS因素,性能與Dijkstra算法相比較好,但其收斂性較差.本文所提算法性能的提升主要有以下原因:其一,本文算法通過改變路徑代價函數(shù)在不同負載狀態(tài)下的權重系數(shù)來訓練樹突神經(jīng)網(wǎng)絡,可以避免選擇QoS指標不好的鏈路;比如當網(wǎng)絡中平均時延增長較多時,由于時延權重與其他指標的權重相比較大,接下來進行路由選擇時,在綜合考慮多種QoS指標的情況下會避免選擇時延較大的路徑;其二,通過半監(jiān)督學習的方式動態(tài)構造訓練集可以優(yōu)化樹突神經(jīng)網(wǎng)絡模型,利用樹突神經(jīng)網(wǎng)絡自動調(diào)整全局衛(wèi)星網(wǎng)絡鏈路的評估值,更好地感知網(wǎng)絡的狀態(tài)信息,輔助做出智能路由決策.最終,當某一節(jié)點數(shù)據(jù)量較多時,可通過感知的鏈路權重信息自適應調(diào)節(jié),避免選擇易擁塞節(jié)點,從而降低整個衛(wèi)星網(wǎng)絡的平均時延、丟包率和時延抖動.
圖9 端到端平均時延對比Fig.9 End-to-end average delay comparison
圖11 端到端平均時延抖動對比Fig.11 End-to-end average delay jitter comparison
本文提出一種基于樹突神經(jīng)網(wǎng)絡的低軌衛(wèi)星智能感知路由算法,星間鏈路態(tài)勢感知階段,周期性分析星間可視性情況;采用樹突神經(jīng)網(wǎng)絡對鏈路狀態(tài)參數(shù)進行分析處理,感知鏈路的綜合服務質(zhì)量,輸出下一跳路由選擇的評估值矩陣;在路由決策階段將評估值矩陣倒數(shù)作為鄰接矩陣通過最短路徑算法,進而得出源節(jié)點和目的節(jié)點之間的初始路由路徑;最后通過周期性監(jiān)測修正初始路徑以應對衛(wèi)星節(jié)點失效.仿真結果表明:在相同數(shù)據(jù)包到達的情況下,該路由算法和傳統(tǒng)路由算法相比性能更加優(yōu)越.