mtr vs Traceroute:何時使用每種工具

8 分鐘閱讀 - 2026年5月13日

hero section cover
目錄
  • mtr vs traceroute
  • traceroute 如何運作
  • mtr 如何運作
  • 主要差異
  • 閱讀輸出
  • 何時使用各工具
分享

traceroute 和 mtr 如何運作、如何正確讀取其輸出,以及何時使用兩者進行網路診斷

mtr vs traceroute

Traceroute 和 mtr 都是診斷網路路徑問題的命令列工具。mtr 做同樣的事情,但會持續探測,隨時間累積封包遺失、延遲和抖動的統計資料。這篇文章涵蓋每個工具如何運作、如何讀取輸出,以及何時使用。

traceroute 如何運作

Traceroute 使用 IP 封包標頭中的 Time-to-Live (TTL) 欄位。它會傳送一個 TTL 設定為 1 的封包,第一個路由器會將 TTL 減至 0,丟棄封包,並傳送回一個 ICMP「超時」訊息。Traceroute 記錄路由器的 IP 和往返時間,然後發送另一個 TTL 設定為 2 的封包,如此類推,直到封包到達目的地或碰到最大跳數限制 (預設為 30,可用-m 調整)。

預設情況下,traceroute 會在每一跳傳送三次探測,提供三次延遲讀數。作業系統的通訊協定有所不同:

  • Windows: tracert指令會傳送 ICMP Echo Requests。
  • Linux/macOS: traceroute指令會傳送 UDP 資料訊息(埠 33434-33534)。如果 UDP 被封鎖,請對 ICMP 使用-I或對 TCP 使用-T

加入-n標記可跳過 DNS 反向查詢,在有許多跳的路徑上可顯著加快速度。

mtr 如何運作

mtr (My Traceroute) 使用與 traceroute 相同的基於 TTL 的路徑發現,但它會持續傳送探測,通常每秒傳送一次。您得到的不是每跳三個資料點,而是執行中的統計資料:封包遺失百分比、平均延遲、最佳和最差回應時間,以及標準偏差 (抖動)。

mtr 支援 ICMP (預設)、UDP 及 TCP SYN 探測。當防火牆封鎖 ICMP 或您要測試特定應用程式連接埠時,TCP 模式非常有用:

mtr --tcp --port 443 example.com

若要取得可與支援團隊分享的非互動式報告,請使用報告模式:

mtr --report --report-cycles 100 example.com

這會執行 100 次探測,並列印摘要。您也可以使用--psize設定自訂封包大小,以測試 MTU 或碎片問題。

mtr 原生可在 Linux 和 macOS 上執行。Windows 使用者可以使用WinMTR以獲得相對應的圖形使用者介面。

主要差異

特點追蹤路由mtr
資料收集一次性、每跳 3 個探測連續、可設定週期
封包遺失每跳不追蹤每跳測量
延遲度量每跳三個 RTT 值最遲、平均、最佳、最差、StDev
抖動 (StDev)未測量每跳測量
通訊協定ICMP、UDPICMP、UDP、TCP 同步
輸出靜態文字即時更新或報告模式

實際的差異在於間歇性的問題。單一的 traceroute 可以輕易漏掉丟棄 2% 封包的路由器,或有 15ms 抖動的跳躍。

閱讀輸出

閱讀 traceroute 或 mtr 輸出時最常犯的錯誤是假設看起來有問題的中間跳躍表示真的有問題。通常不會。

traceroute 中的星號 (*)表示路由器沒有回應探測。許多路由器被設定為忽略或限制 ICMP 的速率。如果它之後的跳數正常回應,路徑就沒問題。

mtr 中單一跳的封包損失遵循相同的邏輯。如果第 5 跳顯示 20% 的丟包率,但最終目的地顯示 0%,則該路由器只是降低了探測回應的優先順序。真正的封包損失顯示為一種模式:損失出現在一個跳躍點,並持續到目的地的每個後續跳躍點。

各跳之間的延遲跳躍是正常且可預期的。從 10 毫秒跳到 80 毫秒通常表示封包跨越海洋或長途陸路。只有當延遲對於距離而言異常高(都會區內低於 5 毫秒、跨國數十毫秒、跨洋 80-150 毫秒),或最終目的地的延遲無法接受時,才會擔心延遲。

以 mtr 為單位的 StDev(抖動)值得注意。在任何跳躍點上超過 10ms 的值會對 VoIP、視訊通話和遊戲造成問題。如果您看到高抖動,請執行至少 100 個週期,以確認它是一個持續的模式,而不是短暫的尖峰。

何時使用各工具

當您需要快速得到答案時,請使用 traceroute:目標是否可以到達,如果不能,路徑在哪裡中斷?這是解決中斷問題和驗證基本路由的正確起點。

當問題是間歇性或與效能相關時,請使用 mtr。報告偶爾斷線、VoIP 品質問題或延遲尖峰的使用者需要 mtr 的連續資料。至少執行 50-100 個週期,以獲得可靠的統計資料。

為了徹底診斷,請在兩個方向上執行 mtr:從您的機器到伺服器,以及從伺服器回到您的 IP。網際網路路由是不對稱的,因此回傳路徑可能有完全不同的特性。如果您只測試一個方向,您可能會遺漏問題的真正所在。

如果您的專用伺服器或 VPS 遇到問題,FDC Servers支援團隊接受 mtr 報告作為網路升級的標準診斷證據。

background image
您的服务器是否阻碍了您的发展?

厌倦了缓慢的部署或带宽限制?FDC Servers 提供即时的专用电源、全球覆盖和灵活的计划,适用于任何规模。准备升级?

立即开启性能

博客

本周特色

更多文章
Linux 伺服器加固清單

Linux 伺服器加固清單

強化 Linux 伺服器的逐步清單。涵蓋 SSH、防火牆、修補程式、檔案權限、SELinux/AppArmor 和稽核記錄

15 分鐘閱讀 - 2026年5月8日

iperf3 教學:測試 Linux 與 Windows 上的網路速度

10 分鐘閱讀 - 2026年5月7日

更多文章