为什么 TCP 挥手需要有 TIME_WAIT 状态?

网络

请详细解释为什么 TCP 挥手需要有 TIME_WAIT 状态。

推荐答案

TCP 挥手需要有 TIME_WAIT 状态的原因包括:

  • 确保最后一个 ACK 包到达:TIME_WAIT 状态确保最后一个 ACK 包能够到达服务器,避免连接未完全关闭。
  • 防止延迟的报文段影响新的连接:TIME_WAIT 状态防止之前连接的延迟报文段影响新的连接。

TIME_WAIT 状态持续时间为 2MSL(最大段生命周期),确保网络中的所有报文段都已消失。