cwnd(congestion window):拥塞窗口
MSS(max segment size):最大报文长度
ssthresh(slow start threshold):慢启动阈值
拥塞的标志:
1、重传计时器超时
2、连续收到3个冗余ACK
慢启动
发送方将cwnd的值以1个MSS开始并且每当传输的报文段首次被确认就增加1个MSS,这样下去,这个过程每过一个RTT,发送速率就翻番
总的来说,慢开始指的是发送速率起始慢,但增长并不慢(指数增长)
拥塞的对应策略
1、重传计时器超时
将ssthresh置为cwnd/2,TCP将cwnd置为1,重新开始慢启动过程
当cwnd到达或超过ssthresh的值时,结束慢启动并转移到拥塞避免模式(后面有)
2、检测到3个冗余ACK
执行快重传(后面有)并进入快速恢复状态(后面有)
拥塞避免
TCP每个RTT只增加一个MSS
快重传
发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段,而不必继续等待设置的重传计时器时间到期
快速恢复
Tahoe版本:
不管是超时还是3个冗余ACK,都无条件将cwnd减至1个MSS,并进入慢启动阶段
Reno版本:
超时的话和Tahoe一样
3个冗余ACK的话,执行乘法减小:将cwnd置为ssthresh的大小+3个MSS,并执行拥塞避免算法