TCP拥塞控制与方法改进

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:TCP拥塞控制与方法改进

摘要

如今网络已经离不开人们的生活,发展势头迅猛,网络的终端设备不仅在数量上,种类也越来越多,在此发展之下,保证大量的网络数据传输与网络性能相协调是极其重要的,经典的TCP拥塞控制机制是网络发展历史中人们想出的一种解决网络拥塞的方法,但如何适应当今网络发展的需求相信还是靠人们不断的探索来寻找合适的答案。本文致力于对经典TCP拥塞控制机制的讨论并提出相应的改进思路。

关键字:拥塞控制;慢启动;阈值;TCP拥塞窗口;数据包

一、概述

1.1TCP网络拥塞控制

TCP 是因特网中使用最广泛的一种传输协议,它是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,之所以应用广泛一大部分是由于它的可靠性、稳定性,它为通信的双方提供了可靠的端到端的服务,而实现这一可靠服务的便是TCP 所具有的可靠传输机制,其中包括重传、序号、确认号、定时、流量控制及拥塞控制。

当网络中存在过多的数据包时,网络的性能就会下降,这种现象称为拥塞。拥塞导致的直接后果是分组丢失率增加,端到端延迟加大,甚至有可能使整个系统发生崩溃。1986年10月,由于拥塞崩溃的发生,美国LBL到UC Berkeley的数据吞吐量从32Kbps跌落到4obps(Jacobsonv,1958)。当网络处于拥塞崩溃状态时,微小的负载增量都将使网络的有效吞吐量(Goodput)急剧下降。

图1-1吞吐量和负载的关系图

图1.1描述了网络负载和吞吐量之间的关系。当负载较小时,吞吐量的增长和负载相比基本成线性关系,延迟增长缓慢;在负载超过Knee点后,吞吐量增长缓慢,延迟增长较快;当负载超过Cliff点之后,吞吐量急剧下降,延迟急剧上升。通常将Knee点附近称为拥塞避免区间;Knee到Cliff之间是拥塞恢复区间;Cliff 之外是拥塞崩溃区间。可以看出,负载在肠ee附近时网络的使用效率最高。

拥塞控制就是由网络节点来采取措施避免拥塞的发生或者对拥塞的发生作出反应,使得网络能够传输较大的有效吞吐量,在图1.1中就是使负载保持在知ee附近。拥塞现象的发生和TCP八P网络的设计机制有着密切都联系。TCP/IP 网络具有如下几个特点:

(1)分组交换(packet-switched)网络。与电路交换(circul-switched)相比,分组交换通过共享提高了资源的利用效率,但这会引起分组在网络中滞留,造成分组数据可能出现“乱序”现象,增加了端系统处理乱序分组的复杂性。

(2)无连接(onneetionless)网络。TCP/IP网络中,从网络层的角度来看,节点之间在发送数据之前不需要建立连接。无连接模型简化了网络的设计,在网络的中间节点上不需要保存与连接到有关信息。但是无连接模型难以引入“接纳控制”(admissioncontrol)机制,在用户需求大于网络资源时,难以保证服务质量(QOS);无连接也是网络中出现分组乱序的一个主要原因。

(3)“尽力而为”的服务模型。所谓“尽力而为”的服务,是指网络不对数据传输的服务质量提供保证。这与网络早期的应用有关,传统的网络应用主要是数据业务,它们对网络性能(带宽、延迟、丢失率等)的变化不敏感,“尽力而为”服务能够满足需要。但“尽力而为”服务不能很好地满足新出现的多媒体应用的要求,这些应用对延迟、速率等性能的变化比较敏感。

虽然随着科技的发展,网络设备的处理速度不断加快、网络带宽持续增长,但是硬件的建设的速度有时赶不上应用需求的增长。而且,很多时候,即使局部的网络资源很充足,仍然会出现网络拥塞、分组数据丢失,从而导致性能下降。这是因为由于互连网络是一个及其复杂的分散系统,网络中总是存在资源“相对”短缺的位置,成为网络性能提高的瓶颈。

网络中拥塞现象发生的原因是“需求”大于“供给”。网络中有限的资源由多个用户共享使用。由于没有“接纳控制”策略,网络无法根据资源的情况限制用户的数量;同时,互连网络是一个分散控制系统,由于缺乏中央集成控制,网络无法控制用户使用资源的数量。目前,因特网上不断增长的用户和应用的数量,必然会导致网络发生拥塞。虽然拥塞源于资源短缺,但增加资源并不能避免拥塞现象的发生,有时甚至会加重拥塞程度。例如,增加路由器的队列缓存会增大分组通过路由器的延迟,如果总延迟超过端系统重传时钟的设定值,就会导致分组

重传,反而加重了网络拥塞。

图1-2网络的不均衡性示意图

拥塞总是发生在网络中资源“相对”短缺的地方,这反映了互连网络的不均衡性。这个不均衡性一方面表现在资源的不均衡,如图1.2(a)中带宽分布不均衡:当s以1MbPs的速率向D发送数据时,在路由器R处会发生拥塞。另一方面是由于流量的不均衡,如图1.2(b)中带宽分布是均衡的,但当Sl和S2都以1MbPs 的速率向C发送数据时,在路由器R也会发生拥塞。因特网中资源和流量分布的不均衡是广泛存在的,由此导致的拥塞不能通过增加资源的方法解决。

1.2拥塞控制及其研究意义

拥塞控制策略包括拥塞避免(congestion avoidance)和拥塞控制(congestioncontrol)这两种不同的机制。拥塞避免是“预防机制”,它的目标是避免网络进入拥塞状态,使网络运行在高吞吐量、低延迟的状态下。拥塞控制是“恢复”机制,它用于把网络从拥塞状态中恢复出来。在网络控制的研究中,拥塞控制和流量控制是网络的经典问题,但它们两个的概念比较容易混淆。

拥塞控制必须确保网络能进行数据传输,这是全局性的问题,涉及到所有主机、路由器以及所有其他将导致削弱网络负荷能力的因素。而流量控制只与发送者和接受者之间的点到点的数据传输有关,它的任务是确保一个快速发送方的发送速第一章绪论率不超过接收方的最大接受速度。可以看到,流量控制的功能实现位于网络的传输层,实现比较简单;而拥塞控制从广义上讲,涉及网络的所有层次,在具体的实现中,拥塞控制一般通过网络层和传输层相互协调来完成。

从不同的角度,拥塞控制可以被分为很多类。对目前网络拥塞控制研究现状的分类我们将在下一小节中进行介绍。

拥塞控制的研究目的不是要完全避免拥塞,而是研究怎样的拥塞程度是合适

相关文档
最新文档