姜月秋 郭秦超 關世杰 關啟學(沈陽理工大學 遼寧 沈陽 110159)
衛星通信網絡具有信息傳播距離遠、受地理位置因素影響小等特點,如今已經成為重要的無線通信方式之一。尤其在地理偏遠、人員稀少以及船只、飛行器通信方面更加不可或缺。但是由于衛星通信中空間、時間中一些因素的影響,導致信息傳輸中存在著傳播延時長、誤碼率高、往返鏈路不對稱,以及間歇性連接等問題[1]。原始的TCP傳輸協議以Reno為基礎,但其較強的侵略性會導致擁塞窗口的嚴重震蕩,而性能高度依賴于擁塞丟失數據后恢復算法,如快速重傳和重傳超時,這些因素也限制了吞吐量的增長[2-3]。所以對衛星通信傳輸層的改進將有助于改善衛星傳輸效率[4]。最近幾年出現比較有名的TCP協議的改進方法:TCP-Hybla將網絡傳輸時延與傳輸速率獨立,TCP-Westwood實時評估網絡的帶寬,以及美國航天局設計的SCPS協議[5]。這些改進方法都為提高衛星通信效率產生了一定的作用和良好的思路。
(1) 傳播數據高誤碼率 由于衛星通信的長距離傳輸數據、無線傳輸的不可靠性以及天氣地理等因素的影響,傳輸數據的誤碼率通常達到10-7~10-4左右[7]。然而在TCP傳輸協議中數據的誤默認是由于信息窗口的擁塞造成的,故在高誤碼率的衛星通信中TCP協議將會受到極大影響。
(2) 傳播數據高延時 在與GEO衛星或空間站通信中,單向傳輸延時一般在250 ms~280 ms[8]。較長的傳播延時讓TCP擁塞窗口變化緩慢,并且長傳播延時讓信息誤碼率提高,嚴重影響TCP協議傳輸性能。
(3) 傳播信道不對稱 由于收發天線功率、建立衛星通信網所需成本以及相關的技術要求等問題的限制,衛星正向鏈路傳輸帶寬要遠遠大于反向鏈路傳輸帶寬。這種不對稱性會造成確認速度慢、數據突發等問題,從而降低網絡吞吐量。
由于地面傳輸協議TCP協議的慢啟動和保守的擁塞控制機制不適合在高帶寬、往返時間長的網絡中批量傳輸數據[9],NASA JPL(美國航空航天局噴氣動力實驗室) 和CCSDS組織共同研究制作一套網絡協議,此協議可以用來減小上述問題的發生。這套協議主要分為四個方面,SCPS網絡協議(SCPS-NP)、安全協議(SCPS-SP)、傳輸協議(SCPS-TP)和文件協議(SCPS-FP),其中傳輸協議SCPS-TP,針對衛星網絡帶寬不對稱、誤碼率高、延時長等采取了有效措施,在SCPS中是必須使用的。
在整個SCPS協議中,NP支持信息經過的信息傳輸鏈路是面向連接和無連接,SP保證了端到端的信息安全性和完整性,FP是對航天器指令以及控制信息下載做優化處理。所以對SCPS-TP的研究與改進是改善整個SCPS協議性能的關鍵。
SCPS-TP協議中使用了SNACK部分代替ACK幀傳輸,提高了反向確認幀效率、TP包頭壓縮、往返延遲估計以及特有的擁塞控制等技術來保證衛星通信過程中數據信息的安全性與時效性。其中擁塞控制方式有Van Jacobson[10]和Vegas兩種。
Van Jacobson是基于傳統TCP協議的擁塞控制方法,處于慢啟動時以每經過一個RTT窗口就增大一倍的指數形式增長,超過閾值后窗口以線性方式增長,出現丟包則認為出現擁塞,窗口回到初始值重新進入慢啟動。
Vegas方法在慢啟動階段是每經過兩個RTT對窗口進行一次加倍調整,增長頻率低。而在連接建立后Vegas會獲得一個最小往返時延BaseRTT,得到一個期望吞吐量:
ThE=cwnd/BaseRTT
實際吞吐量:
ThA=cwnd/RTT
用期望吞吐量與實際吞吐量的差值來判斷鏈路的使用情況:
diff=(ThE-ThA)/BaseRTT
并據此調節擁塞窗口的大小:

式中:α和β為定義的2個門限值,并且0<α<β。當diff<α時說明網絡狀況良好,可以使窗口遞增,當在α與β之間時表示有輕微的擁塞,但是數據傳輸并無大影響,保持窗口,當diff>β時表示已經發生擁塞,需要減小窗口大小以減輕擁塞狀況,根據經驗值α和β分別為1和3。
SCPC-TP中Vegas是以往返RTT為基礎,對擁塞窗口進行控制。但是在衛星網絡中存在影響往返延時的因素較多,比如正向鏈路信息傳輸狀況良好,反向鏈路產生了擁塞而導致了RTT的增大;或者反向確認幀丟失,使正向計時器超時導致正向鏈路判定為正向擁塞引起;以及通信時衛星之間多跳傳輸導致拓撲結構的改變導致延時增加等。由于Vegas并沒有良好的判斷機制來區別這些非擁塞因素對RTT的影響,所以會默認為正向鏈路擁塞,從而減小擁塞窗口來減小RTT,實際上卻導致在未發生擁塞情況下依然減小擁塞窗口,傳輸效率難以提高。
針對這種情況,本文對RTT進行新的測算。測算中以單向傳輸時延(RTT-S)代替往返傳輸時延作為對擁塞窗口的控制,這樣窗口的變化就不再受反向丟包、擁塞、錯序等不利因素的影響,能夠加大對正向鏈路的利用效率。
對α和β改進算法有Vegas-H[11]、Vegas-b[12]及控制diff區間的TCP New Vegas[13]等幾種算法,都是作用于α和β的值考慮,改變其固定值為可變化值,隨著其擁塞窗口的變化小幅調整門限值以提高效率。但是研究發現擁塞窗口的調整方式也是影響傳輸效率的重要因素,由于窗口的變化只與本次diff的值有關,有時非擁塞因素或可自消化擁塞等都會使窗口變化,這樣使得窗口波動大、利用率不高。所以本算法將對下一次窗口調整進行預測調整,使窗口變化更符合實際情況。
主要思想是利用三次單向傳輸時延RTT-S1、RTT-S2、RTT-S3的變化情況以及變化率幅度因子Z來控制擁塞窗口的變化。根據幅度因子Z與前后RTT-S的變化情況DTR-1(RTT-S1與RTT-S2的差值)和DTR-2(RTT-S2與RTT-S3的差值)將窗口變化分為單線型 和波動型兩大類分別處理,可以提前判斷擁塞情況是否要到來,從而采取相應措施,使傳輸速率更加平穩。對擁塞避免階段窗口調整的階段頻繁度與增長、減小頻度因素進行分析后發現,cwnd在每次調整時變化幅度,以及α和β值的大小都會影響傳輸效率,所以在上述基礎上對以下兩個方面也進行了相關的改進。
在小于α階段時,衛星通信狀況理論上處于良好狀態,在這階段可以將整個增長階段分為兩部分,在不同的部分依據影響因子加快增長方式。
當diff小于(2/3)×α時,cwnd依據幅度因子將整體分為幾種情況,并以窗口數為3×(1-diff)的增長方式作為主要增長,當diff在(2/3)×α與α之間時,cwnd以傳統線性增加方式增長窗口數量。
在α和β之間時,如果大于(α+β)/2,窗口基本處于飽和狀態,此時每次窗口調整幅度為原來的一半。Vegas_pre算法此處對窗口的預測處理使窗口處于不斷調整狀態,避免窗口調整進入假死停止狀態,提高窗口容納量。
當diff大于β時,此時窗口已經達到可緩存的飽和狀態, 本部分算法將固定的門限值改為可動態調整的門限值。隨著不同的幅度因子與窗口階段的結合,對門限值進行小幅度動態調整。 如圖1所示是Vegas_pre算法流程框架。

圖1 Vegas_pre 算法的基本流程圖
本實驗使用Opnet14.5網絡仿真軟件模擬仿真環境,用以對該算法進行性能驗證。仿真模型庫為CCSDS協議模型庫,采用標準SCPS-TP通信協議,衛星采用GEO衛星單向延時為250 ms,業務為4個FTP流傳輸,以及如表1所給的仿真參數。仿真中以衛星作為信息源給地面發送信息并接收返回確認,最終仿真實驗的網絡拓撲結構如圖2所示。

圖2 實驗仿真拓撲結構圖

表1 仿真實驗參數取值
本實驗以誤碼率作為變量參數,獲取吞吐量的性能對比。如圖3、圖4分別為GEO衛星在10-5、10-6時,兩種算法的擁塞窗口比較。
通過對比下圖的仿真結果可以看出在誤碼率不相同的情況下Vegas_pre算法的吞吐量都要優于原始的Vegas算法,并且新算法吞吐量的大小波動要小于Vegas算法。其中誤碼率為10-6時,和傳統的Vegas算法相比,新算法吞吐量提高了62.2%。誤碼率為10-5的情況下,新算法的吞吐量提高了66%。并且當誤碼率從10-6變為10-5后,Vegas算法吞吐量降低了33.3%,新算法降低了28.5%,可見新算法的穩定性要高于Vegas算法。通過對兩個仿真結果的分析可知,新算法在吞吐量大小以及穩定性方面都有較好的提高,驗證了新算法的正確性。

圖3 誤碼率為10-6時吞吐量的變化

圖4 誤碼率為10-5時的吞吐量變化
Vegas_pre算法屏蔽反向傳輸所存在的不利因素,并且在窗口調整過程用變化幅度因子預測并控制窗口,使窗口調整更加的迅速與精確,提高了衛星網絡傳輸的效率。并通過Opnet仿真驗證算法的正確性。本算法復雜度低、效果改進明顯。
[1] Hu J L,Wang R H,Sun X,et a1.Memory dynamics for DTN Protocol in deep-space communications[J].Aerospace and Electronic Systems Magazine,2014,29(2):22.
[2] Cheng R S, Deng D J.Congestion control with dynamic threshold adaptation andcross-layer response for TCP Vegas over IEEE802.11 wireless networks[J].International Journal of Communication Systems, 2014, 27(11): 2918- 2930.
[3] Sreekumari P, Chung S H, Lee M, et al. T-DLRP: Detection of Fast Retransmission Losses Using TCP Timestamp for Improving the End-to-End Performance of TCP over Wireless Networks[J]. International Journal of Distributed Sensor Networks, 2013(3):1- 16.
[4] Jamali S, Alipasandi N, Alipasandi B. TCP Pegas: A PSO-based improvement over TCP Vegas[J]. Applied Soft Computing, 2015, 32:164- 174.
[5] 李連強, 朱杰, 楊宇濤, 等.衛星IP網絡的TCP擁塞控制算法性能分析[J].上海航天,2016,33(6):109- 114.
[6] 戴帥, 肖楠, 梁俊,等.基于處理時延的衛星網絡TCP擁塞控制算法[J].現代防御技術,2014,42(3):127- 134.
[7] 杜龍海, 吳雄君. 基于SCPS-TP的TCP協議加速器的研究與實現[J]. 無線電工程,2017,47(9):12- 15.
[8] 蔣華,黃鏡清,王鑫.MANET基于帶寬估計的TCP擁塞控制仿真[J].計算機工程與設計,2016,37(1):201- 205.
[9] Jaeobson V. Congestion Avoidance and Control[J]. Acm Sigcomm Computer Communication Review, 1988, 18(4):314- 329.
[10] 劉靖. 基于TCP Vegas的LTE網絡擁塞控制算法性能分析[J]. 遙測遙控, 2015, 36(1):70- 74.
[11] 王斌, 陳元琰, 馮偉,等. TCP Vegas-b:TCP Vegas改進算法[J]. 計算機工程與設計, 2011, 32(2):438- 441.
[12] 馮立波, 潘麗靜, 楊潤標,等. 一種適用于異構網絡的TCP New Vegas算法[J]. 大理學院學報, 2014, 13(6):10- 14.