您是否想知道数据从您的计算机传输到 Google 或 Facebook 等网站时会经过什么路径?或者为什么即使您的互联网连接速度很快,某个特定网站却感觉很慢?答案就在于 路由跟踪 命令。

Traceroute 是一款功能强大的网络诊断工具,可显示路由(路径)并测量数据包在 Internet 协议 (IP) 网络上的传输延迟。

插入网络交换机的以太网电缆
跟踪路由中的每一跳都是一个物理路由器,每一跳都会增加延迟。摄影: 像素 · 免费使用

Traceroute 的工作原理

互联网是一个由互连路由器组成的网络。当您访问网站时,您的请求从一个路由器跳转到另一个路由器,直到到达目标服务器。

Traceroute 的工作原理是发送一系列逐渐增加的数据包(通常是 ICMP Echo Request 或 UDP 数据包) 生存时间 (TTL) 值。

  1. TTL=1: 第一个路由器收到数据包,将 TTL 减为 0,丢弃该数据包,并发回“ICMP 超时”消息。这标识了第一跳。
  2. TTL=2: 数据包经过第一个路由器,到达第二个路由器,TTL 变为 0,第二个路由器回复。这标识了第二跳。
  3. 过程继续: 重复此过程,直到数据包到达目的地或达到最大跳数。

如何运行 Traceroute

在 Windows 上(命令提示符)

Windows 使用命令 tracert.

  1. 按 Win + R,输入 cmd,然后按 Enter 键。
  2. 输入以下命令并按 Enter:
命令
tracert google.com
  1. 等待结果完成。

在 macOS / Linux(终端)上

Mac和Linux系统使用命令 traceroute.

  1. 打开 航站楼 应用程序。
  2. 输入以下命令并按 Enter:
命令
traceroute google.com

解释结果

典型的跟踪路由输出如下所示:

输出
 1  192.168.1.1 (192.168.1.1)  2.543 ms  1.987 ms  2.123 ms
 2  10.20.30.1 (10.20.30.1)  12.345 ms  11.456 ms  12.789 ms
 3  nyc-core-router.isp.net (203.0.113.5)  25.678 ms  24.567 ms  26.789 ms
 ...
12  google.com (142.250.183.14)  45.123 ms  44.567 ms  45.789 ms
  • 跳数(第 1 列): 路径中路由器的顺序。
  • 主机名/IP(第 2 列): 路由器的地址。看见 * 通常表示路由器配置为不回复 ICMP 数据包(防火墙)。
  • RTT(第 3-5 列): 往返时间。数据包到达路由器并返回所花费的时间(以毫秒为单位)。

故障排除技巧

  • 高延迟: 如果您发现第 3 跳和第 4 跳之间的 RTT 突然跳跃(例如,从 20 毫秒到 200 毫秒),则问题可能出在第 4 跳处的路由器或它们之间的链路。
  • 超时(): 偶尔超时是正常的。但是,如果跟踪路由完全停止 对于所有后续跃点,可能存在防火墙阻塞路径或路由环路。

📺 15 分钟深度潜水 — 计算机爱好者(诺丁汉大学)

替代方案:在线 Traceroute

如果你不想使用命令行,你可以使用我们的 在线路由追踪工具。它从我们的服务器运行命令,这对于从外部角度(本地网络之外)检查连接非常有用。

Traceroute 对于任何有抱负的网络工程师或学生来说都是一项基本技能。掌握它可以让您对网络连接问题产生“X 射线洞察力”。