Introduction to Computer Networking学习笔记(二十四):拥塞控制 TCP Reno

原贴地址:https://blog.csdn.net/djl806943371/article/details/89550824

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。通过这种方式,可以实现每收到一个ack,便发送一个数据,而不需要等待重传包的ack(即与先前受到的ack不相等的新的ack)返回之后才开始发送新数据。之所以要这样处理,是因为接收到重复ack意味着有数据包离开网络,如果在这种情况下,是可以继续发送新数据的。而我们知道cwnd在这种扩张模式下,每过RTT,cwnd将会翻倍。而重传丢失的包到新的ack到达之间的时间刚好的一个RTT,因此在这期间,又发送了0.5oldcwnd+oldcwnd 即 1.5oldcwnd,可以看到与oldcwnd相比较,多发送了0.5oldcwnd的数据。在这之后接收到了新的ack,此时将cwnd重置为 oldcwnd/2 ,并再次进入拥塞避免状态。

可以对比下面两个示意图,比较Tahoe与Reno的区别:

最后给出一个题目检验下是不是真的会了,总体来说这一节比较难:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值