天天看点

大厂高频网络面试题之tcp停止等待协议的优化(滑动窗口与累积确认)tcp停止等待协议的优化(滑动窗口与累积确认)

tcp停止等待协议的优化(滑动窗口与累积确认)

一、停止等待协议的优缺点

优点: 可靠。

缺点: 信道利用率低,即一个数据包得等到确认才能接着往下发。

大厂高频网络面试题之tcp停止等待协议的优化(滑动窗口与累积确认)tcp停止等待协议的优化(滑动窗口与累积确认)

信道利用率: 即: 数据包发送时间 / (数据包发送时间+等待确认时间+确认包接收时间)

大厂高频网络面试题之tcp停止等待协议的优化(滑动窗口与累积确认)tcp停止等待协议的优化(滑动窗口与累积确认)

二、如何优化?

  想要提升信道利用率,由于"等待确认时间" 跟 "确认包接受时间"是一定的,所以,我们只有增大数据包的发送时间,即无间断的发送一定量的数据包,就是我们的数据包不一个一个等,这也引出了我们的滑动窗口(连续的ARQ协议)了。

滑动窗口与累积确认:

1、tcp在第一次连接会跟发送方会跟接收方确认一个窗口的大小,即数据的发送与接受缓存区。

2、如下图,滑动窗口的值为5,即一次有5个数据包可以连续发送;当B计算机累积收到连续5个数据包时,向A计算机发送一个累积确认信号5(“我已经收到5个包啦,快点,下一波!”),紧接着A的滑动窗口向后滑动5格(“下一波兄弟进入备战区!”),即之前发过的咱不管了也不备份在缓存区了。紧接着A计算机发送6、7、8、9、10这些数据包。

大厂高频网络面试题之tcp停止等待协议的优化(滑动窗口与累积确认)tcp停止等待协议的优化(滑动窗口与累积确认)

3、假如B计算机只收到了1、2、4数据包,3数据包丢失了,那么就会向A数据包发送确认信号3,告诉A计算机从数据包3开始重传(这里有个坏处,就是加入我们只丢失了数据包2,会导致A计算机的大量重传)。

继续阅读