面试官 :聊完快速重传,说说快速恢复是咋回事吧~
你: 面试官你好,快速恢复设计的背景是这样的 (划重点,要把背景说出来,这样显得你懂得多)
- tcp 为了保证传输效率,设置了一个 拥塞窗口 用来限制发送方的传输速率
- 而当网络发生丢包时,我们应该适当降低拥塞窗口的阈值
首先说慢启动:在连接建立之初的的慢启动阶段,这个拥塞窗口的大小初始值被设置为1。每收到一个ack,对应拥塞窗口大小就会对应加1。所以慢启动时的拥塞窗口是 翻倍增长
而拥塞避免算法:新增了一个 慢启动阈值(sshresh)初始为65535 ,当发生超时或者重复的ack时, 慢启动阈值被减少至拥塞窗口的一半,或者接收方 滑动窗口 的最小值 。
用一句话来总结快速恢复算法:而当拥塞窗口大于慢启动阈值时,执行拥塞避免,反之就是执行启动 (划重点:总结)
超级重点来了!!!!
无论是快速重传和快速恢复。 设计之初都是假设网络不会发生经常的波动 ,而现在移动互联网的使用,导致tcp当前的设计,并不太适合。 因为手机4G丢包、网络切换是常有的事。所以现在衍生出了QUIC协议 。
内心OS:
面试官:行了,tcp我不问了。你牛逼~