跳到正文

如何定位间歇性网络问题

间歇性网络问题最好在症状出现之前就开始测量。把受影响设备和另一台设备对比,把本地网关 与公网目标分开测试,再把 DNS、应用检查与基础 IP 可达性分开。目标是找出行为发生变化的 第一个故障边界。

不要一上来就重启。重启路由器或设备也许能恢复服务,但同时会清掉状态,让故障更难解释。 只要条件允许,先记下时间、受影响设备和已有证据。

先准确描述症状

“断网了”可能代表完全不同的故障。应当记录用户真正看到的现象:

  • 所有服务都停止,还是只有一个网站或应用失败;
  • 只有一台设备受影响,还是这个地点的所有设备都受影响;
  • 已建立的通话或视频中断,还是只有新连接无法建立;
  • 只有域名不能解析,还是直接访问 IP 也失败;
  • 连接只是变慢,还是完全不可用;
  • 症状持续发生,还是一阵一阵地出现。

描述越准确,越容易判断某个推测成立时,哪些测量应该同步变化。

理解延迟、丢包与抖动

信号描述什么变化时可能有什么感受
延迟流量到达目标再返回所需的时间页面开始加载很慢、操作滞后、通话延迟
丢包未到达测量目标或没有返回的流量卡顿、重传、通话中断、吞吐下降
抖动多次测量或多个包之间的时延变化音视频不均匀、交互会话忽快忽慢

三者有关,但不能互相替代。一条路径可能延迟很高却十分稳定,而且完全不丢包;另一条路径 平均延迟很低,却有破坏性很强的突发丢包。平均值也会掩盖短暂而严重的故障,所以应该查看 时间线和具体故障窗口,而不是只看一天的汇总。

让测量跨越多个故障边界

选择能让不同推测彼此区分的检查:

检查覆盖的故障边界
本地网关端点、Wi-Fi 或以太网、AP、交换机、本地路由器
稳定公网 IP路由器 WAN、光猫、ISP 接入与更广的互联网路径
DNS 解析解析器、转发、过滤、DNS 传输与结果正确性
TCP 连接某项服务与端口是否可达
TLS 握手证书、协议协商、拦截与 TLS 端点
HTTP 响应连接建立后的应用与反向代理行为
设备状态本地资源压力、接口吞吐、运行时间或重启

至少从同一台设备同时测量网关和一个公网目标。如果条件允许,再从另一台设备或网关附近的 常开测量点执行同样检查。

第一步:对比端点,确定影响范围

先确认症状出现在:

  • 只有一台设备;
  • 同一个 Wi-Fi AP 或 VLAN 下的所有设备;
  • 同一地点的有线和无线设备;
  • 一个地点,其他地点正常;
  • 所有地点访问同一个远端服务时。

如果同一网络里一台端点失败、另一台保持正常,先检查端点和本地链路。如果一个地点的所有 端点同步变化,把调查范围移向共享网关或上行链路。如果彼此独立的地点同时无法访问同一项 服务,远端服务就更值得怀疑。

第二步:把本地网关与互联网路径分开

在准确的故障时间窗口内对比网关和公网目标:

  • **一台设备上,网关与公网目标一起恶化:**先检查这台设备的 Wi-Fi 或有线链路、接口和 AP 关联。
  • **多台设备的网关一直正常,但公网目标一起恶化:**检查路由器 WAN、光猫、ISP 链路与上游路径。
  • **所有本地设备访问网关都恶化:**检查路由器负载、交换、线缆、AP 回程、电源或本地广播问题。
  • **只有一个公网目标恶化:**先对比另一个独立公网目标,不要直接判断整条互联网连接故障。

网关回复是诊断证据,不是绝对保证。有些设备会限制或降低 ICMP 的处理优先级,却仍能正常 转发普通流量。可疑模式还要用服务分层检查确认。

第三步:分开测试 Wi-Fi 与有线路径

无线端点受影响时,把它和有线端点对比;如果有条件,也和同一位置附近的另一台 Wi-Fi 设备对比。观察信号、链路速率、接口状态、漫游和网关质量是否变化。

如果受影响设备到网关的质量变差,而有线 Agent 保持稳定,Wi-Fi 问题更可能成立。如果 有线和无线设备都无法访问公网目标,同时都能稳定到达网关,那么证据更指向本地无线链路之外。

第四步:把 DNS 与基础可达性分开

应用通常先查询域名,所以 DNS 故障很像彻底断网。把公网 IP 检查和明确的 DNS 检查对比:

  • IP 可达但 DNS 失败:检查指定解析器、路由器转发、过滤、分流 DNS、加密 DNS 路径或结果策略。
  • 两者同时失败:DNS 可能只是更大范围网络故障的下游症状。
  • 只有一个域名失败,其他查询成功:检查权威 DNS、缓存、过滤或该域名自身配置。

一次成功的缓存查询不能证明解析器在整个事件期间都正常。持续检查比恢复后的临时查询更能 保留故障窗口。

第五步:逐层检查应用协议

基础可达性正常时,按层检查服务:

  1. 端点能否解析出预期域名?
  2. 能否连接所需 TCP 端口?
  3. 能否完成 TLS 握手?
  4. HTTP 服务是否返回预期响应?

第一个失败层会收窄下一步范围。ICMP 有回复不代表端口开放、TLS 协商成功或应用健康; 反过来,服务也可能在 ICMP 被过滤时仍然正常工作。

第六步:关联设备自身状态

只有一台设备出问题时,不一定是网络故障。在本地授权允许的范围内,把事件窗口和 CPU、 内存压力、磁盘活动、运行时间、接口吞吐、进程或连接证据对比。

例如,设备可能因为负载很高、接口饱和,或本地代理与安全软件拦截流量,导致 DNS 与 HTTP 检查一起变慢。如果另一台设备到网关的质量一直正常,这些本地证据比整个地点的汇总状态更重要。

第七步:谨慎解释路径诊断

路径跟踪能显示回复在哪里停止、延迟可能从哪里开始升高,但不能单独确定出故障的运营商或 设备。路由器可能不回复诊断包,回程可能不同,某个中间跳响应慢也不代表后续真实流量受损。

路径证据在故障期间自动采集、并能和同一目标的正常路径对比时最有用。应该寻找与端到端 丢包或延迟同步的实质变化,而不是只盯着一个不回复的中间跳。

第八步:确认恢复并保存证据

第一次检查成功时不要立刻结束调查。记录每一层何时恢复,以及恢复是否呈现有意义的顺序, 例如先恢复网关,再恢复公网可达性、DNS,最后恢复应用。恢复后保持一小段稳定时间,才能 区分真正解决与又一次短暂波动。

保存事件时间线、测量、路径诊断以及故障期间做过的更改。这样重复故障就可以互相比较, 和 ISP、设备厂商或内部支持沟通时,也能把“当时很慢”变成明确的时间窗口与故障边界。

常见排查误区

  • 只在恢复后测试。 正常结果不能描述故障当时的状态。
  • 只观察一个目标。 单个目标故障可能看起来像整个地点断网。
  • 只看平均值。 短暂丢包与抖动会消失在很长的汇总窗口里。
  • 把 ping 当成应用健康。 DNS、端口、TLS 与 HTTP 可以独立失败。
  • 记录证据前先重启。 重启改变了正准备解释的系统。
  • 只从 Server 所在位置采集。 中心视角无法发现每台端点和 Wi-Fi 的差异。
  • 把 traceroute 当成归责证据。 它是路径证据,不是根因判决。

用 NetTact 落实这套流程

可以在网关或常开主机、受影响的用户设备,以及可能独立故障的远程地点放置 Agent。在需要 比较的位置配置相同的网关、公网、DNS 和应用目标。NetTact 把测量放进同一套历史,并把 确认故障、前兆波动、可用的路径诊断和恢复连接成事件。

先阅读家庭与小型网络监控,再根据规模选择一台电脑上的 NetTact Desktop,或为多个测量点自托管 NetTact Server。 Agent 的采集与目标访问始终受本地权限策略约束。

相关标准

精确定义可参考 IETF 的往返时延单向丢包IP 包时延变化度量。RFC 1812 也说明路由器可以 限制 ICMP 错误消息速率, 这也是诊断回复必须结合端到端服务行为解释的原因之一。

配置清单以各二进制 --help 输出为单一事实来源