什么是 CLOSE_WAIT 和 TIME_WAIT 状态?

Laz*_*zer 195 networking windows port tcpip

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

- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
Run Code Online (Sandbox Code Playgroud)

什么CLOSE_WAITTIME_WAIT意味着/表明什么?

Bil*_*hor 216

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

  • CLOSE_WAIT表示远程端点(连接的另一端)已关闭连接。
  • TIME_WAIT表示本地端点(这边)已经关闭了连接。

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


sle*_*ske 34

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

有关详细信息,请参见例如此 TCP 状态图:

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

  • 这准确地描述了 CLOSE_WAIT 而不是 TIME_WAIT。TIME_WAIT 表示本地应用关闭了连接,对方确认并发送了自己的FIN。我们现在正在等待任何可能扰乱同一端口的新用户的杂散重复数据包。 (18认同)