访问慢是哪一跳出的问题?用宝塔拨测的路由追踪逐跳排查网络路径
网站访问慢,用 PING 只能看到「起点到目标」这一段的往返延迟,用 TCP 只能看到端口「通不通」,都定位不了「中间到底哪一段网络出的问题」。这时候用宝塔拨测(t.bt.cn)的路由追踪:它把从检测节点到目标 IP 的整条路径拆成一跳一跳,每一跳单独给出延迟、丢包和超时,你能直接看到问题出在哪一跳、哪个地区。
下面用一次真实路由追踪(福建泉州电信节点追踪 8.8.8.8)演示怎么发起、怎么读结果。
路由追踪和 PING、TCP 差在哪
三种拨测各管一段,定位问题的能力不一样:
| 方式 | 能看到什么 | 能定位到哪一层 |
|---|---|---|
| PING | 起点到目标的往返延迟、丢包率 | 整段链路「快不快、丢不丢」 |
| TCP | 端口能否建立连接、连接耗时 | 端口层「通不通、慢不慢」 |
| 路由追踪 | 每一跳的延迟、丢包、超时 | 具体哪一跳、哪个网段开始出问题 |
所以当「PING 或 TCP 检测不足以定位中间哪一段网络出问题」时,就该上路由追踪了——这正是宝塔拨测官方文档对它的定位。
怎么发起一次路由追踪
在宝塔拨测打开路由追踪,按三步走:
- 填目标 IP:输入框填目标 IP 地址,例如
8.8.8.8。注意这里要填 IP 不是域名;手头只有域名时,先用 DNS 测速看它解析到的 IP 再填。 - 选起始节点:点「选择节点」,可以按运营商筛选,或搜索地区、节点名,选中要发起追踪的节点后点「确定」。
- 开始检测:点「开始检测」,等待检测进度和逐跳结果更新。
结果页会保留输入区,在下方列出目标 IP、起始节点、检测进度,以及「路由查询详情」里的逐跳数据。
实测:福建泉州电信追踪 8.8.8.8
我在 2026-09-30(北京时间)用「福建泉州 - 电信」节点追踪了谷歌公共 DNS 8.8.8.8(目标位置美国/加利福尼亚州/山景城)。以下数值只代表本次采集时刻的情况,路由会随网络状态和调度变化。
| 跳数(ttl) | IP | 延迟 | 位置 |
|---|---|---|---|
| 1 | 192.168.110.1 | 1ms | 局域网 |
| 2 | 117.28.4.1 | 26ms | 中国/福建/泉州 |
| 3 | 218.5.102.78 | 4ms | 中国/福建/泉州 |
| 4 | * | 超时 | - |
| 5 | * | 超时 | - |
| 6 | 202.97.89.202 | 超时 | 中国/广东/广州 |
| 7 | 202.97.91.193 | 超时 | 中国/上海/上海 |
| 8 | 202.97.58.122 | 超时 | 中国/北京/北京 |
| 9 | 203.22.178.197 | 40ms | 中国/香港 |
| 10 | 203.22.178.22 | 186ms | 中国/香港 |
| 11 | 142.250.60.155 | 190ms | 美国/加利福尼亚州/山景城 |
| 12 | 216.239.47.17 | 177ms | 美国 |
| 13 | 8.8.8.8 | 176ms | 美国/加利福尼亚州/山景城 |
这条路径一共 13 跳,最终以 176ms 到达目标 8.8.8.8。路径走向很清楚:泉州本地网(第 2~3 跳)→ 途经广州、上海、北京(第 6~8 跳,均超时)→ 香港(第 9~10 跳)→ 美国山景城(第 11~13 跳)。
关键:中间多跳超时,不等于链路断了
这次追踪最值得注意的地方在第 4~8 跳:*(超时)接连出现了 5 次,但结果页明确显示最终到达了目标,而且后续第 9~13 跳都有响应。
这就是路由追踪最容易被误读的一点:中间某一跳超时、而后续跳数仍有响应时,不能仅凭这一跳判断整条链路中断。很多骨干网设备会丢弃追踪探测包、不回包,于是那一跳显示超时,但数据包其实照常向前转发。判断链路断没断,要看的是「最终有没有到达目标 IP」和「后续跳数还有没有响应」。
对比:同样从泉州出发,追国内目标是另一条路径
我把起始节点换成同一个「福建泉州 - 电信」,目标换成宝塔官网的解析 IP 157.255.129.251(目标位置中国/广东/广州),路径明显更短:
| 跳数(ttl) | IP | 延迟 | 位置 |
|---|---|---|---|
| 1 | 192.168.110.1 | 1ms | 局域网 |
| 2 | 117.28.4.1 | 2ms | 中国/福建/泉州 |
| 3 | 218.5.123.109 | 超时 | 中国/福建/泉州 |
| 4 | 218.5.154.145 | 超时 | 中国/福建/泉州 |
| 5 | * | 超时 | - |
| 6 | * | 超时 | - |
| 7 | * | 超时 | - |
| 8 | * | 超时 | - |
| 9 | 157.148.0.74 | 23ms | 中国/广东/广州 |
| 10 | 120.80.74.54 | 24ms | 中国/广东/东莞 |
| 11 | * | 超时 | - |
| 12 | * | 超时 | - |
| 13 | * | 超时 | - |
| 14 | * | 超时 | - |
| 15 | * | 超时 | - |
| 16 | 157.255.129.251 | 25ms | 中国/广东/广州 |
同一次实测,到海外目标 8.8.8.8 要 176ms、经过香港转美国;到国内目标 157.255.129.251 只要 25ms、全程在福建到广东之间。差距全在「物理距离 + 跨境路径」,跟目标服务器本身没关系。
怎么读一份路由追踪结果
拿到结果按这个顺序判断:
- 先看目标是否到达:最后一跳是不是目标 IP。没到达,才是真的链路中断。
- 再找延迟/丢包从哪一跳开始抬升:顺着跳数比较,哪一跳开始持续延迟或丢包,问题多半就出在那个网段。
- 中间跳超时别急着下结论:只要后续跳还有响应、目标能到达,那几跳超时通常是设备不回探测包,不代表断了。
- 只在某个起始节点异常:换一个地区或运营商的节点再测一次;换节点后正常,就说明问题在起始节点所在线路,而不是目标服务器。
另外,如果页面提示「创建追踪失败」,先核对输入的是不是 IP 地址(而不是域名)、再检查所选节点,然后重新发起即可。
本文的路由追踪数据来自宝塔拨测 t.bt.cn 的路由追踪功能,操作步骤以官方文档 使用路由追踪检查网络路径 为准。
常见问题
路由追踪(traceroute)和 PING、TCP 拨测有什么区别?
PING 只看起点到目标这一段的往返延迟和丢包,TCP 只看端口能不能建立连接,都只能告诉你「慢不慢、通不通」。路由追踪把起点到目标的整条路径拆成一跳一跳(TTL),每跳单独给出延迟、丢包和超时,能定位到「具体是哪一跳、哪个地区的路由开始变慢」。
宝塔拨测的路由追踪怎么用?
打开宝塔拨测的路由追踪页面,输入目标 IP 地址(如 8.8.8.8),单击「选择节点」按运营商或地区挑一个起始节点,再点「开始检测」,等待逐跳结果更新。注意这里要填 IP,不是域名;手头只有域名时,先用 DNS 测速看它解析到的 IP 再填。
路由追踪里某一跳显示超时(*),是不是整条链路断了?
不一定。很多运营商设备会丢弃追踪探测包、不回包,于是那一跳显示超时,但数据包实际仍能继续向前转发。只要后续跳数还有响应、最终能到达目标 IP,就不能仅凭中间某一跳超时判断链路中断。本文追踪 8.8.8.8 时第 4~8 跳都超时,最终仍在 176ms 到达目标。
路由追踪结果里的延迟和丢包率怎么看?
先看目标 IP 是否到达,再顺着跳数比较:从哪一跳开始延迟明显抬升或持续丢包,那一跳所在网段往往就是问题所在。某一跳延迟高但之后又降下来,可能是该设备回探测包慢,不一定影响真实数据转发,需要结合该跳之后的表现一起判断。
路由追踪只在某个起始节点异常,其他节点正常,说明什么?
说明问题更可能出在该起始节点所在地区或运营商的出网路径上,而不是目标服务器本身。可以换一个地区或运营商的节点再测一次对比;如果换节点后恢复正常,就针对那条异常线路排查(如该运营商的跨境出口、地区机房到目标的路由)。