首页/网络/协议速查/TIME_WAIT 与 2MSL
本包目录(405 条)
HTTP 方法与状态码91 条HTTP 头与缓存70 条DNS 与域名解析60 条
TCP 与 UDP54 条
TLS 与加密50 条IP 与 ICMP37 条邮件与文件传输43 条

TIME_WAIT 与 2MSL

主动关闭方在发完最后 ACK 后进入 TIME_WAIT,等待 2MSL(Linux 固定约 60 秒):确保最后 ACK 能重传、让旧连接的重复报文过期。

协议速查网络更新于 2026-10-12
时长2MSL;Linux 内核固定 60s(不可通过 sysctl 改单条)
作用 1对端没收到最后 ACK 会重发 FIN,本端可重传 ACK
作用 2旧连接的四元组报文在网络中过期,不会串进新连接
影响主动关闭方端口在 60s 内不能以同一四元组复用

观测与处置

观测与处置
ss -tan state time-wait | wc -l
ss -tan state time-wait | awk '{print $4}' | awk -F: '{print $NF}' | sort | uniq -c | sort -rn | head
sysctl net.ipv4.tcp_tw_reuse   # 客户端/出站场景可安全开启
不要开 tcp_tw_recycle:Linux 4.12 起已移除,NAT 环境下曾导致大量连接被丢弃。

易错点

  • TIME_WAIT 本身是保护机制不是故障;真正要防的是「短连接高频 + 主动关闭」把本地端口或 conntrack 打满

数据来源与参考

  • RFC 9293 §3.3.2(2MSL 等待)
  • man 7 tcp(tcp_tw_reuse)

相关工具

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