TCP的拥塞控制策略

本文详细介绍了TCP的拥塞控制策略,包括基于窗口的AIMD算法,以及慢启动、拥塞避免、快速重传和快速恢复四个阶段。讨论了TCP Tahoe、Reno、NewReno和SACK等典型算法的优缺点,并分析了它们在网络拥塞控制中的表现。
摘要由CSDN通过智能技术生成
一、TCP基于窗口的拥塞控制策略
1.1 加法增加乘法减少(AIMD)窗口算法

    TCP是Internet中最流行的端到端传输协议,为主机之间提供可靠按序的传输服务。在现有的TCP/IP协议体系下,TCP拥塞控制机制主要基于加法增加乘法减少(AIMD)算法。在该算法中主要用到三个窗口变量:
    (1)拥塞窗口(cwnd):限定源端在拥塞控制中在一定时间内允许传送的最大数据量,是来自源端的流量控制。
    (2)通告窗口(awnd):连接建立及传输过程中,接收端向源端通告的最大可接收速率,是来自接收端的流量控制。
    (3)有效窗口(win):源端数据发送的实际窗口大小,限定为win=min(cwnd,awnd)。
由于计算机计算能力和存储能力的提高,通告窗口一般都比较大,因此当前发送窗口的大小大多数情况下等于拥塞窗口的大小。
    AIMD的具体工作过程为:
    (1)源端每收到一个ACK,拥塞窗口按下式增加:
    Incr=MSS×(MSS/cwnd)   (MSS为分组大小)
    cwnd=cwnd+Incr
    也就是,如果每个发出的分组都在最近的RTT(往返时延)时间内获得确认,源端就将cwnd增加1,即加法增加。
    (2)当发生超时,TCP将超时看作拥塞的标志,并减小发送速率。每发生一次超时,源端重新计算拥塞窗口值:
    cwnd=cwnd/2
    也就是,一次超时,拥塞窗口值减为当前值的一半,即乘法减少。
二、TCP拥塞控制的四个阶段
2.1 慢启动阶段

    当连接刚建立或超时时,进入慢启动阶段。
    当新建TCP连接时,拥塞窗口(cwnd)被初始化为一个数据包大小。源端按cwnd大小发送数据,每收到一个ACK确认,就增加一个数据包发送量&#x
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值