APP下载

一种适用于异构网络的TCP New Vegas算法

2014-02-11冯立波潘丽静杨润标罗桂兰

大理大学学报 2014年6期
关键词:重传包率异构

冯立波,潘丽静,杨润标,罗桂兰,张 梅

(大理学院数学与计算机学院,云南大理 671003)

一种适用于异构网络的TCP New Vegas算法

冯立波,潘丽静,杨润标,罗桂兰,张 梅

(大理学院数学与计算机学院,云南大理 671003)

TCP Vegas是运输层的一种可靠算法,但是在无线网络中不能最高效率的占用网路带宽,使得数据传输受到限制,不适合在无线网络中传输。对TCP Vegas算法进行改进,提出了一种适用于异构网络的TCP New Vegas算法。该算法将diff控制在两个动态门限值a,b之间,根据a,b两个动态门限值的设定,可有效的提高算法的拥塞窗口及吞吐量。以无线传感器网络接入第三代移动通信网络为仿真背景,对该算法进行了仿真实验。仿真结果表明,改进后的TCP New Vegas算法具有较大的拥塞窗口和较高的吞吐量,更适合应用于异构网络中数据的传输。

异构网络;无线传感器网络;TD-SCDMA;TCP;TCP New Vegas

TCP是应用于计算机网络传输层的协议,它是一种面向连接的、可靠的、面向字节流的传输层通信协议,保证了数据的可靠传输。但是目前存在着许多除计算机网络外的其它网络,例如移动通信网络、无线传感器网络、红外、蓝牙传输等〔1〕。如何使得这些网络之间能够相互传输数据,是目前学术界研究的热点之一。文献〔2-3〕针对TCP Vegas算法的拥塞控制进行了改进,文章〔4〕提出了一种基于异构网络的拥塞控制算法。文章〔5〕也提出了异构网络的处理方法。第三代移动通信TD-SCDMA技术是中国最大运营商中国移动采取的技术〔6〕,文章〔7-8〕对第四代移动通信系统模型进行分析与研究。本文以TD-SCDMA技术为载体,对基于异构网络的TCP Vegas算法进行改进设计,提出了TCP New Vegas算法,并仿真实现。

TCP最初是为有线网络而设计的,在TCP算法中,发送端判断网络状况需要依据接收端的ACK信息,如果发送端判断网络发生了丢包,就会降低发送率〔9〕。其中TCP Reno算法是当前最常使用的拥塞控制协议,在TCP Reno算法的基础之上,国内外的许多研究者又提出了一些新的改进,试图优化TCP Reno算法的性能,其中的Vegas算法是在1994年由L.S.Brakmo等提出的一种基于测量的TCP算法〔10〕。该算法使用数据包传输的往返时间(RTT)来判断网络的状况,并利用两个参数:预期传输速率(Expected)和实际传输速率(Actual)来控制拥塞窗口(cwnd)的大小,以此来进行拥塞控制最大可能的使用带宽。但是该算法需要网络带宽稳定维持在较高水平,而TD-SCDMA网络容易受传输环境的影响〔11-12〕,带宽经常产生较大幅度的改变,无法满足Vegas算法的要求,不能最大程度的使用网络资源,不适合在TD-SCDMA网络中应用〔13〕。因此,本文基于拥塞控制对Vegas算法改进,实现拥塞窗口的自适应调整,并在NS2中仿真,仿真结果表明,在网络丢包率增大的情况下,New Vegas算法的拥塞窗口可以及时根据网络状况调整到最大;吞吐量随丢包率的增大而降低,但总体水平依然高于相同丢包率下的Vegas算法。

1 TCP算法简介

1.1 TCP Reno算法TCP Reno算法是当前最常使用的拥塞控制算法,TCP拥塞控制常采用4种控制机制:慢启动(slow start,SS)、拥塞避免(congestion avoidance,CA)、快速重传(fast retransmit,FR)、快速恢复(fast recovery,FR)。这4个算法是可以相互转换的,转换方式如图1所示。其中:设ssthresh为当前拥塞窗口的一半,cwnd为ssthresh加3个报文段大小,重传丢失的报文段。

图1 Reno算法

1.2 New Reno算法New Reno算法是比较经典的基于“快速恢复”和“快速重传”阶段的改进算法,该算法的提出者是S.Floyd和T.Henderson。核心思想为:当网络处于“快速恢复”阶段时,为了完成重传所有丢失的数据包,发送端会不断的重发丢失报文段,直到同一窗口中丢失的所有数据都恢复完,发送端才退出“快速恢复”阶段。

New Reno算法通过PartialACK和ACK的优先性来解决同一个窗口中多个数据包丢失的问题,判断出结束“快速重传”的正确时机。

1.3 TCP Vegas算法TCP Vegas是在1994年由L.S.Brakmo等提出的一种基于测量的TCP算法。算法主要描述如下:在数据传输过程中,当发送端收到一个确认帧ACK时,先计算期望流量和实际流量的差值(diff),计算完成之后与门限值a和b(在初期自行设定,其中bb,说明拥塞窗口过大,有造成网络拥塞的可能,因此通过减小拥塞窗口cwnd的大小来降低传送速率;如果diff

1.4 TCP Westwood算法2002年,Claudio Casetti等提出TCP Westwood方法。Westwood同样是一种基于测量的TCP算法。在Westwood算法中,发送端根据收到的ACK速率,估算网络可用带宽,将估计结果作为是否调整拥塞窗口的依据来避免发生拥塞。如果发生了拥塞,发送端将调整拥塞窗口的大小,修改慢启动阀值。

2 TCP New Vegas算法

2.1 TCP Vegas算法思想TCP Vegas是一种基于测量的TCP算法。算法思想如下:首先计算diff的值,计算方法如式(1)所示。

BaseRTT取所有RTT中的最小值。其拥塞窗口调整策略如下:

在Vegas算法中增加了RTT供发送端判断网络状况,对拥塞控制阶段进行了优化,拥塞窗口的调整策略有利于网络的稳定。

2.2改进基本思想TCP Vegas算法的主要特点是增加使用数据包传输的往返时间(RTT)来判断网络的状况,在数据传输过程中,当发送端收到一个确认帧ACK时,先计算期望流量和实际流量的差值(diff),计算完成之后与门限值a和b(在初期自行设定,其中b

2.3 TCP New Vegas算法由于固定的a,b使算法存在限制性,对带宽的要求较高,所以提出改进算法TCP New Vegas,改变两个门限值a,b的固定设置,将a,b设置为可以根据网络状况自适应改变大小,具体算法如下。

当网络处于拥塞避免时,首先使用公式(1)计算diff值,与原算法采用相同的处理办法,进行与a,b的数值比较,比较之后需要更具体地比较结果的不同,进一步判断网络状况,发送端做出发送调整。与原算法不同的是:

若diff大于b,进一步比较网络当前吞吐量与上一数据包往返时间内的吞吐量,若当前吞吐量小于上一数据包往返时间的吞吐量,发送端判断网络传输状况并不是最好,则需要将拥塞窗口a和b同时减少1,若当前吞吐量大于上一数据包往返时间的吞吐量,说明网络状况良好,可以承受当前发送速率,发送端不需要减小拥塞窗口的大小。

若diff的大小在a值和b值之间,进一步比较网络当前吞吐量与上一数据包往返时间的吞吐量,若呈现增长趋势,说明网络数据传输正常,将拥塞窗口a值和b值同时增加1;若呈现减小趋势,说明网络承受能力已达稳定状态,保持拥塞窗口不发生改变。

若diff小于a,同样进一步比较网络当前吞吐量与上一数据包往返时间的吞吐量,若呈现增长趋势,说明网络状况良好,拥塞窗口增加3,若出现减小趋势,查看a值的大小,如果大于3,则可能是因为a值偏大导致的diff小于a,所以将a,b同时减小1,保持拥塞窗口不改变,如果a不大于3,再将拥塞窗口增加1。

2.4流程图按照2.3所述算法思想,改进后的TCP New Vegas算法流程图描绘如图2所示。

图2 TCP New Vegas算法流程图

3 算法仿真

在NS2中对改进后的算法和原算法的性能进行比较分析。

3.1仿真环境在NS2中建立仿真环境,网络拓扑结构如图3所示。

图3 NS2中网络拓扑结构图

其中Node(1)、Node(2)、Node(3)和Node(4)之间为有线链路,带宽1 Gbps,时延分别是1 ms、2 ms、1 ms,网关与Node(4)之间的带宽为2 Mbps。

在节点(1)和(2)之间创建带宽为10 Mb,延时20 ms、DropTail队列类型的双向链接。其它节点之间的链路建立与此代码相似。RTT=150 ms,采样时间设为20 s。

3.2仿真结果取拥塞窗口、吞吐量为性能指标,通过改变丢包率改变网络环境,图4为丢包率分别取0.000 8、0.002、0.005和0.01时,两种算法的拥塞窗口比较。

图4 不同丢包率下拥塞窗口调整情况

从图中可发现:进入快速重传阶段后,拥塞窗口开始增大,在2 s时,拥塞窗口达到最大,之后进入拥塞避免阶段,在发送端接收到数据确认之后,进入快速重传阶段,拥塞窗口开始增大,在拥塞窗口到达10左右时,出现拥塞避免,4 s时开始进入快速恢复阶段,在每个快速恢复阶段,改进后的New Vegas算法总能很快的达到最大拥塞窗口,并稳定维持一定时间,显示明显的性能提升,相比较于(1)和(2),在丢包率增大的情况下,拥塞窗口的稳定值出现了降低,这是因为拥塞窗口的变化是随着网络状况自适应调整的,改进后New Vegas算法的调整速度和效果比原Vegas算法要优秀。在相同的时间段中,改进后的New Vegas算法总能很快的达到最大拥塞窗口,并稳定维持一定时间,在丢包率逐渐增大的情况下,拥塞窗口的总体稳定值都出现了降低,在拥塞窗口随着网络状况自适应调整的过程中,改进后New Vegas算法的调整速度比原Vegas算法快。而且丢包率越高,New Vegas算法的优势越明显,证实了New Vegas算法更适合丢包率较高的网络。

下面分析在不同丢包率的情况中,两种算法的吞吐量比较,分别设置丢包率为0.000 8、0.002、0.005和0.01,见图5。

图5 不同丢包率下吞吐量比较

从图中可以看出,在0 s到3 s之间,吞吐量的提升比较平缓,在3 s到5 s之间,吞吐量提升比较迅速,在5 s之前两种算法的吞吐量基本重合,没有出现太大的差异,在5 s之后,改进后New Vegas算法在总体上吞吐量较高,而且截止到测试时间,一直表现出稳定的优势。整体吞吐量都呈现下降趋势,在相同测试时间中,改进后New Vegas算法吞吐量要高于原算法的吞吐量。

针对New Vegas算法的仿真结果,将上述不同丢包率下的吞吐量数据进行汇总,并使用gnuplot绘图,结果如图6所示。

图6 TCP New Vegas算法吞吐量统计图

将4种丢包率情况下的New Vegas算法的吞吐量进行比较,从中可以看出,丢包率升高,吞吐量随之降低,但是在相同丢包率情况下,改进后的New Vegas算法总体吞吐量高于原算法,而且丢包率越大,效果越明显,可见改进后的New Vegas算法能够更好的适应丢包率较高的网络。

4 结论

文章以无线传感器网络和第三代移动通信网络TD-SCDMA作为异构网络的实验环境,对TCP Vegas算法进行改进,提出来TCP New Vegas算法,并在NS网络仿真环境下进行了仿真实现。改进后的算法采用不固定的门限值a,b,根据网络的实时状况进行自适应调整,从而提高了网络的拥塞窗口和吞吐量。在实际网络连接和传输中,TD-SCDMA往往容易受到环境影响,出现高丢包率、低带宽现象,而TCP New Vegas算法的拥塞窗口的调整速度更快,适应能力更强,所以更适合在诸如TD-SCD⁃MA和无线传感器网络的异构网络中使用。

〔1〕戴菲菲,彭力,董国勇.改进K-ACO无线传感器网络的分簇路由算法〔J〕.传感器与微系统,2013,32(8):135-139.

〔2〕王斌,陈元成,胡愚,等.TCP Vegas拥塞避免机制的改进算法〔J〕.计算机应用,2010,30(9):2486-2490.

〔3〕王云涛,方建安,张晓辉,等.基于TCP Vegas的网络拥塞控制改进算法〔J〕.计算机应用研究,2009,26(12):4645-4647.

〔4〕曲大鹏,黄东军.一种新的适用于异构网络的TCP算法〔J〕.计算机应用,2007,27(10):2437-2439.

〔5〕徐思成,李增权,郭国选.基于OPC技术和以太网的异构网络集成〔J〕.仪表技术与传感器,2011(1):109-110.

〔6〕PENG M G,WANG W B.TD-SCDMA Evolutio〔J〕.IEEE Vehicular Technology Magazine,2010,5(2):12-16.

〔7〕张梅,罗桂兰.基于LTE-Advanced的协作通信系统模型分析与研究〔J〕.大理学院学报,2013,12(10):19-22.

〔8〕张梅,罗桂兰.基于协作中继的VMIMO通信信道建模研究〔J〕.大理学院学报,2012,11(10):12-16.

〔9〕WANG X F,CHEN G R.Complex networks:Small-world,scale-free and beyond〔J〕.IEEE Circuits and Systems Maga⁃zine,2003,3(1):6-20.

〔10〕BRAKMO L S,O'MALLEY S W,PETERSON L.TCP Vegas: New techniques for congestion detection and avoidance〔J〕. ACM Transactions on Networking,1994,24(4):1024-1035.

〔11〕顾明,张军,苏东林.大带宽时延积网络TCP Vegas自适应慢启动算法〔J〕.电讯技术,2007,47(2):27-30.

〔12〕李雯雯,金展光,吴博.TD-SCDMA系统上行不连续发射状态的控制方法研究〔J〕.电信科学,2013(9):207-210.

〔13〕张家波,冯长春,孙威.TD-SCDMA系统中一种基于UE的改进切换算法〔J〕.电视技术,2013,37(15):82-85.

(责任编辑 袁 霞)

A New TCP New Vegas Algorithm Applicable for the Heterogeneous Networks

FENG Libo,PAN Lijing,YANG Runbiao,LUO Guilan,ZHANG Mei
(College of Mathematics and Computer,Dali University,Dali,Yunnan 671003,China)

TCP Vegas is a reliable algorithm in the transport layer.In virtue of the data transmission restricted in wireless network bandwidth,it is not suitable for transmission in the wireless network.A TCP New Vegas algorithm which is applicable to heterogeneous networks is presented based on TCP Vegas algorithm.The algorithm controls the diff two dynamic threshold methods a,b.According to the two set a dynamic threshold method,it can effectively improve the algorithm of congestion window and throughput.The algorithm simulation experiment was carried out for background simulation of wireless sensor networks access to the third generation mobile communication network.The simulation results show that the improved TCP New Vegas algorithm has larger congestion window and higher throughput.It is more suitable for application in heterogeneous network data transmission.

heterogeneous networks;wireless sensor network;TD-SCDMA;TCP;TCP New Vegas

TP393

A

1672-2345(2014)06-0010-05

10.3969∕j.issn.1672-2345.2014.06.004

云南省教育厅科研基金资助项目(2012C065)

2014-01-08

2014-01-15

冯立波,讲师,主要从事物联网、无线传感器网络研究.

猜你喜欢

重传包率异构
支持向量机的船舶网络丢包率预测数学模型
试论同课异构之“同”与“异”
一种基于喷泉码的异构网络发包算法*
电磁线叠包率控制工艺研究
无线网络中基于网络编码与Hash查找的广播重传研究
面向异构网络的多路径数据重传研究∗
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
一种基于散列邻域搜索网络编码的机会中继重传方法
LTE异构网技术与组网研究