首页/网络/协议速查/FIN_WAIT_1/2、CLOSING、LAST_ACK
TCP 与 UDP54 条

FIN_WAIT_1/2、CLOSING、LAST_ACK

关闭过程中的四个侧翼状态:FIN_WAIT_1 等 ACK;FIN_WAIT_2 等对方 FIN;CLOSING 双方同时关闭;LAST_ACK 等最后一个 ACK。

协议速查网络更新于 2026-10-12

状态

状态等待什么异常信号
FIN_WAIT_1对方对 FIN 的 ACK长期停留 = 对方不响应
FIN_WAIT_2对方的 FIN堆积 = 对端应用假死(收到 FIN 不关闭)
CLOSING对方对 FIN 的 ACK(同时关闭场景)罕见,短暂
LAST_ACK对方对最后 FIN 的 ACK堆积 = 对端消失了

查看与清理

查看与清理
ss -tan state fin-wait-1
ss -tan state fin-wait-2 | wc -l
sysctl net.ipv4.tcp_fin_timeout   # FIN_WAIT_2 超时兜底
FIN_WAIT_2 正常由对端 FIN 结束;tcp_fin_timeout 只在该连接无人管时兜底回收。

易错点

  • 「谁先 close 谁承担 TIME_WAIT/FIN_WAIT」:服务端主动关短连接会在自己这边堆积 TIME_WAIT

数据来源与参考

  • RFC 9293 §3.3.2
  • man 7 tcp

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌