慢启动和拥塞避免
考试要求: 掌握     
知识路径:  > 计算机网络原理  > Internet 协议  > 传输层协议 TCP 与 UDP  > TCP 拥塞控制策略(含 RED)  > TCP拥塞控制  > 拥塞控制的过程


 
       慢启动(Slow Start)是指TCP刚建立连接时将拥塞窗口cwnd设为1个报文大小,然后以指数方式放大拥塞窗口,直到拥塞窗口等于慢启动阈值ssthresh。
       具体来说,TCP开始将拥塞窗口设为1个报文大小,然后TCP发送1个报文;如果发送方TCP收到接收方TCP返回的ACK报文,TCP将拥塞窗口设为2个报文大小,然后TCP发送2个报文;如果发送方TCP又收到接收方返回的2个ACK报文(或1个累计确认报文),则TCP将拥塞窗口设为4个报文大小,直到拥塞窗口cwnd大于等于慢启动阈值ssthresh,然后进入拥塞避免阶段,如下图所示。
       
       慢启动阶段
       进入拥塞避免阶段,TCP采用线性增加(Additive Increase,AI)方式放大拥塞窗口,即发送方TCP每收到一个ACK确认报文,TCP将拥塞窗口cwind增加1个报文大小,如下图所示。
       
       拥塞避免阶段
       不管是在慢启动阶段还是在拥塞避免阶段,如果发生超时重传,则必须回到慢启动阶段,即此时拥塞窗口cwnd必须从1重新开始,而慢启动阈值ssthresh设置为上一次拥塞窗口值cwnd的一半。注意,以后每发生一次超时,慢启动阈值ssthresh就减半,这就表明,慢启动阈值ssthresh是按照指数规律减小的,这就是乘倍减小(Multiplicative Decrease,MD)。
       在实际应用中,TCP不会等待整个拥塞窗口值的报文都得到确认后才给拥塞窗口加1个报文长度的值,而是每收到一个确认报文就逐渐增大拥塞窗口。具体地说,TCP每收到一个确认报文后,就将拥塞窗口按照下面的公式增大:
       Increnment=MSS×(MSS/cwnd)
       cwnd=cwnd+Increment
       也就是说,TCP不是在每个RTT时间内将拥塞窗口增加整个MSS值,而是每收到一个确认报文,就将拥塞窗口增加MSS的一部分(即上面公式中的Increment)。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有