一种适用于异构网络的TCP New Vegas算法
2014-02-11冯立波潘丽静杨润标罗桂兰
冯立波,潘丽静,杨润标,罗桂兰,张 梅
(大理学院数学与计算机学院,云南大理 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.1 TCP Vegas算法思想TCP Vegas是一种基于测量的TCP算法。算法思想如下:首先计算diff的值,计算方法如式(1)所示。 BaseRTT取所有RTT中的最小值。其拥塞窗口调整策略如下: 在Vegas算法中增加了RTT供发送端判断网络状况,对拥塞控制阶段进行了优化,拥塞窗口的调整策略有利于网络的稳定。2 TCP New Vegas算法