插图来源:Storyset
先搞懂:去程和回程#
你访问一个网站,数据要走两个方向:
- 去程:你的请求从家里出发,到达服务器的路径。
- 回程:服务器的响应返回到你家的路径。
关键点:去程和回程不一定走同一条路。去程直达、回程绕半个地球,这种"半程绕路"很常见,也是很多人"ping 值看着还行但体验差"的原因。
traceroute 每一跳怎么看#
在终端跑 tracert 目标(Windows)或 traceroute 目标(macOS/Linux),会列出一跳一跳的路径。读法:
- 看跳数:跳数越多,路径越长。一般来说,同目的地的跳数越少越好。
- 看每一跳的延迟:找到"延迟突然变大"的那一跳,瓶颈就在它前面那段链路。
- 看节点名字:很多运营商的路由节点名字里带城市缩写(如 hk、sg、tyo、la),能看出路径经过了哪些城市。北京用户去香港节点,路径里出现"洛杉矶"就是绕路了。
- 看星号
*:某一跳全是星号,说明它不回应探测,不代表断了,继续看后面的跳。
三个典型结论#
- 去程绕路:延迟从某一跳开始变大,且城市明显绕远 → 换个去程更好的线路。
- 回程绕路:去程看着正常,但实际体验差、mtr 显示回程延迟高 → 这是服务器到你的路径问题,换落地机房或换机场。
- 运营商差异:同样目标,电信、联通、移动跑出的路径可能完全不同。选机场时问一句"对某某运营商优化"不是白问的。
实战建议#
- 测去程在自己电脑上跑,测回程要在服务器端跑(一般用户测不了,看机场的 Looking Glass 或问客服)。
- 晚高峰和闲时各跑一次,拥堵时段的路由可能和平时不一样。
- 别只看延迟绝对值,看"路径是否绕路"更有价值:绕路的 100ms 不如直连的 150ms 稳定。
进阶#
想系统学网络诊断,可以接着看 mtr 教程(mtr 是 traceroute 的持续监测版);节点指标的含义见 延迟、速度、丢包率怎么看;专线为什么回程好,见 IEPL/IPLC 科普 和 专线机场科普。
学会看路由,你就从"凭感觉换节点"进化到"看数据选线路"了。