什么是 CLOSE_WAIT 和 TIME_WAIT 状态?

什么是 CLOSE_WAIT 和 TIME_WAIT 状态?

当我netstat -a在 Windows 机器上执行此操作时,我得到了具有以下四种状态之一的端口列表:

- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED

CLOSE_WAIT和代表什么意思/表示什么TIME_WAIT

答案1

由于 TCP/IP 的工作方式,连接无法立即关闭。数据包可能会乱序到达或在连接关闭后重新传输。

  • 关闭等待表示远程端点(连接的另一端)已关闭连接。
  • 时间的等待表示本地端点(此端)已关闭连接。

连接被保留,以便任何延迟的数据包都可以与连接匹配并得到适当处理。如果连接在四分钟内超时,则将被删除。请参阅http://en.wikipedia.org/wiki/Transmission_Control_Protocol更多细节。

答案2

基本上,“等待”状态意味着一方关闭了连接,但关闭的最终确认尚未完成。

有关详细信息,请参阅此 TCP 状态图:

https://en.wikipedia.org/wiki/File:Tcp_state_diagram_fixed.svg

答案3

TIME_WAIT 表示等待足够的时间以确保远程 TCP 收到其 FIN 请求的 ACK。请参阅 zh.wikipedia.org/wiki/Transmission_Control_Protocol(以及 RFC 793)

相关内容