> 文章列表 > 4.23、TCP状态转换(为什么四次挥手)

4.23、TCP状态转换(为什么四次挥手)

4.23、TCP状态转换(为什么四次挥手)

4.23、TCP状态转换

  • 1.TCP状态转换图
  • 2.为什么需要四次挥手,状态转换

1.TCP状态转换图

4.23、TCP状态转换(为什么四次挥手)
4.23、TCP状态转换(为什么四次挥手)

2.为什么需要四次挥手,状态转换

  • 2MSL(Maximum Segment Lifetime)
    主动断开连接的一方, 最后进入一个 TIME_WAIT状态, 这个状态会持续: 2msl
    • msl: 官方建议: 2分钟, 实际是30s

    TCP 连接主动关闭方接收到被动关闭方发送的 FIN 和最终的 ACK 后,连接的主动关闭方必须处于 TIME_WAIT 状态并持续 2MSL 时间。

    这样就能够让 TCP 连接的主动关闭方在它发送的 ACK 丢失的情况下重新发送最终的 ACK

    主动关闭方重新发送的最终 ACK 并不是因为被动关闭方重传了 ACK(它们并不消耗序列号,被动关闭方也不会重传),而是因为被动关闭方重传了它的 FIN。事实上,被动关闭方总是重传 FIN 直到它收到一个最终的 ACK