TCP 中Tahoe与Reno拥塞控制算法的比较

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

TCP 中Tahoe与Reno拥塞控制算法的比较

S131010038,李腾,通信2班

摘要:Internet 的快速发展对网络的通信提出了更高的要求, 拥塞控制已成为网络能否有效可靠运行的关键技术。本文对TCP Tahoe和TCP Reno两种基本拥塞控制的原理和性能做了简要分析,并讨论了TCP拥塞控制研究的发展趋势。

关键词:拥塞控制,TCP Tahoe,TCP Reno。

Abstract:The rapid development of the Internet put forward higher request to network communication,so congestion control has become an key technology in related to the effective and reliable operation of the network.In this paper,the principles and performance of the TCP Tahoe and TCP Reno congestion control are briefly analysized,and the research trend of the development of the TCP congestion control is discussesed.

Keywords: Congestion control ,TCP Tahoe, TCP Reno.

一、引言

随着互联网技术的迅猛发展,越来越多的用户使用网络中的资源。虽然网络带宽等资源也在不断增加,但与日益增长的用户数量比起来,仍然不能满足用户的需求。网络拥塞问题逐渐露出来网络拥塞已经成为制约网络发展和应用的一个瓶颈。如何更好的预防和控制拥塞,使网络具有低丢包率和低时延的同时达到资源的最大效用,是近年来网络研究的热点问题。

拥塞是指在要求网络传输的分级数量开始接近网络的分组处理(传输)能力时, 通信网络不能很好地提供网络通信服务来满足用户要求的情况。拥塞的表现是分组丢失, 分组传输往返时间太长以及上层应用性能下降等[1]。拥塞产生与以下因素有关:(1)网络带宽不足。(2)存储空间不够。(3)处理器处理能力弱。但单一的增加带宽, 扩大存储空间和提高处理能力, 并不能解决拥塞问题,相反可能会出现更严重的拥塞, 所以在网络中要进行必要的拥塞控制。拥塞控制就是采取一定的策略, 将网络中的分组维持在一定的水平,维持尽可能高的吞吐量[2]。

TCP已成为应用最为广泛的传输协议,TCP的拥塞控制其成功的关键,近年来一直是一个活跃的研究领域。TCP拥塞控制的主要目标是控制进入网络的数据流量,保证通信网络不会被用户发送的数据流阻塞,并合理地使用瓶颈资源。

本文首先简单介绍对TCP Tahoe拥塞控制算法和TCP Reno拥塞控制算法两种算法做了简要分析,并对其对网络的控制拥塞的作用做了比较,然后对基于窗口的TCP 拥塞控制存在的问题做个简单探讨与展望。

二、拥塞控制算法

TCP 的拥塞控制是基于窗口的。流量控制由两个窗口来行:发送端的拥塞窗口(CWND)和接收端的通告窗口(RCVWND)。发送端一次发送一个窗口的数据,禁止发送大于min (RCVWND,CWND}的窗口大小的数据进入网络。TCP 用于拥塞控制的主要参数有:(1)拥塞窗口(CWND):描述源端一次最多能发送的数据量。

(2)慢启动阈值( ssthresh) :拥塞控制中慢启动阶段和拥塞避免阶段的分界点, 初始值通常设为65535Bytes。

(3)回路响应时间( RTT, Round Trip Time):一个TCP 数据包从源端发送出去一直到源端收到宿端的ACK 确认包的时间间隔。

(4)超时重传计数器( RTO, Ret ransmi t T imeOut ):指一个数据包从发送到失效的时间间隔,是判断数据包是否丢失, 网络是否拥塞的重要参数,通常设为2RTT 或5RTT。

(5)快速度重传阈值( tcprexmtthresh):源端用来判断是否进行快速重传的一个分界值。是指源端收到的重复ACK 确认包的个数。当此个数大于tcprexmt thresh 时, 源端进入快速

成重传阶段.。tcprexmtthresh的值通常为3。

2.1、TCP Tahoe

Tahoe 包括慢启动、拥塞避免和快速重传。在慢启动阶段:起初,发送端发送一个TCP 报文段数据(通常是51 2 字节),即CW ND =1TCP报文段,以后当发送端每收到一个来自接收端的确认(ACK ),就对CWND加1 ,故CWND在慢启动阶段每一个周转时间(RTT )内加倍一次。当CWND增加到慢启动闭值SSTHRESH (通常设为64K字节),就进入拥塞避免阶段。

在拥塞避免阶段:发送端每收到一个确认,就对CWND加1/CWND。所以,慢启动阶段和拥塞避免阶段CWND相应每个RTT,分别是一个指数函数和一个线性函数。

其拥塞控制算法描述如下:

( 1)每次收到一个新报文的确认后

i f CWND < sst hresh, set CWND = CWND + 1;

else set CWND = CWND + 1/ [CWND w ] ;

( 2)如果测得一个报文丢失,则

set sst hr esh= CWND / 2

set CWND = 1

在一个R TT内最多重发一个报文,其中CWND表示可用窗口大小ssthr sh表示慢启动门限值,是慢启动进入拥塞避免的分界值。该算法的基本思想是:源端通过线性增加速率来探测网络中的空闲容量,而当检测到拥塞时则以指数递减它的速率,拥塞是在源端检测到丢包时被确认[3]。

连接建立的初始阶段,窗口大小被设置为一个包大小,然后源每收到一个确认帧就将窗口加1,这使得窗口大小在每个RTT内加倍此过程称为慢启动,当窗口达到一定门限值时源端进入拥塞避免阶段。该阶段的源端每收到一个确认帧将窗口增加当前窗口大小的倒数这使窗口,每个RTT增加1该过程称为加性增长,决定由慢启动阶段转移到拥塞避免阶段的门限值说明了网络中的可用容量而且该值在检测到丢包时被调整每当检测到一个丢包时源端将慢启动门限值设为当前窗口的一半重传丢失的包,将窗口重置为1重新进入慢启动。如图1所示。

图1、TCP Tahoe的慢启动和快速重传

相关文档
最新文档