最近两次面试都遇到的问题,有必要补缺。
可靠传输工作原理:
-
停止等待协议 超时重传
-
连续ARQ协议 使用滑动窗口,累积确认,回退N
TCP可靠传输:
-
以字节为单位的滑动窗口
-
超时重传时间
-
选择确认sack
TCP流量控制:
-
利用滑动窗口
-
发送零窗口报文后,非零窗口报文丢失。解决方法是持续计数器机制超时发送探测报文段。
-
糊涂窗口综合症 接收缓存慢,取数据很少,导致每次传输少。解决方法是让接收方等待一段时间或者等到接收缓存空闲一半。
TCP拥塞控制:
方法分为开环控制和闭环控制。闭环控制基于反馈。
1. 慢开始和拥塞避免
慢开始:窗口单位为MSS。收到N个确认后窗口增加N。慢开始门限ssthresh为切换极限。
拥塞避免:往返时间RTT后窗口加一。拥塞后ssthresh减为一半。窗口置1执行慢开始。
2. 快重传和快恢复
快重传:接收方遇到失序报文及时发送有序报文的重复确认。发送方一连收到三个重复确认立即重传尚未收到的报文,不必等待重传计时器。
快恢复:发送方连续收到三个重复确认,将慢开始门限减半。窗口设为门限值,窗口假发增大。