如果 Windows 服务器有数千个端口处于打开LAST_ACK
状态(如 netstat 所示),这意味着什么?是因为一个端点正在等待另一个端点响应吗?
peh*_*hrs 11
last_ack 状态(如果我没记错我的 TCP 堆栈)是当您收到 FIN 消息以关闭来自邻居的连接时的状态,但您仍然需要刷新并关闭您的连接。您自己发送最终的 FIN 并等待 ACK。
通常挂在 last_ack 意味着您的应用程序保持套接字打开,即使另一端已完成发送数据。这可能有多种原因。可能有防火墙或其他负载均衡器丢失了来自客户端的最后一个 ACK,并使您陷入 last_ack 状态。如果连接在几分钟(10 左右)后没有超时,您可能有错误。
在http://tangentsoft.net/wskfaq/articles/debugging-tcp.html查看状态图
LAST_ACK 表示你端已经收到对端的 FIN,发送了一个 ACK,发送了一个 FIN,正在等待来自对端的最终 ACK。此时,应用程序无能为力:套接字已关闭。应用程序甚至可能已经退出。从这里开始,由 TCP 重新发送 FIN,直到它获得最终的 ACK,或者超时。除了调查网络之外,您作为管理员无能为力。
LAST_ACK 是关闭 TCP 连接之前的最后一个状态。
归档时间: |
|
查看次数: |
75553 次 |
最近记录: |