TCP经历了Tahoe版本之后,出现了一个新版本 Reno 。这个版本对Tahoe进行了改进,如果从有限状态机的角度看,Tahoe有两个状态,Reno有三个状态:
这里面有三个机制,这一部分需要认真好好理解,很容易发现知识盲区:
1. 快速重传:当发送者接收到三个重复的ack即认为丢失了一个包,立马对该包进行重传,在这一点上与Tahoe是一致的,但是Reno不会返回慢启动状态,只有超时才会返回慢启动状态;
2. 快速恢复:当接收到三个重复ack时,不会将cwnd设为1MSS,而是减半原先的一半,原先的记为oldcwnd(后面有用处),与AIMD一致,进入快速恢复状态;
3. 快速恢复:当处于快速恢复状态时(即收到三个重复ack,重传了丢失的包,进入了快速恢复状态),当又接收到一个重复ack时,将cwnd+3+1,此后每再次受到一个重复ack,将cwnd+1。