论文部分内容阅读
随着计算机和通信技术的发展,人们对Internet的需求已经越来越超乎想象,因此更多、更合理的控制机制对现有网络的顺畅运作起着非常重要的作用,其中最基本、最关键的就是网络拥塞控制技术,即如何有效防止或消除网络出现的拥塞,使网络基本运行在轻度拥塞的最佳状态。网络中的拥塞来源于网络资源和网络流量分布的不均衡性,它不会随着网络处理能力的提高而消除。到目前为止,拥塞问题始终没有一个完美的解决方案。面对各种复杂的网络环境,拥塞控制算法不但在设计方面存在一定的困难,在算法的性能评价方面也都缺乏统一的标准。根据拥塞控制算法的实现位置,主要分为源算法和链路算法两种:源算法在主机和网络边缘设备中执行,作用是根据反馈信息调整发送速率;链路算法在网络设备(如路由器和交换机)中执行,作用是检测网络拥塞的发生,产生拥塞反馈信息。拥塞控制算法设计的关键问题是如何生成反馈信息和如何对反馈信息进行响应。TCP协议是使用最广泛的源算法,也是目前在Internet中使用最广泛的传输协议。它包括慢启动、拥塞避免、快速重传和快速恢复四个阶段,其核心的拥塞避免算法采用一种AIMD(加性增加乘性减少)的窗口调节机制。TCP协议从提出到现在已经历了几个版本的不断改进,从RFC1122到TCP Tahoe,再到现在应用广泛的TCP Reno,每次改进都带来网络性能的较大提高。但是,在高带宽时延乘积网络不断扩大的今天,随着网络技术如光通信技术的发展,出现了带宽大于1Gbps,甚至10Gbps的高速网络,而且带宽还有不断增加的趋势。在这样的高速网络中,当前广泛应用的标准TCP的控制算法已不能满足高速网络中数据传输的需要。传统的TCP拥塞控制算法在高带宽的网络上不仅会不稳定,而且其性能也会下降。由于采用加性增长机制,传统的TCP拥塞控制算法在每个RTT中增加发送的包过于缓慢,这在高带宽的网络环境下会浪费若干RTT才能充分利用网络带宽,发生拥塞时又使窗口降低过快。因此,研究改善高速网络数据传输性能的拥塞控制算法就有了重要的意义。本文首先分析了拥塞产生的原因以及拥塞控制的目前研究概况,并指出拥塞现象的发生和TCP/IP网络的设计机制有着密切的联系。随后详细介绍了已有TCP源算法和与之相结合的IP链路算法。其次,本文深入分析了TCP源算法的各个阶段。最后,针对现有TCP拥塞控制机制的研究状况,本文对TCP源算法中的慢启动阶段提出了改进,在此算法中引入一个比例因子q,使得慢启动过程尽可能接近可利用带宽,从而提高吞吐量。为了便于性能对比评测,本文最后采用了TCP/IP研究领域的主流仿真软件NS作为实验工具,使得实验结果更为客观、真实。主要工作有:1、阅读参考文献,了解拥塞控制基本理论、发展现状,对基于端算法的协议进行理论分析和总结。2、利用模拟工具NS-2重点对TCP协议进行了模拟实验,提出一种新的改进算法QTCP。QTCP着重增加了拥塞窗口在慢启动阶段的加速性,以适应高速网络的现状。