MTR(My Traceroute) えむてぃーあーる
traceroutepingネットワーク診断パケットロスレイテンシホップ
MTRについて教えて
簡単に言うとこんな感じ!
MTRは「pingとtracerouteを合体させた、ネットワーク版カーナビ」だよ!どこで渋滞(遅延)が起きてるか、どこでパケットが消えてるかをリアルタイムで画面に表示し続けてくれる診断ツールなんだ!
MTRとは
MTR(My Traceroute、旧称 Matt’s Traceroute)は、pingとtracerouteの機能を統合したネットワーク診断ツールです。通常のtracerouteが「ある時点のルート情報を1回だけ取得する」のに対し、MTRは継続的にパケットを送り続け、各経路上のルーター(ホップ)ごとの遅延・パケットロスをリアルタイムに更新表示します。
ビジネスの現場では、「Webサイトへのアクセスが遅い」「特定のサーバーへの接続が不安定」といったトラブル時に、原因がどこにあるのかを素早く絞り込むために使われます。自社内の問題なのか、ISP(インターネットサービスプロバイダ)の問題なのか、相手先サーバー側の問題なのかを区間ごとに可視化できる点が最大の強みです。
MTRの画面の読み方
MTRを起動すると、以下のような情報が表示されます。
| 列名 | 意味 | 注目ポイント |
|---|---|---|
| Host | 経由するルーターのIPアドレスまたはホスト名 | ???は応答なし(ICMP制限など) |
| Loss% | パケットロス率 | 10%超えたら要注意、途中だけ高い場合は優先度低め |
| Snt | 送信したパケット数 | 測定サンプル数の目安 |
| Last | 直近の応答時間(ms) | 瞬間値のため参考程度 |
| Avg | 平均遅延(ms) | 最も信頼できる指標 |
| Best | 最短遅延(ms) | 理想的な状態の参考値 |
| Wrst | 最長遅延(ms) | スパイクの大きさを確認 |
| StDev | 標準偏差(ジッター) | 値が大きいほど遅延が不安定 |
「途中のホップだけLoss%が高い」は誤報かも
MTRでよくある誤読が「途中のルーターだけロスが多い」ケース。これはそのルーターがICMPパケット(診断用)への応答を意図的に制限しているだけで、実際のデータ通信には影響がない場合があります。判断のコツは「その先のホップでロスが引き継がれているかどうか」を確認することです。
国内・国外ホップの遅延の目安
| 区間 | 典型的な遅延 |
|---|---|
| 国内(同一都市) | 1〜10ms |
| 国内(遠方) | 10〜30ms |
| 日本〜北米西海岸 | 100〜150ms |
| 日本〜欧州 | 200〜300ms |
歴史と背景
- 1997年 — Matt Kimball氏がオリジナルの「Matt’s Traceroute」を開発・公開。Linuxコミュニティを中心に広まる
- 1998年ごろ — Roger Wolff氏が開発を引き継ぎ、改良を重ねる。名称が”My Traceroute”に改称
- 2000年代 — Linux/Unix系OSのネットワーク管理者の定番ツールとして定着。多くのディストリビューションに標準パッケージとして収録
- 2010年代 — macOS向けに WinMTR(Windows版)や mtr-packet など派生ツールが登場し、GUIで操作できる環境も整備
- 現在 — クラウド環境・コンテナ環境のトラブルシュートでも活用。
mtr --reportオプションでCI/CDパイプラインへの組み込みも普及
pingとtracerouteとMTRの違い
それぞれの道具には得意・不得意があります。三つを比較して整理しましょう。
よく使うコマンドオプション
# 基本的な使い方(Linuxの場合)
mtr google.com
# レポート形式で出力(ログ保存・報告書に便利)
mtr --report --report-cycles 100 google.com
# TCP 443番ポートで試す(ICMPをブロックしている場合に有効)
mtr --tcp --port 443 google.com
# IPアドレスのみ表示(DNS逆引きしない)
mtr -n google.com
# Windowsでは WinMTR(GUIツール)を使う
MTRの結果でISPに問い合わせる時のコツ
ベンダーやISPへの障害申告時は mtr --report の出力を貼り付けるだけでどの区間が問題かを明確に伝えられます。口頭で「なんか遅いです」と伝えるよりも対応が圧倒的に早くなります。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 792 | ICMP(Internet Control Message Protocol)の定義。pingやtracerouteの基盤 |
| RFC 4443 | ICMPv6の定義。IPv6環境でのMTRに関係 |
| RFC 2784 | GRE(Generic Routing Encapsulation)。VPN経由でMTRを使う際に関連 |