TCP拥塞控制

慢开始和拥塞避免:

慢开始原理:

(1)当主机开始发送数据时,如果立即将较大的发送窗口的全部数据字节都注入网络,由于不清楚网络的状况,可能会引发网络拥塞

(2)比较好的方式就是从小到大逐渐增大发送端的拥塞控制窗口数值

(3)一开始发送报文段的时候就将拥塞窗口cwnd的打星设置为最大报文段的MSS。如果收到了对新报文段的确认,那就就在大家一个MSS的数值

当rwind朱勾搭的时候,为防止拥塞端口cwind引起网络拥塞,就开始使用慢开始门限ssthresh进行控制,ssthresh的使用方法如下

拥塞避免算法如下:

(1)TCP连接初始化,将拥塞窗口设置为1

(2)执行慢开始算法,cwnd按指数规律增长,知道cwind=ssthress时,开始执行拥塞避免算法,cwnd按线性规律增长

(3)当网络发送拥塞,把ssthresh值更新为拥塞前ssthresh的一半,cwnd重新设置为1,然后再执行(2)

快重传和快恢复

快重传要求接收方在收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方)

而不要等到自己发送数据时捎带确认。快重传算法规定发送方只要已收到3个重复确认就应当立即崇川对方尚未收到的报文段,而不必继续等待

设置的重传计时器时间到期

快恢复算法:

(1)当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把sstresh门限减半。但是并执行慢开始 

(2)考虑到如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。所以此时不执行慢开始算法

,而是将cwnd设置为sstresh的打星,然后开始执行拥塞避免算法

原文地址:https://www.cnblogs.com/tijie/p/10574050.html