1.两个概念

  • RTT:发送一个数据包到收到对应的ACK,所花费的时间
  • RTO:重传时间间隔,即多久时间内没收到数据包对应的ACK,则再次发送该数据包

tcp的滑动窗口

tcp使用滑动窗口做流量控制与乱序重排,主要功能有如下两点:

  • 保证tcp的可靠性
  • 保证tcp的流量控制特性

【02-计算机网络面试核心】02-tcp滑动窗口

tcp发送方滑动窗口发送数据过程如下: 【02-计算机网络面试核心】02-tcp滑动窗口

发送的数据主要分为四类:

  1. 已发送并已收到ACK包
  2. 已发送但未收到ACK包
  3. 未发送但可以发送(准备发磅)
  4. 未发送且不可以发送(超过了窗口的大小)

其中,第2和第3加起来的报文长度就是发送窗口大小了。

tcp接收方滑动窗口接收数据过程如下: 【02-计算机网络面试核心】02-tcp滑动窗口

与发送方类似,接收方的数据分为以下3类:

  1. 已接收并且已经返回ACK包
  2. 未接收但可以接收(准备接收)
  3. 未接收且不可以接收(超过了窗口的大小)

其中,第2部分的报文长度就是发送窗口大小。

接收窗口只有在前面所有的段都确认的情况下,才会移动左边界,当前面还有字节未接收但收到后面的字节时,窗口并不会移动,不会对后续字节进行确认,以确保对端会对未接收的数据进行重传。

总结:tcp传输可靠性来源于确认重传机制,tcp滑动窗口的可靠性也是建立在确认重传机制上的。


【02-计算机网络面试核心】02-tcp滑动窗口

转载于:https://my.oschina.net/funcy/blog/3006133

相关文章:

  • 2021-05-16
  • 2021-06-15
  • 2021-09-07
  • 2021-10-30
  • 2022-12-23
  • 2021-11-22
猜你喜欢
  • 2021-09-26
  • 2021-09-18
  • 2021-10-30
  • 2021-08-26
  • 2021-05-07
  • 2021-04-27
  • 2022-12-23
相关资源
相似解决方案