您是否想知道資料從您的計算機傳輸到 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 射線洞察力”。