Linux / コマンド / tracepath - ネットワーク経路と経路MTUの確認

tracepathは、宛先への経路上のホップと経路MTU(Path Maximum Transmission Unit:経路上で断片化せずに送れるIPパケットの最大サイズ)を調べます。通常は管理者権限を使わずに実行できますが、中間ルーターがすべて応答するとは限りません。

ホップは、ルーターなどを経由する段階を指します。tracepathはUDP(User Datagram Protocol)の探索パケットと、ICMP(Internet Control Message Protocol)などのエラー応答を利用して経路を推定します。pmtuは検出した経路MTUをバイト単位で示します。ルーターの応答制限やネットワークポリシーによって、ホップやMTUの情報を十分に得られない場合があります。

基本的な文法

tracepath [オプション] 宛先

インストールされている実装とオプションは、配布版によって異なる場合があります。man tracepathで現在のシステムの説明を確認してください。

使用例

基本経路追跡

example.comは説明用ドメインなので、実際には調査してよい宛先に置き換えます。ホスト名の解決後、経路上の応答とMTUに関する情報を表示します。

tracepath example.com

数字アドレス中心の出力

表示時の逆引きを抑え、主に数値のアドレスを表示します。-nでも、宛先にexample.comのような名前を指定すれば、その名前を最初に解決する処理は必要です。

tracepath -n example.com

ホップ数制限

最初の15ホップ以内で経路を確認します。

tracepath -m 15 example.com

経路と経路MTUの読み取り

tracepathは、目的地までの中間ホップと経路最大転送単位(PMTU)を確認するために使用します。目的地は直接確認できる権限のあるアドレスに置き換えてください。

tracepath 192.0.2.1

出力構造の例(文書用のアドレスで、実際の到達を保証するものではありません):

1:  gateway.example  0.5ms
2:  no reply
Resume: pmtu 1500

no replyは、そのホップが探索パケットに応答しなかったことを意味し、その後の目的地までの接続が必ずしも切断されたことを意味するわけではありません。PMTU値も経路やネットワークポリシーに応じて変わる可能性があります。到達できなかった場合は、ipで確認するルーティング、ファイアウォール、宛先の応答制限も照合してください。

主なオプションと形式

オプション・形式 説明
-n ホスト名よりも数字のIPアドレスを表示します。
-4 / -6 IPv4またはIPv6の経路を選択します。
-m ホップ 最大トレースホップ数を制限します。
-l サイズ 最初に送信するパケットの長さを指定します。
-p ポート 最初の宛先ポートを指定します。

使用する際の注意点

no replyなどの応答欠落は、ルーターが診断パケットに応答しなかったことを意味する場合がありますが、必ずしも通信断絶ではありません。経路は負荷分散や往復経路の違いにより、実行のたびに異なる場合があります。MTUの問題が疑われる場合は、インターフェース・トンネル・ファイアウォールの設定も併せて確認してください。

よくある質問

tracepathとtracerouteの違いは何ですか?

どちらも経路を追跡しますが、tracepathはPath MTUの確認に焦点を当てており、オプションが簡単で、tracerouteは複数の探索方式と詳細設定を提供します。

公式ドキュメント

オプションの正確な動作や実装ごとの差異は、tracepath 関連公式ドキュメントで確認できます。