3

最近我有一些端口保持在FIN_WAIT_1状态,直到两天后。目标端口由一个服务器进程使用,客户端通过此端口连接到服务器进程。

情况是我们停止了服务器进程,很明显,此时某些客户端仍在与服务器连接。据我了解,服务器进程向客户端发送一个 FIN 包并等待 ACK 包返回。不幸的是,该 ACK 包似乎直到两天后才出现在服务器端。

我的问题是是否有任何配置,例如超时到FIN_WAIT_1状态。我浏览了互联网搜索,但在那里一无所获。请帮忙告诉我你是否有这方面的经验。

顺便说一句,当 FIN_WAIT_1 发生在端口上时,服务器进程已经消失了。

提前致谢

4

2 回答 2

4

FIN_WAIT_1状态正在等待ACKFIN端刚刚发送的对等方。该传出FIN受制于所有正常的 TCP 重试和超时处理,因此如果另一端完全消失并且从未响应,则 TCP 应该将连接超时并重新设置它是理所当然的。这就是你找不到特定FIN_WAIT_1超时的原因:没有,只有普通的 TCP 写定时器。

这一切都应该在十分钟左右的时间内发生。

如果状态持续存在并导致其他问题,我认为您别无选择,只能重新启动。

于 2012-06-05T03:48:57.990 回答
0

你确定这是卡在 FIN_WAIT 中的相同端口吗?这可能是由于负载平衡器或 NAT 设备在不活动超时后丢弃连接并静默丢弃任何进一步的数据包,这是某些设备的默认行为。

于 2016-09-30T18:56:26.013 回答