李連強,朱 杰,楊宇濤,胡 珍
(1.上海交通大學 電子信息與電氣工程學院,上海 200240; 2.上海衛星工程研究所,上海201109)
衛星IP網絡的TCP擁塞控制算法性能分析
李連強1,朱 杰1,楊宇濤2,胡 珍2
(1.上海交通大學 電子信息與電氣工程學院,上海 200240; 2.上海衛星工程研究所,上海201109)
對用于衛星網絡傳輸控制協議(TCP)改進版本的TCP-Vegas,TCP-Hybla,TCP-Westwood三種擁塞控制算法網絡性能進行了仿真研究。在兩種實驗場景中用網絡仿真器和MATLAB軟件分析了三種算法的吞吐量、擁塞窗口和公平性等性能。其中:第一組兩個數據流的TCP擁塞控制算法相同,考驗各種算法在衛星鏈路中單獨存在時的性能;第二組以傳統地面網絡使用的TCP-Reno為對照數據流,考察各算法與Reno競爭時的性能。結果發現:三種算法的吞吐量均較Reno有所增大,Westwood提升最多,Hybla次之,Vegas最少;Vegas的擁塞窗口較小,Hybla,Westwood的擁塞窗口則較大;Hybla,Westwood的公平性良好,Vegas的公平性較差,甚至劣于Reno。分析為新擁塞控制算法研究提供了理論準備和仿真基礎,并提出了融合各改進版本TCP優點的研究方向。
衛星網絡; 傳輸控制協議; 擁塞控制算法; TCP-Vegas; TCP-Hybla; TCP-Westwood; 網絡仿真器; 吞吐量; 擁塞窗口; 公平性
隨著天地網絡一體化的發展,衛星通信數據量的增加,傳統的點對點衛星通信已不能滿足需求。未來的天基衛星通信將是基于IP的網絡式架構。傳統TCP是為實現地面網絡的可靠通信而開發的,如直接用于端對端的衛星網絡傳輸會因衛星網絡固有的長時延、高誤碼等因素而表現很不理想[1-3]。長時延的存在導致發送端擁塞窗口(cwnd)增長速度緩慢,慢啟動(SS)花費時間較長,進而影響吞吐量和傳輸速率,嚴重降低了TCP協議的傳輸性能[4]。衛星鏈路的高誤碼率會在兩個方面影響吞吐量:首先,出錯的數據須重傳,這將耽誤正常數據的傳送;其次,由于地面網絡通信中誤碼率較低,TCP發送端默認丟包是由網絡擁塞引起的,會盲目減少其cwnd,進而降低了吞吐量。針對衛星IP網絡這些特有問題,國內外的研究者提出了一系列的改進:如TCP-Vegas消除了傳統的TCP周期性擁塞發生現象,但相對來說吞吐量較低;TCP-Hybla將網絡傳輸時延與傳輸速率獨立,減小了衛星IP網絡大時延的影響,但擁塞次數會增加;TCP-Westwood實時評估網絡的帶寬,降低了衛星IP網絡高誤碼的影響[5-7]。本文以地面網絡中應用最廣的TCP-Reno作為參照,在不同的實驗場景中分析了上述三種改進版本的TCP算法,通過實驗仿真和對比,分析了各自的優缺點,為衛星IP網絡通信的可靠性研究提供參考[8]。
TCP的評價標準是影響評價結果的重要因素。關于協議性能標準的問題,目前尚無統一定論[9]。但對網絡自身性能來說,cwnd和數據流競爭公平性(Fairness Index)F是必要的,對e-Science科研應用來說,衡量TCP優劣的另一個重要指標是傳輸效率[10-11]。綜合上述因素,本文著重從協議的擁塞窗口變化、數據流競爭的公平性和吞吐量等方面進行評價。
1.1 吞吐量
衛星網絡通信發展的一個重要趨勢是要有更大的通信容量。在民事和軍事應用中,總希望能獲得實時的信息反饋,因此在評價TCP性能指標中,吞吐量至關重要。常用的公式為

(1)
式中:Qthroughput為吞吐量;Btot為接收的總信息;Ttot為接收總時長。
1.2 擁塞窗口
衛星網絡擁有非常大的時延帶寬積。以地面網絡cwnd上限64 kb為例,擁有100 Mb/s的GEO衛星鏈路,5 ms就能傳送完畢。GEO衛星鏈路的數據包傳送往返時間,即一般意義上的網絡傳輸時延(RTT)約540 ms,則發送端僅有0.09%的時間利用率。因此,在衛星IP網絡中希望能獲得較大的cwnd以增大網絡資源利用率,進而提升網絡傳輸的吞吐量,cwnd的一般性單位是最大報文長度(MSS)[12]。
1.3 公平性
若衛星網絡中存在多個數據流,每條數據流對應的TCP會爭搶有限的網絡資源,競爭力較弱的數據流得到的資源較少,這會導致網絡資源的不公平分配。設評價公平性的指標為F,則有

(2)
式中:N為數據流數量;xi為第i條數據流的吞吐量。F的大小為0~1。若F=1,則表明資源完全地公平分配,所有的數據流得到相同的網絡資源;若F=1/N,則公平性最差,所有的資源都被一條數據流占用[13]。
2.1 TCP-Reno
TCP-Reno是目前地面網絡中使用最廣的TCP版本之一,也是本文仿真實驗的一個參考。其擁塞控制算法主要由四部分組成:慢啟動(SS)、擁塞避免(CA)、快速重傳(FT)和快速恢復(FR)。Reno算法通過逐漸增大cwnd試探網絡擁塞狀態的底線,是一種被動的擁塞控制算法,其算法核心為
(3)
在SS,CA過渡階段,有1個cwnd的門限值稱為慢啟動閾值sstresh。
2.2 TCP-Vegas
TCP-Vegas對Reno算法進行了改進,其中最關鍵的是采用了新擁塞避免機制。Vegas算法根據實際吞吐量與期望吞吐量的差值控制cwnd尺寸,目的是保持網絡鏈路中始終有適當的空余。其算法核心如下。
a)計算期望吞吐量和Qexp實際吞吐量Qact,有
(4)
式中:Wsize為窗口尺寸;R,Rmin分別為RTT及檢測到的最小RTT。
b)定義新變量
D=(Qexp-Qact)·Rmin.
(5)
c)作出調整
(6)
式中:α,β為參數。
實際吞吐量與期望吞吐量的差值越大,表明鏈路漸趨擁塞,這時需減小傳輸速率,β可激發此減小。與之相反,若兩者的差值越來越小,則表明鏈路還有較大可用資源,這時可增大傳輸速率,α可激發此增大[14]。
2.3 TCP-Hybla
TCP-Hybla是基于大時延網絡提出的,契合了衛星網絡的特點。Hybla算法將傳輸速率獨立于網絡時延之外。當某個數據流的RTT值小于既定的參考RTT(R0)時,Hybla算法將采用與地面標準TCP相同的策略,否則Hybla會增加擁塞窗口以補償由RTT增加帶來的吞吐量降低的問題[15]。算法核心為
Wcwnd(i+1)=
(7)
式中:ρ=R/R0。當ρ接近1時,表明網絡擁塞的能性最低,無需補償傳輸速率。
2.4 TCP-Westwood
TCP-Westwood針對衛星網絡的高誤碼特點,其性能良好。其方法要點是發送端通過TCP連接上返回確認的平均速率對端到端可用帶寬作出估計。
當網絡發生擁塞,發送方使用帶寬估值。可較傳統TCP盲目將cwnd減半,這種恢復機制可將cwnd設置得更準確,特別是在高誤碼環境中能取得較高的鏈路利用率[16]。算法核心為

(8)
(9)

本文用NS2仿真平臺考察各種版本的擁塞控制算法在衛星IP網絡中的性能表現,網絡拓撲使用雙數據流模式,如圖1所示。設網絡參數為星地鏈路帶寬10 Mb/s,延遲1 ms,無誤碼;星間鏈路帶寬1 Mb/s,延遲20 ms,誤碼率1%。該網絡環境中共有兩組數據流,共享一個衛星鏈路,均采用FTP應用,每個數據流持續連接時間10 s。

圖1 網絡拓撲Fig.1 Simulation topology
仿真使用節點和鏈路在腳本中設置如下:
#建立結點
set s1 [$ns node]
set s2 [$ns node]
set sat1 [$ns node]
set sat2 [$ns node]
set r1 [$ns node]
set r2 [$ns node]
#建立鏈路
$ns duplex-link $s1 $sat1 10Mb 1ms DropTail
$ns duplex-link $s2 $sat1 10Mb 1ms DropTail
$ns duplex-link $sat2 $r1 10Mb 1ms DropTail
$ns duplex-link $sat2 $r2 10Mb 1ms DropTail
$ns duplex-link $sat1 $sat2 1Mb 20ms DropTail
本文共完成兩組仿真實驗。第一組試驗兩個數據流的TCP擁塞控制算法相同,考驗各擁塞控制算法在衛星鏈路中單獨存在時的表現。第二組實驗以Reno作為一條對照數據流,另一條數據流分別是Vegas,Hybla,Westwood,考察不同改進版的TCP算法在與Reno競爭時的表現能力。
兩組實驗獲得的Reno擁塞控制算法吞吐量如圖2所示。

圖2 Reno平均吞吐量Fig.2 Average throughput of Reno
由圖2可知:在第一組實驗中,當數據流均為Reno時吞吐量425 kb/s;在第二組實驗中,Reno與Vegas共存時吞吐量516 kb/s,Reno與Hybla共存時吞吐量217 kb/s,Reno與Westwood共存時吞吐量161 kb/s。
兩組實驗獲得的Vegas,Hybla,Westwood三個改進版本的擁塞控制算法的吞吐量如圖3所示。

圖3 改進版本TCP的平均吞吐量Fig.3 Average throughput of enhanced TCPs
由圖3可知:Vegas在兩組實驗中的吞吐量分別為443,416 kb/s;Hybl的吞吐量分別為460,611 kb/s;Westwood吞吐量分別為470,612 kb/s。
根據圖2、3,第一組實驗中Reno的吞吐量最低,這是由其固有的為地面網絡開發的局限性導致的,而改進后的Vegas,Hybla,Westwood較Reno吞吐量都有增大,其中Vegas提升最少,Hybla居中,Westwood最多。這是因為Vegas采取的是主動的擁塞控制算法,根據吞吐量的差值提前避免擁塞的發生,對衛星網絡資源的利用率低于另外兩種改進版本,Westwood一直利用ACK信息計算衛星網絡的實時帶寬,故其利用率最高。
根據圖3觀察前后兩組實驗中各改進版本TCP吞吐量的變化。可發現Hybla,Westwood的吞吐量均有上升,Westwood的吞吐量依舊最大,說明這兩個版本的TCP競爭公平性良好,可在有限的衛星IP網絡中搶占更多的網絡資源,而Vegas的吞吐量不增反減,衛星網絡資源甚至被Reno搶走部分,競爭公平性最差。
在第二組實驗中,參照標準流均為Reno擁塞控制算法,為直觀體現各改進版本的TCP擁塞窗口變化,在同一張圖中進行對比,結果如圖4所示。
由圖4可知:在與Reno競爭衛星IP網絡資源時,Vegas的擁塞窗口始終較小,而Hybla,Westwood的擁塞窗口則較大,這也間接反映了Vegas擁塞控制算法吞吐量低和競爭公平性較差的性質,同時也從擁塞窗口的角度解釋了Hybla,Westwood的吞吐量較大的原因。
兩組實驗中Vegas,Hybla,Westwood擁塞控制算法的擁塞窗口的變化分別如圖5~7所示。

圖5 Vegas擁塞窗口變化Fig.5 Vegas-cwnd dynamics

圖6 Hybla擁塞窗口變化Fig.6 Hybla-cwnd dynamics

圖7 Westwood擁塞窗口變化Fig.7 Westwood-cwnd dynamics
由圖5~7可知:Vegas的擁塞窗口在兩組實驗中始終保持較平穩,說明其對衛星IP網絡的擁塞狀態的預判起到了一定的作用,擁塞發生的次數最少;Hybla,Westwood在與Reno競爭衛星IP網絡資源時擁塞窗口均有所增大,這也對應了它們在第二組實驗中吞吐量增大及自身競爭公平性更強的特點,其中Hybla的擁塞窗口的峰值雖然最大,但其振蕩也最明顯。究其原因是它將傳輸速率獨立于網絡時延外,傳輸性能受時延的約束較小,在衛星IP網絡中可有較高的性能表現,但又不像Vegas,Westwood一樣提前獲知一定的衛星IP網絡的狀態,故擁塞發生次數較多,擁塞窗口振蕩劇烈且頻繁。
隨著天地網絡一體化的發展,衛星IP網絡通信在未來將會起到很大的作用。TCP協議作為一種端到端的可靠協議解決方案在地面網絡中取得了很大的成功,但在往返時延大、誤碼率高的衛星通信環境中表現并不理想。因此,為獲得更好的傳輸效果,對TCP進行適當的修改是必要的。本文通過仿真驗證了三種改進版本的TCP。分析了吞吐量、擁塞窗口和競爭的公平性以觀察其在衛星網絡通信中的性能。值得注意的是,Vegas算法雖然在競爭的公平性中表現較差,但其利用RTT的變化預測網絡擁塞狀態,當網絡出現擁塞趨勢時,就采取主動擁塞避免的機制,減少了傳統的TCP周期性的擁塞發生。Hybla將傳輸速率與網絡時延獨立,利用增大擁塞窗口的方式補償由于RTT增加產生的吞吐量降低的問題,在衛星網絡通信中也有很大的優勢。Westwood相較于傳統TCP算法簡單地將丟包作為網絡擁塞發生的依據,并未考慮網絡實際的帶寬狀態,利用帶寬估計的算法合理調整擁塞窗口,從而可提高網絡傳輸的性能,在高誤碼的衛星網絡環境中有很大的作用。后續將圍繞以上三種算法的優點,提出一種針對衛星網絡環境特點的綜合性擁塞控制算法。
[1] HU Y, LI V O K. Satellite-based Internet: a tutorial[J]. Communications Magazine IEEE, 2001, 39(3): 154-162.
[2] BARAKAT C, ALTMAN E, DABBOUS W. On TCP performance in a heterogeneous network: a survey[J]. IEEE Communications Magazine, 2000, 38(1): 40-46.
[3] DAWKINS S, GLOVER D, GRINE R, et al. Ongoing TCP research related to satellites[J]. Letf Rfc, 2000, 2760(2): 200-0.
[4] 謝希仁. 計算機網絡[M]. 第5版. 北京: 電子工業出版社, 2012.
[5] BRAKMO L S, O'MALLEY S W, PETERSON L L. TCP Vegas[J]. AcmSigcomm Computer Communication Review, 1994, 24(4): 24-35.
[6] CAINI C, FIRRINCIELI R. TCP Hybla: a TCP enhancement for heterogeneous networks[J]. International Journal of Satellite Communications & Networking, 2004, 22(5): 547-566.
[7] MASCOLO S, CASETTI C, GERLA M, et al. TCP westwood: bandwidth estimation for enhanced transport over wireless links[C]// Proceedings of the 7th annual International Conference on Mobile Computing And Networking. [S. l.]: ACM, 2001: 287-297.
[8] SHINDE P K, CHOPDE N R. Performance analysis of TCP congestion control algorithms[J]. International Journal of Science, Engineering and Computer Technology, 2014, 4(4): 100-102.
[9] FLOYD S. Metrics for the evaluation of congestion control mechanisms[C]// Emerging Technologies and Factory Automation, 2003, Proceedings. ETFA′03. [S. l.]: IEEE, 2008: 383-389.
[10] CHIU D M, JAIN R. Analysis of the increase and decrease algorithms for congestion avoidance in computer networks[J]. Computer Networks & Isdn Systems, 1989, 17(1): 1-14.
[11] 王國棟, 任勇毛, 李俊. TCP改進協議在高速長距離網絡中的性能研究[J]. 通信學報, 2014, 35(4): 81-90.
[12] LEFFLER S J, KARELS M J. Trailer encapsulations[Z]. University of California at Berkeley, RFC 893, 1984.
[13] 侯曉謙. 衛星網絡的TCP擁塞控制算法的研究[D]. 沈陽: 沈陽理工大學, 2015.
[14] 張麗娟. 一種改進的Vegas擁塞控制算法及其在Linux網絡中的實現[D]. 吉林: 吉林大學, 2011.
[15] 李渝. 民航移動通信網絡TCP擁塞控制策略研究[D]. 重慶: 重慶大學, 2013.
[16] 王軍. 衛星通信中基于帶寬估計的TCP傳輸控制算法研究[D]. 武漢: 華中科技大學, 2008.
Evaluation of TCP Congestion Control Algorithms on Satellite IP Networks
LI Lian-qiang1, ZHU Jie1, YANG Yu-tao2, HU Zhen2
(1. School of Electronic Engineering, Shanghai Jiao Tong University, Shanghai 200240, China;2. Shanghai Institute of Satellite Engineering, Shanghai 201109, China)
The network performances of three enhanced transmission control protocol (TCP) for satellite were analyzed through simulation in this paper, which were TCP-Vegas, TCP-Hybla and TCP-Westwood. The throughput, congestion window and fairness index of the three algorithms in two scenarios were studied using Network Simulator 2 (NS2) and MATLAB software. The one scenario was that the two data flux had the same congestion algorithm, which was used for studying performance of each congestion algorithm existing alone in satellite IP link. And the other scenario was that one data flux was one of the three congestion algorithms and the other was TCP-Reno which was served as reference, which was used for studying the performance of the three congestion algorithms while comparing with TCP-Reno. It found that the throughputs of the three congestion algorithms were larger than that of TCP-Reno. TCP-Westwood was the biggest, TCP-Hybla was the second and TCP-Vegas was the least. Congestion window of TCP Vegas was small and congestion windows of TCP-Hybla and TCP-Westwood were large. Fairness index of TCP-Hybla and TCP-Westwood were good and fairness index of TCP-Vegas was not good even worse than that of TCP-Reno. The paper has provided a theoretical base and simulation base for developing new congestion algorithm. The research suggestion has been given for integration of various enhanced version of TCP.
Satellite networks; Transmission control protocol (TCP); Congestion control algorithms; TCP-Vegas; TCP-Hybla; TCP-Westwood; Network Simulator 2 (NS2); Throughput; Congestion window; Fairness index
1006-1630(2016)06-0109-06
2016-07-07;
2016-07-20
國家自然科學基金資助(61271349,61371147,11433002);上海航天科技創新基金資助(SAST2015039)
李連強(1994—),男,博士生,主要研究方向為網絡通信與網絡協議。
TN927
A
10.19328/j.cnki.1006-1630.2016.06.016