李連強,朱 杰,楊宇濤,胡 珍
(1.上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240; 2.上海衛(wèi)星工程研究所,上海201109)
衛(wèi)星IP網(wǎng)絡(luò)的TCP擁塞控制算法性能分析
李連強1,朱 杰1,楊宇濤2,胡 珍2
(1.上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240; 2.上海衛(wèi)星工程研究所,上海201109)
對用于衛(wèi)星網(wǎng)絡(luò)傳輸控制協(xié)議(TCP)改進版本的TCP-Vegas,TCP-Hybla,TCP-Westwood三種擁塞控制算法網(wǎng)絡(luò)性能進行了仿真研究。在兩種實驗場景中用網(wǎng)絡(luò)仿真器和MATLAB軟件分析了三種算法的吞吐量、擁塞窗口和公平性等性能。其中:第一組兩個數(shù)據(jù)流的TCP擁塞控制算法相同,考驗各種算法在衛(wèi)星鏈路中單獨存在時的性能;第二組以傳統(tǒng)地面網(wǎng)絡(luò)使用的TCP-Reno為對照數(shù)據(jù)流,考察各算法與Reno競爭時的性能。結(jié)果發(fā)現(xiàn):三種算法的吞吐量均較Reno有所增大,Westwood提升最多,Hybla次之,Vegas最少;Vegas的擁塞窗口較小,Hybla,Westwood的擁塞窗口則較大;Hybla,Westwood的公平性良好,Vegas的公平性較差,甚至劣于Reno。分析為新?lián)砣刂扑惴ㄑ芯刻峁┝死碚摐?zhǔn)備和仿真基礎(chǔ),并提出了融合各改進版本TCP優(yōu)點的研究方向。
衛(wèi)星網(wǎng)絡(luò); 傳輸控制協(xié)議; 擁塞控制算法; TCP-Vegas; TCP-Hybla; TCP-Westwood; 網(wǎng)絡(luò)仿真器; 吞吐量; 擁塞窗口; 公平性
隨著天地網(wǎng)絡(luò)一體化的發(fā)展,衛(wèi)星通信數(shù)據(jù)量的增加,傳統(tǒng)的點對點衛(wèi)星通信已不能滿足需求。未來的天基衛(wèi)星通信將是基于IP的網(wǎng)絡(luò)式架構(gòu)。傳統(tǒng)TCP是為實現(xiàn)地面網(wǎng)絡(luò)的可靠通信而開發(fā)的,如直接用于端對端的衛(wèi)星網(wǎng)絡(luò)傳輸會因衛(wèi)星網(wǎng)絡(luò)固有的長時延、高誤碼等因素而表現(xiàn)很不理想[1-3]。長時延的存在導(dǎo)致發(fā)送端擁塞窗口(cwnd)增長速度緩慢,慢啟動(SS)花費時間較長,進而影響吞吐量和傳輸速率,嚴(yán)重降低了TCP協(xié)議的傳輸性能[4]。衛(wèi)星鏈路的高誤碼率會在兩個方面影響吞吐量:首先,出錯的數(shù)據(jù)須重傳,這將耽誤正常數(shù)據(jù)的傳送;其次,由于地面網(wǎng)絡(luò)通信中誤碼率較低,TCP發(fā)送端默認(rèn)丟包是由網(wǎng)絡(luò)擁塞引起的,會盲目減少其cwnd,進而降低了吞吐量。針對衛(wèi)星IP網(wǎng)絡(luò)這些特有問題,國內(nèi)外的研究者提出了一系列的改進:如TCP-Vegas消除了傳統(tǒng)的TCP周期性擁塞發(fā)生現(xiàn)象,但相對來說吞吐量較低;TCP-Hybla將網(wǎng)絡(luò)傳輸時延與傳輸速率獨立,減小了衛(wèi)星IP網(wǎng)絡(luò)大時延的影響,但擁塞次數(shù)會增加;TCP-Westwood實時評估網(wǎng)絡(luò)的帶寬,降低了衛(wèi)星IP網(wǎng)絡(luò)高誤碼的影響[5-7]。本文以地面網(wǎng)絡(luò)中應(yīng)用最廣的TCP-Reno作為參照,在不同的實驗場景中分析了上述三種改進版本的TCP算法,通過實驗仿真和對比,分析了各自的優(yōu)缺點,為衛(wèi)星IP網(wǎng)絡(luò)通信的可靠性研究提供參考[8]。
TCP的評價標(biāo)準(zhǔn)是影響評價結(jié)果的重要因素。關(guān)于協(xié)議性能標(biāo)準(zhǔn)的問題,目前尚無統(tǒng)一定論[9]。但對網(wǎng)絡(luò)自身性能來說,cwnd和數(shù)據(jù)流競爭公平性(Fairness Index)F是必要的,對e-Science科研應(yīng)用來說,衡量TCP優(yōu)劣的另一個重要指標(biāo)是傳輸效率[10-11]。綜合上述因素,本文著重從協(xié)議的擁塞窗口變化、數(shù)據(jù)流競爭的公平性和吞吐量等方面進行評價。
1.1 吞吐量
衛(wèi)星網(wǎng)絡(luò)通信發(fā)展的一個重要趨勢是要有更大的通信容量。在民事和軍事應(yīng)用中,總希望能獲得實時的信息反饋,因此在評價TCP性能指標(biāo)中,吞吐量至關(guān)重要。常用的公式為
(1)
式中:Qthroughput為吞吐量;Btot為接收的總信息;Ttot為接收總時長。
1.2 擁塞窗口
衛(wèi)星網(wǎng)絡(luò)擁有非常大的時延帶寬積。以地面網(wǎng)絡(luò)cwnd上限64 kb為例,擁有100 Mb/s的GEO衛(wèi)星鏈路,5 ms就能傳送完畢。GEO衛(wèi)星鏈路的數(shù)據(jù)包傳送往返時間,即一般意義上的網(wǎng)絡(luò)傳輸時延(RTT)約540 ms,則發(fā)送端僅有0.09%的時間利用率。因此,在衛(wèi)星IP網(wǎng)絡(luò)中希望能獲得較大的cwnd以增大網(wǎng)絡(luò)資源利用率,進而提升網(wǎng)絡(luò)傳輸?shù)耐掏铝?,cwnd的一般性單位是最大報文長度(MSS)[12]。
1.3 公平性
若衛(wèi)星網(wǎng)絡(luò)中存在多個數(shù)據(jù)流,每條數(shù)據(jù)流對應(yīng)的TCP會爭搶有限的網(wǎng)絡(luò)資源,競爭力較弱的數(shù)據(jù)流得到的資源較少,這會導(dǎo)致網(wǎng)絡(luò)資源的不公平分配。設(shè)評價公平性的指標(biāo)為F,則有
(2)
式中:N為數(shù)據(jù)流數(shù)量;xi為第i條數(shù)據(jù)流的吞吐量。F的大小為0~1。若F=1,則表明資源完全地公平分配,所有的數(shù)據(jù)流得到相同的網(wǎng)絡(luò)資源;若F=1/N,則公平性最差,所有的資源都被一條數(shù)據(jù)流占用[13]。
2.1 TCP-Reno
TCP-Reno是目前地面網(wǎng)絡(luò)中使用最廣的TCP版本之一,也是本文仿真實驗的一個參考。其擁塞控制算法主要由四部分組成:慢啟動(SS)、擁塞避免(CA)、快速重傳(FT)和快速恢復(fù)(FR)。Reno算法通過逐漸增大cwnd試探網(wǎng)絡(luò)擁塞狀態(tài)的底線,是一種被動的擁塞控制算法,其算法核心為
(3)
在SS,CA過渡階段,有1個cwnd的門限值稱為慢啟動閾值sstresh。
2.2 TCP-Vegas
TCP-Vegas對Reno算法進行了改進,其中最關(guān)鍵的是采用了新?lián)砣苊鈾C制。Vegas算法根據(jù)實際吞吐量與期望吞吐量的差值控制cwnd尺寸,目的是保持網(wǎng)絡(luò)鏈路中始終有適當(dāng)?shù)目沼?。其算法核心如下?/p>
a)計算期望吞吐量和Qexp實際吞吐量Qact,有
(4)
式中:Wsize為窗口尺寸;R,Rmin分別為RTT及檢測到的最小RTT。
b)定義新變量
D=(Qexp-Qact)·Rmin.
(5)
c)作出調(diào)整
(6)
式中:α,β為參數(shù)。
實際吞吐量與期望吞吐量的差值越大,表明鏈路漸趨擁塞,這時需減小傳輸速率,β可激發(fā)此減小。與之相反,若兩者的差值越來越小,則表明鏈路還有較大可用資源,這時可增大傳輸速率,α可激發(fā)此增大[14]。
2.3 TCP-Hybla
TCP-Hybla是基于大時延網(wǎng)絡(luò)提出的,契合了衛(wèi)星網(wǎng)絡(luò)的特點。Hybla算法將傳輸速率獨立于網(wǎng)絡(luò)時延之外。當(dāng)某個數(shù)據(jù)流的RTT值小于既定的參考RTT(R0)時,Hybla算法將采用與地面標(biāo)準(zhǔn)TCP相同的策略,否則Hybla會增加擁塞窗口以補償由RTT增加帶來的吞吐量降低的問題[15]。算法核心為
Wcwnd(i+1)=
(7)
式中:ρ=R/R0。當(dāng)ρ接近1時,表明網(wǎng)絡(luò)擁塞的能性最低,無需補償傳輸速率。
2.4 TCP-Westwood
TCP-Westwood針對衛(wèi)星網(wǎng)絡(luò)的高誤碼特點,其性能良好。其方法要點是發(fā)送端通過TCP連接上返回確認(rèn)的平均速率對端到端可用帶寬作出估計。
當(dāng)網(wǎng)絡(luò)發(fā)生擁塞,發(fā)送方使用帶寬估值??奢^傳統(tǒng)TCP盲目將cwnd減半,這種恢復(fù)機制可將cwnd設(shè)置得更準(zhǔn)確,特別是在高誤碼環(huán)境中能取得較高的鏈路利用率[16]。算法核心為
(8)
(9)
本文用NS2仿真平臺考察各種版本的擁塞控制算法在衛(wèi)星IP網(wǎng)絡(luò)中的性能表現(xiàn),網(wǎng)絡(luò)拓?fù)涫褂秒p數(shù)據(jù)流模式,如圖1所示。設(shè)網(wǎng)絡(luò)參數(shù)為星地鏈路帶寬10 Mb/s,延遲1 ms,無誤碼;星間鏈路帶寬1 Mb/s,延遲20 ms,誤碼率1%。該網(wǎng)絡(luò)環(huán)境中共有兩組數(shù)據(jù)流,共享一個衛(wèi)星鏈路,均采用FTP應(yīng)用,每個數(shù)據(jù)流持續(xù)連接時間10 s。
圖1 網(wǎng)絡(luò)拓?fù)銯ig.1 Simulation topology
仿真使用節(jié)點和鏈路在腳本中設(shè)置如下:
#建立結(jié)點
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
本文共完成兩組仿真實驗。第一組試驗兩個數(shù)據(jù)流的TCP擁塞控制算法相同,考驗各擁塞控制算法在衛(wèi)星鏈路中單獨存在時的表現(xiàn)。第二組實驗以Reno作為一條對照數(shù)據(jù)流,另一條數(shù)據(jù)流分別是Vegas,Hybla,Westwood,考察不同改進版的TCP算法在與Reno競爭時的表現(xiàn)能力。
兩組實驗獲得的Reno擁塞控制算法吞吐量如圖2所示。
圖2 Reno平均吞吐量Fig.2 Average throughput of Reno
由圖2可知:在第一組實驗中,當(dāng)數(shù)據(jù)流均為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。
根據(jù)圖2、3,第一組實驗中Reno的吞吐量最低,這是由其固有的為地面網(wǎng)絡(luò)開發(fā)的局限性導(dǎo)致的,而改進后的Vegas,Hybla,Westwood較Reno吞吐量都有增大,其中Vegas提升最少,Hybla居中,Westwood最多。這是因為Vegas采取的是主動的擁塞控制算法,根據(jù)吞吐量的差值提前避免擁塞的發(fā)生,對衛(wèi)星網(wǎng)絡(luò)資源的利用率低于另外兩種改進版本,Westwood一直利用ACK信息計算衛(wèi)星網(wǎng)絡(luò)的實時帶寬,故其利用率最高。
根據(jù)圖3觀察前后兩組實驗中各改進版本TCP吞吐量的變化??砂l(fā)現(xiàn)Hybla,Westwood的吞吐量均有上升,Westwood的吞吐量依舊最大,說明這兩個版本的TCP競爭公平性良好,可在有限的衛(wèi)星IP網(wǎng)絡(luò)中搶占更多的網(wǎng)絡(luò)資源,而Vegas的吞吐量不增反減,衛(wèi)星網(wǎng)絡(luò)資源甚至被Reno搶走部分,競爭公平性最差。
在第二組實驗中,參照標(biāo)準(zhǔn)流均為Reno擁塞控制算法,為直觀體現(xiàn)各改進版本的TCP擁塞窗口變化,在同一張圖中進行對比,結(jié)果如圖4所示。
由圖4可知:在與Reno競爭衛(wèi)星IP網(wǎng)絡(luò)資源時,Vegas的擁塞窗口始終較小,而Hybla,Westwood的擁塞窗口則較大,這也間接反映了Vegas擁塞控制算法吞吐量低和競爭公平性較差的性質(zhì),同時也從擁塞窗口的角度解釋了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的擁塞窗口在兩組實驗中始終保持較平穩(wěn),說明其對衛(wèi)星IP網(wǎng)絡(luò)的擁塞狀態(tài)的預(yù)判起到了一定的作用,擁塞發(fā)生的次數(shù)最少;Hybla,Westwood在與Reno競爭衛(wèi)星IP網(wǎng)絡(luò)資源時擁塞窗口均有所增大,這也對應(yīng)了它們在第二組實驗中吞吐量增大及自身競爭公平性更強的特點,其中Hybla的擁塞窗口的峰值雖然最大,但其振蕩也最明顯。究其原因是它將傳輸速率獨立于網(wǎng)絡(luò)時延外,傳輸性能受時延的約束較小,在衛(wèi)星IP網(wǎng)絡(luò)中可有較高的性能表現(xiàn),但又不像Vegas,Westwood一樣提前獲知一定的衛(wèi)星IP網(wǎng)絡(luò)的狀態(tài),故擁塞發(fā)生次數(shù)較多,擁塞窗口振蕩劇烈且頻繁。
隨著天地網(wǎng)絡(luò)一體化的發(fā)展,衛(wèi)星IP網(wǎng)絡(luò)通信在未來將會起到很大的作用。TCP協(xié)議作為一種端到端的可靠協(xié)議解決方案在地面網(wǎng)絡(luò)中取得了很大的成功,但在往返時延大、誤碼率高的衛(wèi)星通信環(huán)境中表現(xiàn)并不理想。因此,為獲得更好的傳輸效果,對TCP進行適當(dāng)?shù)男薷氖潜匾?。本文通過仿真驗證了三種改進版本的TCP。分析了吞吐量、擁塞窗口和競爭的公平性以觀察其在衛(wèi)星網(wǎng)絡(luò)通信中的性能。值得注意的是,Vegas算法雖然在競爭的公平性中表現(xiàn)較差,但其利用RTT的變化預(yù)測網(wǎng)絡(luò)擁塞狀態(tài),當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞趨勢時,就采取主動擁塞避免的機制,減少了傳統(tǒng)的TCP周期性的擁塞發(fā)生。Hybla將傳輸速率與網(wǎng)絡(luò)時延獨立,利用增大擁塞窗口的方式補償由于RTT增加產(chǎn)生的吞吐量降低的問題,在衛(wèi)星網(wǎng)絡(luò)通信中也有很大的優(yōu)勢。Westwood相較于傳統(tǒng)TCP算法簡單地將丟包作為網(wǎng)絡(luò)擁塞發(fā)生的依據(jù),并未考慮網(wǎng)絡(luò)實際的帶寬狀態(tài),利用帶寬估計的算法合理調(diào)整擁塞窗口,從而可提高網(wǎng)絡(luò)傳輸?shù)男阅?,在高誤碼的衛(wèi)星網(wǎng)絡(luò)環(huán)境中有很大的作用。后續(xù)將圍繞以上三種算法的優(yōu)點,提出一種針對衛(wèi)星網(wǎng)絡(luò)環(huán)境特點的綜合性擁塞控制算法。
[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] 謝希仁. 計算機網(wǎng)絡(luò)[M]. 第5版. 北京: 電子工業(yè)出版社, 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改進協(xié)議在高速長距離網(wǎng)絡(luò)中的性能研究[J]. 通信學(xué)報, 2014, 35(4): 81-90.
[12] LEFFLER S J, KARELS M J. Trailer encapsulations[Z]. University of California at Berkeley, RFC 893, 1984.
[13] 侯曉謙. 衛(wèi)星網(wǎng)絡(luò)的TCP擁塞控制算法的研究[D]. 沈陽: 沈陽理工大學(xué), 2015.
[14] 張麗娟. 一種改進的Vegas擁塞控制算法及其在Linux網(wǎng)絡(luò)中的實現(xiàn)[D]. 吉林: 吉林大學(xué), 2011.
[15] 李渝. 民航移動通信網(wǎng)絡(luò)TCP擁塞控制策略研究[D]. 重慶: 重慶大學(xué), 2013.
[16] 王軍. 衛(wèi)星通信中基于帶寬估計的TCP傳輸控制算法研究[D]. 武漢: 華中科技大學(xué), 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
國家自然科學(xué)基金資助(61271349,61371147,11433002);上海航天科技創(chuàng)新基金資助(SAST2015039)
李連強(1994—),男,博士生,主要研究方向為網(wǎng)絡(luò)通信與網(wǎng)絡(luò)協(xié)議。
TN927
A
10.19328/j.cnki.1006-1630.2016.06.016