ネットワークエンジニアを本格的に目指すわけではないけれども、簡単なネットワークの構築やトラブル対応は自分でもできるようになりたい。
そんな新人ITエンジニアのための記事です。
ネットワーク経路をリスト表示するtracertコマンド
「tracert」コマンドを使ってあなたのコンピュータのネットワークカードと、通信相手のネットワーク機器との間の経路上にどのようなルーター(ゲートウェイ)があるかを表示することができます。
ちなみに「tracert」は「トレースルート」と読みます。
「route⁼ルート」を「trace⁼トレース」するコマンドという訳です。
例えば、次の様な時に「tracert」コマンドが活躍します。
- pingで相手ホストから正常な応答がなかった場合などに、どこまでのルーターには問題がなく、どこで問題が生じているのかを特定する。
- 各ルーター間のレスポンス時間などから簡易的なネットワーク性能評価をする。
コマンド書式
>tracert “IPアドレスまたはドメイン名”
例:>tracert www.saycon.co.jp
コマンドプロンプト上で、上記のコマンドを入力して[Enter]キーを押します。
「trace」を実行すると、以下のように実行したコンピュータから目的ホスト(この場合は www.saycon.co.jp)までの経路上にあるルーターのIPアドレス(またはドメイン名)が、近い順に応答時間とともに表示されます。
結果の見方
- ルーターの番号 自コンピュータに近い方が小さい数字になる。
- ルーターの応答時間 3回実行された結果がそれぞれ表示される。
- ルーターのIPアドレスまたはドメイン名 ルーターの応答がないときは「要求がタイムアウトしました」と表示される。
なお、pingのところでもお話しましたが、ICMPのエコー要求に応答しないように設定してあるルーターがある場合も「要求がタイムアウトしました」と表示されます。
応答しないルーターがあっても次のルーターとの通信確認に進みます。
「tracert」の仕組み
tracertは、IPパケットの「Time to Live」(TTL)フィールドを変更することで、パケットが通過する各ルーターからの応答を引き出しています。
そもそも、IPパケットのTTLフィールドは、パケットがネットワーク内で無限にループするのを防ぐために存在します。パケットが生成されるとき、TTLフィールドは一定の値(通常は64、128、255など)に設定されます。パケットがルーターを経由するたびにTTL値は1ずつ減少します。TTLが0になると、そのパケットは破棄され、送信元に「Time Exceeded」ICMPメッセージが送られます。
tracertはこのメカニズムを利用しています。最初に、TTLを1に設定したパケットを送信します。このパケットは最初のルーターで破棄され、そのルーターは送信元に「Time Exceeded」メッセージを送ります。このメッセージを受け取ると、tracertは最初のホップのルーターのアドレスを取得できます。
次に、tracertはTTLを2に設定したパケットを送信します。このパケットは2つ目のルーターで破棄され、「Time Exceeded」メッセージが送られます。これにより、2つ目のホップのルーターのアドレスが取得できます。
このプロセスを繰り返すことで、tracertは目的地に到達するまでのネットワーク経路を詳細にマッピングすることができます。さらに、それぞれのホップにかかる時間を計測することで、ネットワークの遅延を確認することもできます。
「tracert」のまとめ
「tracert」を使うと、ネットワーク経路をリスト表示することができます。
この実行結果を見ることによって、
- 通信相手までの間に何台のルーターがあるのか?
- それぞれのIPアドレスやドメイン名はどうなっているか?
- どこに問題が生じていそうか?
といったことが分かります。
ネットワーク 目次 に戻る
IT企業向け新人研修おすすめ資料 無料公開中 (saycon.co.jp)