您是否想知道数据从您的计算机传输到 Google 或 Facebook 等网站时会经过什么路径?或者为什么即使您的互联网连接速度很快,某个特定网站却感觉很慢?答案就在于 路由跟踪 命令。
Traceroute 是一款功能强大的网络诊断工具,可显示路由(路径)并测量数据包在 Internet 协议 (IP) 网络上的传输延迟。
Traceroute 的工作原理
互联网是一个由互连路由器组成的网络。当您访问网站时,您的请求从一个路由器跳转到另一个路由器,直到到达目标服务器。
Traceroute 的工作原理是发送一系列逐渐增加的数据包(通常是 ICMP Echo Request 或 UDP 数据包) 生存时间 (TTL) 值。
- TTL=1: 第一个路由器收到数据包,将 TTL 减为 0,丢弃该数据包,并发回“ICMP 超时”消息。这标识了第一跳。
- TTL=2: 数据包经过第一个路由器,到达第二个路由器,TTL 变为 0,第二个路由器回复。这标识了第二跳。
- 过程继续: 重复此过程,直到数据包到达目的地或达到最大跳数。
如何运行 Traceroute
在 Windows 上(命令提示符)
Windows 使用命令 tracert.
- 按
Win + R,输入cmd,然后按 Enter 键。 - 输入以下命令并按 Enter:
命令
tracert google.com
- 等待结果完成。
在 macOS / Linux(终端)上
Mac和Linux系统使用命令 traceroute.
- 打开 航站楼 应用程序。
- 输入以下命令并按 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 射线洞察力”。