1、 1 目录目录 第 1 章 绪论 .2 1.1 TCP 拥塞控制的意义2 1.1.1 网络的拥塞 2 1.1.2 QOS 的需求 .3 1.1.3 网络的拥塞控制 3 1.2 本文任务 .4 1.3 本文的章节安排 .5 第 2 章 TCP 的四个版本.6 2.1 TCP 的拥塞控制6 2.1.1 TCP 的滑动窗口机制6 2.1.2 慢启动(slow start) 7 2.1.3 拥塞避免(congestion avoidance)8 2.1.4 快速重传与恢复(fast retransmission and recover) .8 2.2 TCP Tahoe 9 2.3 TCP Reno
2、.10 2.4 TCP New Reno. 11 2.5 TCP SACK . 11 第 3 章 仿真平台搭建 .14 3.1 linux 操作系统安装.14 3.2 网络仿真软件 15 3.3 OS shell 16 第 4 章 仿真实验 .18 4.1 主程序分析 .18 4.2 收集数据 .21 4.3 数据的图形化与分析 .22 4.3.1 一个数据包的丢失 .22 4.3.2 两个数据包的丢失 .27 4.3.3 三个数据包的丢失 35 第 5 章 结束语 .41 致 谢 .42 参考文献 .43 附录 中英文翻译 .44 2 第第 1 章章 绪论绪论 随着科技的进步,网络时代已经悄
3、然来临, “网络发展”这个词是我们 日常生活中再熟悉不过的字眼了,顾名思义,网络要发展,不仅要靠先进 高效的技术,其服务质量(Qos)也是一个很重要的因素。在计算机网络系 统中,消费者对于服务质量的满意程度与提供服务者的服务水平是息息相 关的,我们每天利用 Internet 搜寻各种资料,设想一下,没有好的服务, 我们怎么能感受到网络时代给我们的方便快捷?本文围绕着这些问题,研 究了在计算机网络系统中占有重要地位的 TCP 协议各版本在发生网络拥塞 所采取的措施,目的是保证通信双方数据高效顺畅的流动。 1.1 TCP 拥塞控制的意义拥塞控制的意义 1.1.1 网络的拥塞网络的拥塞 拥塞控制现在
4、是 Internet 研究的热点,在最初的 TCP 协议中只有流 量控制(flow control)而没有拥塞控制,接收端利用 TCP 报头将接收能力通 知发送端.这样的控制机制只考虑了接收端的接收能力,而没有考虑网络的 传输能力,导致了网络崩溃(congestion collapse)的发生。在计算机网络 中的链路容量,交换节点中的缓冲区和处理机等,都是网络的资源。在某 段时间,若对网络中的某一资源的需求超过了该资源所能提供的可用部分, 网络的性能就要变坏。这种情况就叫做拥塞(congestion) 。若网络中有许 多资源同时产生拥塞。网络的性能就要明显变差,整个网络的吞吐量就将 随输入的负荷的增大而下降。网络中的拥塞来源于网络资源和网络流量分 布的不均衡性.拥塞不会随着网络处理能力的提高而消除.拥塞控制算法的 3 分布性、网络的复杂性和对拥塞控制算法的性能要求又使拥塞控制算法的 设计具有很高的难度.到目前为止,拥塞问题还没有得到很好的解决。因此 对拥塞控制的讨论是一个很重要的问题。 1.1.2 QOS 的需求的需求 随着高速网络技术和多媒体技术的飞速发展,人们越来越多地提出了 包括