APP下载

一种改进的TCPW算法在拥塞控制中的应用*

2017-03-09任金霞王水泉温春晖

网络安全与数据管理 2017年4期
关键词:估计值吞吐量链路

任金霞,王水泉,温春晖

(江西理工大学 电气工程与自动化学院,江西 赣州 34100)

一种改进的TCPW算法在拥塞控制中的应用*

任金霞,王水泉,温春晖

(江西理工大学 电气工程与自动化学院,江西 赣州 34100)

互联网的快速发展,给人们生活带来极大便捷,同时也带来了严重的问题——网络拥塞。TCPW是一种基于端到端带宽估计的拥塞控制机制,沿用了TCP Reno在慢启动初始化阶段设置慢启动阈值方法。提出了一种慢启动改进算法,在拥塞避免阶段采用一种新的机制设置cwnd和ssthresh值,减少了慢启动时间,通过NS-2仿真结果表明改进算法在吞吐量、延时及丢包率等方面都有一定的改善。

慢启动;拥塞避免;拥塞控制;吞吐量

0 引言

随着互联网技术的迅速发展,尽管当前网络带宽不断提高,新的互联网应用程序的涌现,导致网络流量剧增以致网络发生拥塞,延时、吞吐量及其他网络质量指数下降,网络资源利用率降低,难以保证网络参数。所以解决网络拥塞问题极其重要。

TCP拥塞控制模型是基于1988年JACOBSON和KAREL提出的TCP Reno 模型。TCP Westwood(TCPW)算法基本思想是通过监测发送端接收确认应答速率的端到端带宽估计机制[1]。TCPW保留了基本的TCP控制协议的原则[2]和流控制、拥塞控制及错误控制机制。流控制用于限制传输速率使其与接收端缓存大小相匹配。拥塞控制限制发送速率与链路容量相一致。因此,TCP利用拥塞窗口值(cwnd)控制发送端报文段数量的传送。TCP连接建立后进入慢启动阶段[3],在这个阶段发送端的拥塞窗口值呈指数增加,直至增加到预设值慢启动阈值(ssthresh)。此后,进入拥塞避免阶段,在此期间发送端线性增加拥塞窗口值。丢包发生后,慢启动阈值设置为当前拥塞窗口值的一半重新进入慢启动。由于慢启动阶段没有固定的慢启动阈值,当其设置太小时,发送端很快停止拥塞窗口指数增长,需要用很长时间才能达到最优的拥塞窗口值。

本文提出了一种改进的慢启动算法,发送端可以快速增加拥塞窗口值,缩短慢启动时间。在拥塞避免阶段根据带宽估计的变化,设置不同的拥塞窗口值,从而提高网络的吞吐量。

1 TCPW算法原理分析

拥塞控制的研究目的不是完全避免拥塞,而是研究怎样的拥塞程度是合适的。TCP是可靠的数据传输协议[4],采用分组交换技术提高链路带宽利用率,也就是说路由器队列缓存如果是满的,则网络利用率最高,但传输延迟大;队列始终是空的或者不满,导致网络带宽利用率低,传输延迟小。所以拥塞控制的目标是实现网络利用率和传输延迟的综合性能指标的最优化,提高网络的整体性能,保证网络的长期稳定性和鲁棒性。

1.1 TCPW原理

TCPW是基于带宽估计拥塞,不接收网络的任何显式拥塞反馈。由源端决定数据发送速率,逐渐增加数据发送速率,直到反馈信号表明达到了网络容量。当丢包发生后,发送端基于带宽估计值重新设置拥塞窗口值和慢启动阈值。

1.2 端到端的带宽估计

TCPW算法主要思想是通过监测发送端ACK确认应答的接收速率实时估计带宽[5-6],当发送端在t2接收到一个ACK应答时表明相应的数据字节数d2已经被TCP连接的接收端成功接收。这种带宽估计算法如下:

BWE=αbk-1+(1-α)[(bk+bk-1)/2]

1.3 拥塞窗口值和慢启动阈值设置

假设发送端带宽估计值为BWE,TCPW在慢启动阶段和拥塞避免阶段保持和TCP Reno一致,分别为指数和线性增加[7]。在如下情况网络发生丢包:(1)发送端收到三个重复ACK应答;(2)定时器超时。

(1)发送端收到三个重复ACK应答后算法如下:

if receiving 3ACKS

set ssthresh=(BWE*RTTmin)/seg_size

and if (cwnd>ssthresh)

then set cwnd=ssthresh

enter congestion phase

其中seg_size为报文段大小。

(2)定时器超时算法

TCP拥塞控制算法的基础设计理念[8]是基于端到端。网络被视为“黑箱”TCP源端。

2 算法的改进

2.1 慢启动改进算法

作为拥塞控制算法的重要部分,慢启动可以有效控制初始化连接时发送端的数据包发送数量。本文采用一种新的方法在慢启动初始化阶段设置慢启动阈值和拥塞窗口值,通过两个连续应答所确认的字节数探测链路带宽。

(1)

其中,ELC为链路容量,Acked为每一个应答所确认的数据包数量,Δtk=tk-tk-1为两个应答之间的时间间隔。每接收到一个新的应答时采用移动平均法更新ELC,计算如式(2)所示:

ELC=(1-α)ELCi+αELCi-1

(2)

α=0.9

慢启动阈值设置如式(3)所示:

ssthresh=ELC*RTTmin

(3)

其中,RTT为往返时延(从发送端发送数据到发送端接收到确认应答的时间间隔),通过链路容量计算的ssthresh值为初始化慢启动提供准确值。由此可见,该慢启动阈值不是一个常数,随连接状态改变。

此外,本文提出了一种“快速启动”通过带宽利用率增加拥塞窗口在慢启动阶段发送新的报文段前,检查当前拥塞窗口值和上一个RTT。算法描述如下:

if last RTT

then cwnd=cwnd+(ssthresh DIV cwnd)

else cwnd=cwnd+1

其中,RTTest为往返时延估计值。

2.2 拥塞避免算法改进

在TCP拥塞控制中,拥塞窗口值是决定字节数发送速率的重要因素。连接建立时设置为最大报文段(MSS),每收到一个ACK应答,拥塞窗口值倍增,直到cwnd>ssthresh进入拥塞避免阶段。在拥塞避免阶段每收到一个ACK应答拥塞窗口值,cwnd=cwnd+1/cwnd,直到拥塞发生。本文提出的改进算法流程图如图1所示。

图1 改进拥塞避免算法流程图

通过当前时刻带宽估计值与前一时刻带宽估计值之比预测网络状态,动态设置拥塞窗口值,调整数据包发送速率。算法描述如下:

congestion avoidance

slow start is

over(cwnd>ssthresh)

every ACK;

estimate BWE=ELC;

set BWE=BWcurrent;

BWr=BWcurrent/BWprevious;

if(BWr>1.5)

cwnd=cwnd+1/cwnd;

else if (BWr<1)

cwnd=cwnd;

until (timeout or3ACKS)

BWcurrent为接收到新的ACK的当前带宽,BWprevious为接收到新的ACK之前的带宽值。

3 仿真实验及结果分析

3.1 实验环境设置

混合网络环境下仿真拓扑结构如图2所示,节点S0、S1为TCP发送端,节点R0、R1为路由节点,D0、D1为TCP接收端。节点S0与R1、S1与R0、R2与D0、R2与D1之间链路延时为3 ms,带宽为20 Mb/s,R0与R1之间为瓶颈链路,链路时延为10 ms、带宽为5 Mb/s,R2与D1为无线连接。仿真时间设置为45 s。

图2 网络仿真拓扑图

3.2 实验结果及分析

改进算法与TCPW和TCP NewReno的网络吞吐量如图3所示。可见改进算法在吞吐量上较TCPW和TCP NewReno都有一定的提高。图4是基于每个数据包传输时间延时的比较,可以看出改进算法缩短了延迟时间。图5为网络丢包变化随仿真时间对比,可以看出仿真刚开始一段时间改进算法比TCPW算法丢包量大,但在15 s后丢包数量略小于对比算法。

图3 吞吐量对比图

图4 网络延时对比变化

图5 丢包对比图

4 结论

本文针对TCPW算法的不足之处,提出了一种在慢启动和拥塞避免阶段的改进算法,加快了慢启动进程,在拥塞避免阶段合理地设置拥塞窗口值和慢启动阈值。通过大量实验表明,与原算法相比本文提出的算法在吞吐量、丢包率、时延等各方面的性能都得到了提高,优于TCPW算法,有一定的实用价值。

[1] MASCOLO S, CASETTI C, GERLA M, et al. TCP Westwood: bandwidth estimation for enhanced transport over wireless links[C]. International Conference on Mobile Computing and NETWORKING, 2001:287-297.

[2] AFANSYEV A, TILLEY N, REIHER P, et al. Host-to-host congestion control for TCP[J]. IEEE Communications Surveys & Tutorials, 2010, 12(3):304-342.

[3] MASCOLO S, VACIRCA F. The effect of reverse traffic on the performance of new tcp congestion control algorithm[J]. Pfldnet’06 Nara, 2006, 129(5):219-224.

[4] 王志明, 曾孝平, 刘学,等. 一种异构网络TCP拥塞控制算法[J]. 电子与信息学报, 2016, 38(4)780-786.

[5] GRIECO L A, MASCOLO S. TCP Westwood and easy RED to improve fairness in high-speed networks[C]. Proceedings of the 7th IFIP/IEEE International Workshop on Protocols for High SpeedNetworks.Springer-Verlag, 2002:130-146.

[6] PARVEZ N, MAHANTI A, WILLIAMSON C. TCP NewReno: slow-but-steady or impatient?[J]. IEEE International Conference on Communications, 2006,ICC’06,2006, 2(2):716-722.

[7] GAMBHAVA B, KOTHARI N J, DASGUPTA K S. Analysis of RTO caused by retransmission loss to combat channel noise[J]. International Journal of Computer Applications, 2010, 1(8):5-9.

[8] KALRA S, KALRA B, AGRAWAL N, et al. Updated congestion control algorithm for TCP throughput improvement in wired and wireless network[J]. Global Journal of Computer Science&Technology,2010(4):248-252.

An improved TCPW algorithm applied in congestion control

Ren Jinxia,Wang Shuiquan,Wen Chunhui

(School of Electrical Engineering Automation, Jiangxi University of Science and Technology, Ganzhou 341000, China)

The rapid development of Internet brings great convenience to human life, at the same time, brings serious problem—the network congestion. TCP Westwood(TCPW) is based on the end-to-end congestion control mechanism of bandwidth estimation, and maintains the method that TCP Reno in the slow start initialization phase sets the slow start threshold. This paper proposes an improved slow start algorithm to reduce the time during slow start phase, and uses a new mechanism to set the cwnd and ssthresh values in congestion avoidance phase. The NS-2 simulation results imply that the improved algorithm performance in the aspects of throughput,network delay, losses rates and so on has been improved.

slow start;congestion avoidance;congestion control;throughput

江西省自然科学基金项目(20151BAB207041)

TP393

A

10.19358/j.issn.1674- 7720.2017.04.019

任金霞,王水泉,温春晖.一种改进的TCPW算法在拥塞控制中的应用[J].微型机与应用,2017,36(4):63-65.

2016-09-18)

任金霞(1970-),通信作者,女,硕士,副教授,主要研究方向:智能控制、机器学习。E-mail:dxzghyqq@sina.com。

王水泉(1991-),男,硕士研究生,主要研究方向:计算机网络、优化算法。

温春晖(1992-),男,硕士研究生,主要研究方向:智能优化算法。

猜你喜欢

估计值吞吐量链路
天空地一体化网络多中继链路自适应调度技术
基于星间链路的导航卫星时间自主恢复策略
一道样本的数字特征与频率分布直方图的交汇问题
2018年4月世界粗钢产量表(续)万吨
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
2014年2月世界粗钢产量表
基于3G的VPDN技术在高速公路备份链路中的应用
2014年1月长三角地区主要港口吞吐量