基于TCP Vegas的LTE网络拥塞控制算法性能分析

2015-04-25 11:03
遥测遥控 2015年1期
关键词:字节控制算法吞吐量

刘 靖

(中国电信股份有限公司广东分公司 广州 510641)

引 言

上世纪六十年代,为了使数据在网络上传输得更快、更准确,计算机网络应运而生。到上世纪七八十年代,计算机网络就已经小具规模。研究人员主要集中解决数据传输过程中的控制和协调的问题,并提出了大量的协议和控制算法,主要包括传输协议(TCP、UDP等)以及拥塞控制算法。

目前,国内外学者及研究人员针对不同环境下的TCP Vegas进行研究,并提出改进方案。TCP的拥塞控制是基于丢包对拥塞窗口进行调整,但由于丢包不一定是网络拥塞引起的,因此TCP Vegas通过监测往返时间(RTT)来判断网络是否拥塞,进而调整拥塞控制窗口[1]。

1 TCP Vegas简介

TCP Vegas提高吞吐量、降低丢包的技术有三种,即快速重传机制、拥塞避免机制和改进的慢启动机制,在这三种技术的支持下TCP Vegas相比传统TCP Reno协议具有更高的吞吐量[2]。

TCP Vegas拥有更加先进的拥塞控制机制,其利用往返时间(RTT)作为主要参数来监控拥塞情况,提高TCP的性能[3]。TCP Vegas是在初期阶段检测拥塞,因此可以提前获知数据包是否丢失,而TCP Reno是在拥塞发生之后进行处理,不能有效预防网络拥塞的发生[1]。

TCP Vegas采用更先进的带宽估计方案,它使用预期流量和实际流量之间的差值来估算网络中的可用带宽。Vegas的主要思想是,当网络不拥塞时,实际流率将接近预期的流速,否则,实际流率会比预期的流速小。Vegas利用实际流率与预期流速之间的差异来估计所属网络的拥堵等级,并相应地更新窗口的大小。Vegas使用两个阈值来适当调整拥塞窗口的大小,并在源主机控制拥塞窗口的调整。在拥塞避免阶段,Vegas发送者操作如下:

一条新建连接的cwnd被初始化为一个数据包大小,也就是说TCP源只允许发送一个数据包,等待确认后,再传输第二个数据包。每收到一个ACK确认,就将cwnd增加一个数据包的发送量,直到达到某个最大值为止。图1以慢启动阶段和拥塞避免阶段为例示出了不同参数对控制器行为的影响,它也显示了如何控制预期吞吐量和实际吞吐量之间的差异。

图1 TCP Vegas慢启动阶段和拥塞避免阶段参数的影响Fig.1 Influence of parameters in slow start phase and congestion avoidance phase for TCP Vegas

2 网络仿真工具NS-2

NS是一种针对网络技术的源代码公开的、免费的软件模拟平台,具有良好的可扩充性。通过控制TCP Vegas的两个参数α和β确定排队网络中处于稳定状态的包的数量,并在半包单元中予以表示[1]。在默认配置中,Vegas试图保持排队网络中数据包的数量在1~3之间,通常通过调整cwnd的值来满足此约束。这只是初始配置,当我们改变参数后,Vegas排队网络中数据包的数量出现波动,但也始终保持在0~2个数据包[4]。这是好事,因为经常会有零延时排队。我们使用α和β中较大的那个值,来确保高速链接。对于TCPVegas在NS-2上仿真,需要解决两个主要问题:慢启动阈值的设定和α值的设置。如果在检测前Vegas有延迟亏损,阈值就按照丢失恢复算法中的cwnd/2进行设置。若流程退出慢启动并具有相对较大阈值(大于2),则阈值应该高于cwnd。

3 TCP Vegas拥塞避免机制的改进算法

TCP Vegas算法是通过监测RTT值的改变来估计网络拥塞状况,这是在拥塞发生之前采取的预防措施,它前瞻性地预测网络带宽的使用情况,并对小缓存有较强的适应性,其公平性及效率都较好。研究表明,Vegas吞吐量相比Reno提高37%~71%,丢包率减少20%~50%。尽管TCP Vegas具有很多优点,但要在实际网络中广泛应用还有很多问题[5]。

此处针对TCP Vegas在有线网络环境中不能公平与NewReno共存、持续拥塞问题以及路由变更问题进行了改进,提出了新的算法TCP Vegas-H。

这里我们给出算法改进部分的代码:

其中,incr为窗口增量;succ为计数器,初始值为0。

4 仿真实验及分析

一个简单的LTE结构如图2所示,它由一个HTTP/FTP服务器组成,并且提供了TCP协议源连接的拓扑结构。在LTE系统中,研究重点是路由器。控制服务器流量的用户设备(UE)被称为进化的基站(ENB),这些网络节点负责缓冲数据包。各ENB通过5Mb/s有线带宽连接到相应的AGW,并且有2ms的延迟。

图2 简单的LTE结构Fig.2 Simple LTE structure

LTE拓扑结构如图3所示,其中有6个UE被使用,并通过恒定带宽1Mb/s、延迟2ms的链路直接连接到ENB。这意味着我们使用两个ENB将来自所有UE的12个网络节点的数据流通过一个瓶颈链路转移。事实上这并不是真正的瓶颈链路,这里的带宽达到100Mb/s。

图3 LTE拓扑结构Fig.3 LTE topology structure

表1 LTE拓扑结构仿真参数Table1 Simulation parameters of LTE topology

仿真参数如表1所示,从表中我们可以看出,所有的链路都有2ms的传输延迟,并且Vegas的最大数据包大小为1500字节,最小窗口大小为100字节。路由器中双链接服务器的带宽为100Mb/s,延迟为2ms。

6个UE节点通过有线链路连接到相应的ENB,但这些节点之间必须是无线链接。之所以忽略流动性是因为ENB不动,如果我们支持这些节点的运动,则必须添加一个切换场景的拓扑结构,这超出了本文的研究范围,因此我们忽略ENB之间的接口。

实验目的是了解TCP Vegas在基于LTE系统的网络拓扑结构的性能。

在图3所示的仿真模型中,节点0~5和7~12使用相同的参数,它们都使用TCP Vegas和TCP Reno。在我们的实验中使用NS-2网络仿真工具,并且使用TCPVegas在LTE连接的缺省值和拥塞控制算法的各个参数。图4给出了在带宽、延迟、数据包的大小、窗口的大小以及其他所有的链路参数都相同,仅改变TCP Vegas参数的情况下,TCPVegas和TCPReno的cwnd值比较。在图4(a)中,我们假定α和β值相同,均为20。实际上,α和β的默认值设置为40,如图4(b)所示。如果窗口大小的数字设为4~5之间,很容易得出这样的结论:当重复的值从20变化到40,窗口的大小相应从24字节变化到48字节。

由图4(a)~图4(e)可以看到,我们增加α和β的值,最好的性能不是发生在默认的参数值,而是当α=β=120时,此时窗口最大,为118字节。

在获得相同的拥塞窗口cwnd的前提下,TCP Vegas比TCP Reno具有更好的性能。如果在相同的拓扑结构下比较TCP Vegas和TCP Reno的性能,可以看到,TCP Vegas的吞吐量和窗口的大小都有所提高。

在图4(a)和图4(b)中,TCP Reno的性能优于TCP Vegas,TCP Vegas的cwnd分别是20和40。但随着α和β值增加,TCPVegas的窗口大小逐渐优于TCP Reno。图4(e)中,TCP Vegas的窗口大小已经是TCPReno窗口大小的两倍。

在图4(f)和图4(g)中,我们假设α和β值不相等,可以更加明显地发现窗口大小的较大改变。

通常,每个共享或组合的窗口在连接尺寸和大小方面是独一无二的,因此我们在选择参数值时,必须保持各参数的独立。

5 结束语

本文评估了TCP Vegas在不同参数下的LTE网络模型。一些研究表明,TCP Vegas比TCP Reno性能更高,数据包重传次数更少,但对较长RTT的连接效果更差。本文研究表明,默认拥塞窗口参数无法体现TCP Vegas的真实性能,而采用合适的参数可以提升TCP Vegas性能,使其优于TCP Reno。

图4 TCP Reno和Vegas的cwnd比 较Fig.4 Comparison of cwnd for TCPReno and Vegas

[1]Srijith K N,Lillykutty Jacob,Ananda A L.TCP Vegas A:Improving the Performance of TCP Vegas[J].Computer Communications,2005,28(4):429~440.

[2]Brakmo L S,Peterson L L.TCP Vegas:End to End Congestion Avoidance on a Global Internet[J].IEEE Journal on Selected Areas in Communications,2003,3(10):12~36.

[3]S.Floyd.RFC3649.High Speed TCPfor Large Congestion Windows[S].IETF,2003,2(12):23~48.

[4]江 勇,林 闯,吴建平.网络传输控制的综合性能评价标准[J].计算机学报.2002,4(8):869~877.Jiang Yong,Lin Chuang,Wu Jianping.Comprehensive Performance Evaluation Standard of Network Transmission Control[J].Chinese Journal of Computers,2002,4(8):869~877.

[5]Vanichpun S,Feng Wuchun.On the Transient Behavior of TCP Vegas[C]//Proceedings of Eleventh International Conference on Computer Communications and Networks.USA:Mary land Univ.IEEE,2002:504~508.

猜你喜欢
字节控制算法吞吐量
No.8 字节跳动将推出独立出口电商APP
No.10 “字节跳动手机”要来了?
基于MSP430的四旋翼飞行器的S-BUS通信协议的设计与实现
基于ARM+FPGA的模块化同步控制算法研究
高精度位置跟踪自适应增益调度滑模控制算法
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
基于航迹差和航向差的航迹自动控制算法
2014年1月长三角地区主要港口吞吐量