最近我有一些端口持有 FIN_WAIT_1 状态,直到两天后。目标端口由一个服务器进程使用,客户端通过此端口连接到服务器进程。
情况是我们停止了服务器进程,显然有些客户端此时仍在与服务器连接。根据我的理解,服务器进程将FIN包发送到客户端并等待ACK包返回。不幸的是,那个ACK包似乎不像是服务器端,直到两天之后。
我的问题是有任何配置,例如超时到 FIN_WAIT_1 状态。我走过互联网搜索,但没有发现任何东西。如果您有任何相关经验,请帮助告诉我。
顺便说一句,当FIN_WAIT_1发生在端口时,服务器进程已经消失。
提前致谢
答案 0 :(得分:3)
FIN_WAIT_1
状态正在等待此端到刚刚发送的ACK
FIN
。传出的FIN
受到所有正常的TCP重试和超时处理的影响,因此如果另一端完全消失并且从未响应,则TCP应该超时连接并将其重置为理所当然。这就是为什么你找不到特定的FIN_WAIT_1
超时:没有一个,只有普通的TCP写定时器。
所有这一切都应该在十分钟左右发生。
如果状态持续存在并导致其他问题,我认为你没有太多选择,只能重启。
答案 1 :(得分:0)
你确定FIN_WAIT中的端口相同吗?这可能是由于负载均衡器或NAT设备在非活动超时后丢弃连接并静默丢弃任何其他数据包,这是某些设备上的默认行为。