TCP的流量控制
举例说明:
为了解决这一问题,TCP为每一个连接设有一个持续计时器,只是TCP连接的一方收到对方的零窗口通知,就启动持续计时器。若持续计时器超时,就发送一个零窗口探测报文,仅携带一字节的数据。而对方在确认这个探测报文段时,给出自己现在的接收窗口值:
- 若接收窗口是0,则持续计时器重新计时。
- 若接收窗口不是0,则死锁局面可以被打破。
如果零窗口探测报文段丢失了,会出现怎样的问题呢?还能打破死锁局面吗? 答:可以。因为零窗口探测报文段也有重传计时器。重传计时器超时后,零窗口探测报文段会被重传。
小结
一些例题
例题1:
解: A。
TCP的拥塞控制
TCP的四种拥塞控制方法:
- 慢开始
- 拥塞避免
- 快重传
- 快恢复
慢开始 & 拥塞避免
慢开始:指数级别的上升。 拥塞避免:一个个上升。
过程如下:
总结如下:
快重传 & 快恢复
快重传:
快恢复:
小结
一个例子包含四个算法:
一些例题
解: C。
TCP超时重传时间的选择
RTO的计算方法:
无法准确测量RTT:
对上述问题的解决方法和对其解决方法的修正:
举例说明——TCP超时重传时间的计算:
小结
TCP可靠传输的实现
不建议向后收缩的操作: 很可能在发送方收到这个通知前已经发送了窗口中的许多数据。收到通知后收缩了窗口——已经发送的数据就不让发送了。这样会产生错误。
对于窗口: 窗口中的数据分为:
- 已经发送但并未收到确认的数据
- 可以发送但还未发送确认的数据
如何描述这个窗口?
对于TCP可靠传输实现的举例:视频的第1分钟-10分钟。
小结
一些例题
例题1: 解: D。
例题2: 解: B。
|