中圖分類號:TN927.2 文獻標識碼:A 文章編號:2096-4706(2025)12-0017-05
Research on Congestion Control Algorithm of Satelite Communication Network
XU Xiangyang, GAO Huimin, ZHANG Yifan (SchoolofInformationScienceandEnginering,Hebei UniversityofScienceandTechnology,ShijiazhuangO5oo18,China)
Abstract:Thesatelitecommunicationnetwork hasthecharacteristicsoflongdelay,highbiterrorrateandbandwidth asymmetry,which leads tothereductionofbandwidthutilizationandservicequalityof traditional groundcongestioncontrol algorithminsatelltenetwork.Asateliecommunicationcongestioncontrolalgorithmbasedonte Vegasalgorithmoptimization is proposed.BasedonthenewRTTcalculation method,thisalgorithmcannotonlyavoidthe wasteofforwardlink bandwidth duetothereductionoftransmissionrate whenthereverselinkisongestedbutalsodnamicallyadjusttheelevantpraeters of the congestionavoidance phase,making the adjustmentof the CWND more reasonable.By optimizing the congestion avoidance phaseof Vegas algorithm, the maximization of algorithm performance is sought.The experimental results show that the proposed algorithm in this paper improves the throughput and bandwidth utilization ofsatelitecommunication networks.
Keywords: satellite communication; congestion control; time delay; CWND; Vegas
0 引言
隨著互聯(lián)網(wǎng)的普及,用戶對通信速度和服務(wù)質(zhì)量的要求不斷提升,衛(wèi)星通信也面臨著更高的挑戰(zhàn)[]。在地面?zhèn)鬏斨?,由于誤碼率較低,通信過程中的異常基本不考慮誤碼影響,此時將丟包默認為發(fā)生網(wǎng)絡(luò)擁塞,進而執(zhí)行相應(yīng)的擁塞控制算法、降低數(shù)據(jù)發(fā)送速率。但衛(wèi)星通信存在時延長、帶寬不對稱和超高誤碼率等問題,通信過程中極易發(fā)生丟包和擁塞[2]。此時若盲目認定丟包即網(wǎng)絡(luò)擁塞并減小擁塞窗口,會導致鏈路吞吐量下降[3]。
為提高衛(wèi)星通信的服務(wù)質(zhì)量,眾多專家學者在衛(wèi)星通信擁塞控制領(lǐng)域開展了研究[4。通過改進TCP擁塞控制算法,可使其更好適應(yīng)衛(wèi)星網(wǎng)絡(luò)特性,進而提升傳輸效率。Vegas[5]算法是其中一種擁塞控制算法,與Reno算法相比,該算法采用新的慢啟動機制、重傳機制和擁塞避免機制,提高了網(wǎng)絡(luò)吞吐量。在地面網(wǎng)絡(luò)中,Vegas算法在提升吞吐量和降低丟包率方面均優(yōu)于Reno 算法[]。然而Vegas算法應(yīng)用于衛(wèi)星網(wǎng)絡(luò)時,仍存在諸多問題:一是通信過程中RTT測算不夠準確,導致網(wǎng)絡(luò)擁塞判斷失誤;二是判斷擁塞的兩個閾值 a 和 β 固定,不適合高動態(tài)的衛(wèi)星網(wǎng)絡(luò)。因此,許多學者針對Vegas算法開展相關(guān)優(yōu)化,以使其更好適應(yīng)衛(wèi)星網(wǎng)絡(luò)傳輸特點。例如,Vegas-A算法動態(tài)調(diào)整 a 和 β 參數(shù)值;Vegas_sat算法通過計算移動衛(wèi)星節(jié)點間距離確定最小往返時延,替代原Vegas中的BaseRTT變量。
但上述算法未區(qū)分RTT變化的具體成因。為此,本文基于Vegas算法理論,在擁塞避免階段采用新的時延計算方法,區(qū)分RTT變化的來源,并細分衛(wèi)星通信網(wǎng)絡(luò)狀態(tài),更靈活地調(diào)整cwnd值并動態(tài)優(yōu)化 a 和 β 參數(shù),以提高帶寬利用率。
1Vegas算法簡介
Vegas通過往返時延的變化估計網(wǎng)絡(luò)擁塞程度,并據(jù)此調(diào)整發(fā)送端的發(fā)送速率。該算法不僅關(guān)注當前網(wǎng)絡(luò)狀態(tài),還具備前瞻性,能夠預(yù)測并提前響應(yīng)即將發(fā)生的擁塞,從而有效避免或減輕擁塞對數(shù)據(jù)傳輸性能的影響。
在擁塞避免階段,Vegas算法每個RTT周期計算期望吞吐量與實際吞吐量的差值 δ ,以此作為調(diào)整cwnd的依據(jù),計算公式如下:
其中,實際吞吐量Actual cwnd/RTT,期望吞吐量Expected
cwnd/BaseRTT,BaseRTT表示所有已測量往返時延的最小值;RTT表示數(shù)據(jù)包傳輸?shù)耐禃r延; a 和 β 表示閾值的上下限,初值通常分別取為1和3。
擁塞窗口調(diào)整規(guī)則為:若 δ 小于 a ,表明當前網(wǎng)絡(luò)較空閑,可適當增大擁塞窗口值;若 δ 大于 β ,則說明網(wǎng)絡(luò)發(fā)生擁塞,需減小擁塞窗口值;若 δ 處于 a 和 β 之間,說明網(wǎng)絡(luò)狀態(tài)正常,擁塞窗口大小保持不變。
2 改進的擁塞避免階段
2.1 新的時延的計算方法
由于RTT由正向鏈路傳輸時延和反向鏈路傳輸時延組成,這意味著cwnd的大小不僅受正向鏈路擁塞、丟包等問題影響,同時也受反向鏈路同類問題的影響。因此當反向鏈路發(fā)生擁塞時,RTT會增大,發(fā)送端因長時間收不到ACK而誤認為正向鏈路擁塞,進而盲目降低擁塞窗口,造成帶寬資源浪費。實際上此時正向鏈路通信狀態(tài)正常,卻因誤判導致帶寬利用率下降。
基于此,本文改進RTT計算方式,提出一種新的時延計算方法,旨在濾除反向鏈路擁塞對正向鏈路的影響。通過將新算法計算的RTT作為擁塞窗口控制機制,可通過監(jiān)測新時延更精準判斷正向鏈路是否擁塞:當正向鏈路擁塞時,算法及時調(diào)整擁塞窗口以減小吞吐量;若反向鏈路擁塞,時延變化不會影響窗□調(diào)整,從而避免帶寬資源的不必要浪費。
具體方法為:首先獲取BaseRTT,并利用時間戳計算此時的正向傳輸時延 RTTf 及反向傳輸時延RTTb ,計算 K=RTTb/RTTf 的值。在后續(xù)數(shù)據(jù)傳輸中持續(xù)監(jiān)測新的正向傳輸時延RTT'和反向時延 RTTb 通過 K 值與當前測得的 RTTf′ 相乘,得到理想狀態(tài)下的反向傳輸時延 RTTbr 。對比 RTTb′ 與 RTTbr :若反向鏈路實際時延大于理想時延 RTTb′gt;RTTbr ),則表明反向鏈路出現(xiàn)擁塞,此時定義新的往返時延 RTTN =RTTf′+RTTbr ;若反向鏈路實際時延未超過理想時延'RTTb'?RTTbr ),說明反向鏈路未發(fā)生擁塞,定義此時定于新的往返時延定義此時定于新的往返時延RTTN=RTTf*+RTTb 。
2.2動態(tài)調(diào)整相關(guān)參數(shù)
Vegas算法中, a 和 β 的值通常固定不變,導致cwnd變化過于保守,在一定程度上限制了Vegas算法的性能。本文針對這一問題,結(jié)合Vegas算法擁塞避免階段的思想,通過對時延變化的進一步分析,動態(tài)調(diào)整 a 和 β 的值,使cwnd的調(diào)整更靈活、更符合實際需求,從而讓cwnd能夠更高效快速地達到理想狀態(tài),以此提高鏈路帶寬利用率。
本文擁塞避免核心算法的設(shè)計思路如下:
假設(shè)發(fā)送端分別在 St , St+1 、 St+2 時刻發(fā)送三個連續(xù)的數(shù)據(jù)分組 packet、packet 、packe tt+2 ,并分別在Rt? Rt+1 、 Rt+2 時刻收到對應(yīng)的ACK。引入相對時延Dq[10] (當前分組與上一個分組的ACK接收時間間隔與發(fā)送時間間隔之差)和時延差 Dd 的概念,用于判斷衛(wèi)星通信網(wǎng)絡(luò)的狀態(tài)。其中:
通過 Dq 的值可初步判斷網(wǎng)絡(luò)是否發(fā)生擁塞,再通過 Dd 的值進一步判斷擁塞程度的變化速度。
改進算法的核心思想是在Vegas算法及前文所述新時延計算方式的基礎(chǔ)上,結(jié)合 Dq 和 Dd 對衛(wèi)星通信網(wǎng)絡(luò)狀態(tài)進行細分,并根據(jù)不同網(wǎng)絡(luò)狀態(tài)對cwnd及 α 、β 進行靈活調(diào)整:
1)在數(shù)據(jù)傳輸過程中,持續(xù)監(jiān)測吞吐量變化,
對比當前 t 時刻吞吐量 Th(t) 與 t 時刻前一個RTT內(nèi)測得的吞吐量 Th(t-1) 。2)通過 Th(t) 與 Th(t-1) 的大小對比,結(jié)合 Dq的值判斷網(wǎng)絡(luò)是否發(fā)生擁塞。3)根據(jù) Dd 的大小判斷網(wǎng)絡(luò)狀態(tài)的變化速度。4)依據(jù)檢測到的網(wǎng)絡(luò)狀態(tài)調(diào)整cwnd及 a,β 的值。具體算法描述如下:1)當 α?δ?β 時,網(wǎng)絡(luò)處于穩(wěn)定或接近穩(wěn)定狀態(tài):如果 Th(t)gt;Th(t-1) ,表明網(wǎng)絡(luò)未飽和,可繼續(xù)增大擁塞窗口, cwnd=cwnd+1 ,同時增大 a 、 βa=a+1 、 β=β+1 。如果 Th(t)?Th(t-1) ,表明網(wǎng)絡(luò)趨近飽和或趨向擁塞,需結(jié)合 Dq 進一步判斷:如果Dq?0 ,表明網(wǎng)絡(luò)發(fā)生擁塞的趨勢變小,可繼續(xù)嘗試增大擁塞窗口、 a β ,即 cwnd=cwnd+1 、 a=a+1 、 β =β+1 ;如果 Dqgt;0 ,表明網(wǎng)絡(luò)發(fā)生擁塞的趨勢變大,需結(jié)合 Dd 進一步判斷:如果 Ddgt;0 ,表明時延差增大,網(wǎng)絡(luò)趨于擁塞的速度加劇, a 、 β 的值保持不變;如果 Dd?0 ,表明時延差減小,網(wǎng)絡(luò)趨于擁塞的速度減緩,cv 、 a=a+1 ! β=β+1 。
2)當 δ
如果 αgt;1 且 Th(t)gt;Th(t-1) ,擁塞窗口可加速增長, cwnd=cwnd+2 。如果 αgt;1 且 Th(t)?Th(t-1) 需進一步結(jié)合 Dq 判斷:如果 Dq?0 ,表明網(wǎng)絡(luò)暢通,cwnd cwnd+2、 a=a-1 、 β=β-1 ;如果 Dqgt;0 ,表明網(wǎng)絡(luò)有擁塞趨勢,c wnd=cwnd+1 、 a=a-1 、 β=β-1 。 如果 a=1 ,直接增加cwnd,cwnd .= cwnd+2。
3)當 δgt;β 時,期望吞吐量較高,表明實際網(wǎng)絡(luò)可能存在擁塞:
如果 Th(t)gt;Th(t-1) ,吞吐量有所提升,cwnd保持不變, a=a+1 , β=β+1 。如果 Th(t)?Th(t-1) 需進一步結(jié)合 Dq 判斷:如果 Dq?0 ,表明網(wǎng)絡(luò)擁塞程度減小,擁塞窗口、 a : β 的值暫不調(diào)整,繼續(xù)監(jiān)測網(wǎng)絡(luò)狀況;如果 Dqgt;0 ,需結(jié)合 Dd 進一步判斷:如果 Ddgt;0 ,表明網(wǎng)絡(luò)擁塞程度加劇,cwnd σ=σ cwnd-1,如果cwnd lt;2 則令cwnd =2 , a=a-1 、 β=β-1 如果 Dd?0 ,表明擁塞程度減緩,cwnd保持不變,a=a-1 、 β=β-1 。
算法流程圖如圖1所示。
圖1算法流程圖
3 仿真分析
3.1 仿真參數(shù)設(shè)置
本文仿真實驗對象采用銥星星座,利用STK仿真軟件構(gòu)建衛(wèi)星模型。銥星系統(tǒng)是基于衛(wèi)星的無線個人通信網(wǎng)絡(luò),可連接地球上幾乎任何區(qū)域。銥星系統(tǒng)由66顆運行衛(wèi)星組成,配置于6個近極軌道平面,每個軌道平面運行11顆衛(wèi)星,實現(xiàn)地球全域覆蓋。參數(shù)設(shè)置如表1所示。
表1銥星星座參數(shù)
在STK中搭建銥星星座模型,3DGraphics如圖2所示。
圖23DGraphics仿真圖
3.2 仿真結(jié)果
3.2.1 本文算法的性能測試
首先驗證本文算法的可行性,在通信誤碼率為10-5 條件下對本文算法的吞吐量進行測試仿真。仿真結(jié)果如圖3所示。
圖3本文算法吞吐量隨時間的變化
由圖3可以看出本文提出的算法吞吐量可以保持在較高狀態(tài),具有一定的可行性。
下文將對比本文算法和Vegas算法在不同通信環(huán)境下的吞吐量和帶寬利用率情況,進一步驗證本文算法的可行性。
3.2.2 不同RTT下的吞吐量
本次仿真實驗基于的通信誤碼率為 10-6 ,對比了Vegas算法和本文算法在RTT分別為 30ms 和 200ms 下的吞吐量變化。仿真結(jié)果如圖4、圖5所示。
圖4RTT為 30ms 時吞吐量隨時間的變化
圖5RTT為 200ms 時吞吐量隨時間的變化
通過上述兩組仿真結(jié)果可知,當RTT為 30ms 時,由于此時時延較小,衛(wèi)星網(wǎng)絡(luò)與地面網(wǎng)絡(luò)環(huán)境差異不大,因此兩者在吞吐量方面較為接近。而當RTT為200ms 時,盡管本文算法與原始Vegas算法的吞吐量較RTT為 30ms 時均有所下降,但本文算法優(yōu)勢更為明顯,吞吐量較原算法有一定提升。
3.2.3 帶寬利用率
本次仿真實驗基于的通信誤碼率為 10-6 ,對比了Vegas算法和本文的算法帶寬利用率隨時間的變化情況。仿真結(jié)果如圖6所示。
圖6帶寬利用率隨時間的變化
可以看出,本文算法在帶寬利用率方面比原始Vegas算法有所提升。這是由于本文提出的算法能夠更準確地判斷網(wǎng)絡(luò)狀態(tài),使擁塞窗口的調(diào)整更趨合理,進而提升了帶寬利用率。
4結(jié)論
本文研究了Vegas算法在衛(wèi)星網(wǎng)絡(luò)中的應(yīng)用,分析了該算法應(yīng)用于衛(wèi)星通信時存在的問題。從擁塞避免階段入手,采用新時延計算方法替代原往返時延進行相關(guān)數(shù)據(jù)計算,并根據(jù)網(wǎng)絡(luò)實際狀態(tài),通過更靈活的機制調(diào)整cwnd,同時動態(tài)優(yōu)化 a ! β 參數(shù),以提高帶寬利用率。實驗結(jié)果表明,在相同仿真條件下,本文優(yōu)化算法與Vegas算法相比,吞吐量和帶寬利用率均有提升。
參考文獻:
[1]蘭松.衛(wèi)星通信中基于深度強化學習的資源分配與可
靠性研究[D].南京:南京信息工程大學,2023.
[2]李靜森.衛(wèi)星通信網(wǎng)絡(luò)擁塞控制算法研究[D].大連:
大連大學,2014.
[3]劉暢.面向低軌衛(wèi)星網(wǎng)絡(luò)端到端擁塞控制機制研究
[D].北京:北京郵電大學,2023.
[4]JIDD,YUSM,ZHUH,etal.ResearchonTCP
Control Optimization in Satellite Communication Network
[C]//2024 IEEE 7th Information Technology, Networking,
Electronic and Automation Control Conference (ITNEC).
Chongqing:IEEE,2024:1093-1101.
[5]張奎,李丙春.基于TCPVegas擁塞控制算法的改進研究[J].新疆師范大學學報:自然科學版,2021,40(1):18-21+48
[6]YANGXH,WU W,JIAO HZ.Research on TCPTransmission Performance Optimization Based on Satellite Communication Conditions [C]//2024 4th International ConferenceonNeuralNetworks,Information and Communication Engineering(NNICE).Guangzhou:IEEE, 2024:1100-1103.
[7]王立君.基于TCP網(wǎng)絡(luò)擁塞的算法研究[D].:北方工業(yè)大學,2023.
[8]SRIJITHKN,JACOBL,ANANDAAL.TCP
Vegas-A: Improving the Performance of TCP Vegas [J].ComputerCommunications,2004,28(4):429-440.
[9]潘成勝,宣景朋,魏德賓,等.衛(wèi)星網(wǎng)絡(luò)中基于BaseRTT計算的TCPVegas算法改進[J].系統(tǒng)仿真學報,2012,24(6):1254-1258.
[10]王建峰,黃國策,陳才強,等.GEO衛(wèi)星網(wǎng)中基于擁塞狀態(tài)區(qū)分的TCPVegas改進算法[J].計算機科學,2008(11):70-73.
作者簡介:許向陽(1967—),男,漢族,河北石家莊人,副教授,碩士,研究方向:IP網(wǎng)絡(luò)、多媒體通信、網(wǎng)絡(luò)安全、衛(wèi)星通信;高慧敏(1995一),女,漢族,山東濟寧人,碩士在讀,研究方向:衛(wèi)星通信;張一帆(2001一),男,漢族,河南信陽人,碩士在讀,研究方向:衛(wèi)星通信。