首页/网络/抓包与流量分析速查/半开连接的检测手段对比
本包目录(400 条)
tcpdump 过滤实战51 条Wireshark 技巧75 条
TCP 流分析82 条
应用层报文判读71 条丢包与时延定位60 条抓包工具链61 条

半开连接的检测手段对比

内核 Keep-Alive、应用层心跳、使用前探测三种方式各有代价:抓包可见心跳流量形态,设计时应让检测间隔小于中间设备老化时间。

用途选择并验证半开检测方案
对比内核 Keep-Alive / 应用心跳 / 惰性探测

方式对比

方式间隔可控性流量可见性
内核 Keep-Alive系统级参数周期小包
应用心跳应用自定义业务协议内
惰性探测使用时触发首包失败重试

验证

验证
sysctl net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_intvl
# 抓包确认心跳周期与老化时间的关系
检测到半开后的恢复动作(重连)也要设计重试退避,避免风暴。

易错点

  • 心跳间隔大于设备老化时间是常见设计缺陷,按链路最短老化时间取值
  • 检测流量太小可能在抓包中被忽略,验证时临时加过滤条件专门看

数据来源与参考

  • RFC 1122(Keep-Alive)
  • RFC 5382(NAT 行为)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌