论文部分内容阅读
传输控制协议(TCP)被广泛应用于有线网络中。作为传输层协议,它提供端到端的可靠传输服务,被公认为是有线网络中一种很有效的传输层解决方案。拥塞控制是TCP协议研究的一个热门领域。在传统的有线网络中,拥塞被作为丢包发生的主要原因,TCP正是基于这种假设而工作的。相比之下,无线网络由于具有高误码率以及其它方面的特点,也会因此发生丢包,网络拥塞不再是丢包的主要原因,而TCP又不具备区分丢包原因的能力,完全遵循加性增加/乘性减少(AIMD)的机制,这将极大地影响TCP在无线网络中的性能。因此,研究无线网络中的TCP拥塞控制机制具有很强的现实意义。目前,已经有许多关于提高无线网络TCP性能的的研究成果,本论文研究其中一种算法—TCP Westwood(TCPW)。TCPW的核心思想是带宽估计,发送端在检测到丢包时利用带宽估计值BWE来动态修改拥塞窗口cwnd与慢启动阀值ssthresh。因为这种方式在慢启动与拥塞避免阶段的窗口增长方式与传统TCP相同,而在遇到丢包时根据当前网络状况来修改cwnd和ssthresh,因此这种方式又被称为加性增加/适应性减少(AIAD),这与传统TCP在碰到丢包时的处理方式有很大的区别,使得带宽利用率得到极大提高。本文提出两种基于TCPW的改进算法。算法一主要研究TCP算法的快速重传与快速恢复阶段,提出一种新的基于网络稳定性的带宽估计方法。其核心思想在于利用相邻带宽样本之间的差值来估计当前网络的稳定性,将其作为网络稳定性因子。在得到一定数量的因子后计算出最大值,通过当前因子与最大因子之间的比值来动态设定带宽估计中使用的低通滤波器权值。在发生拥塞以后利用带宽估计值来调节cwnd和ssthresh。算法二主要研究TCP算法的慢启动与拥塞避免阶段。该算法使用TCPW带宽估计思想来动态修改慢启动阶段的慢启动阀值,这样有助于避免TCP算法使用固定的预设值ssthresh来结束慢启动阶段而引起的问题。如果ssthresh设得过高,会引起拥塞窗口cwnd持续长时间的指数级增长,发送端在后期会在短时间内发送许多分组,从而造成瓶颈链路不必要的丢包;如果ssthresh设得过低,则慢启动将很快结束而进入拥塞避免阶段,这又将导致带宽的浪费。从以上分析来看,采用带宽估计的思想来动态修改慢启动阀值将有助于提高带宽的利用效率。本文的仿真实验环境基于无线/有线混合网络,通过仿真实验验证算法的性能,结果表明两个算法在一定程度上提高了TCP在无线网络上的吞吐量。另外,本文对算法一的公平性与友好性也做了仿真验证,并通过与其它TCP算法的计算结果比较表明,在大多数情况下,算法一在设定的仿真环境中有更高的公平性索引值,友好性也较优于其它算法。