首页/网络/抓包与流量分析速查/负载均衡 RST 的识别
TCP 流分析82 条

负载均衡 RST 的识别

负载均衡/代理在健康检查失败、会话过期或后端不可用时会主动回 RST:抓包中 RST 的序列号可能与正常响应不连续,且与后端侧抓包对不上。

负载均衡 RST 是什么

负载均衡与代理在健康检查失败、会话保持过期、后端被摘除或连接数触顶时会主动发出 RST。识别它的关键在于判断这枚重置报文的来历:它通常紧跟请求且没有任何后端响应,与正常响应的序列号不连续,IP TTL 与响应时延也常与后端实际回包不同。最有力的证据是前后端双侧抓包对照——如果后端侧根本没有记录到这次请求,说明连接在负载均衡处就被终止了。把这类重置当成后端崩溃的证据,会把排查方向彻底带偏。

基本信息

常见触发健康检查失败、会话保持到期、后端摘除、连接数限流
抓包判据RST 紧跟请求且其后无任何后端响应
验证方法前后端双侧抓包对比连接是否被重建
关注字段tcp.flags.reset、RST 的 IP TTL 与帧时间
旁证发生时刻与健康检查周期吻合

典型使用场景

  • 定位重置来源:区分是客户端、负载均衡还是后端发出的 RST
  • 会话保持核查:确认保持超时时间是否短于业务空闲间隔
  • 发布与缩容分析:后端被摘除期间出现批量重置属预期行为
  • 限流验证:确认连接数限制触发的拒绝形态是立即重置而不是排队等待
  • 与真实故障区分:后端自身崩溃产生的重置通常伴随后端侧记录

线索清单

线索清单
tcp.flags.reset == 1 && tcp.stream == N    # 定位重置报文所在流
# 1) RST 是否紧跟请求且其后无后端响应
# 2) RST 的 TTL 是否与后端正常回包一致
# 3) 发生时刻是否与健康检查周期吻合
# 4) 后端侧抓包与日志是否记录到该请求

RST 来源判别

发出方线索后端是否有记录
客户端本地抓包即见,序列号延续正常有
负载均衡紧跟请求、TTL 与延迟特征不同于后端、时刻与检查周期吻合无
后端重置前后有后端正常报文与日志痕迹有
代理型负载均衡会保持两条独立的 TCP 会话,前后端的五元组与流编号都不相同,比较时要分别在两侧定位对应业务流,而不是逐包对齐。
把重置的时间戳与设备健康检查间隔对齐看一眼,往往能直接锁定来源;这是投入产出比最高的一个核对动作。

易错点

  • 把负载均衡侧发出的 RST 当成服务崩溃的证据,会误导后端排查方向,先确认重置报文的发出点再下结论
  • 会话保持超时短于业务空闲间隔时,长连接会在安静期被静默清理,表现为周期性失败而不是持续不可用,容易误判为偶发网络抖动
  • 健康检查制造的重置会混入故障统计,计算失败率前先把探测来源排除
  • 只看应用日志容易得出请求没到的错误结论,设备日志与双侧抓包才能证明请求实际到达了哪一跳

数据来源与参考

  • RFC 9293(RST)
  • Wireshark User's Guide
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌