李连强,朱 杰,杨宇涛,胡 珍
(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