Ip,Adress

ネットワークエンジニアを本格的に目指すわけではないけれども、簡単なネットワークの構築やトラブル対応は自分でもできるようになりたい。

そんな新人ITエンジニアのための記事です。

ネットワーク経路をリスト表示するtracertコマンド

tracert」コマンドを使ってあなたのコンピュータのネットワークカードと、通信相手のネットワーク機器との間の経路上にどのようなルーター(ゲートウェイ)があるかを表示することができます。 

ちなみに「tracert」は「トレースルート」と読みます。

「route⁼ルート」を「trace⁼トレース」するコマンドという訳です。 

例えば、次の様な時に「tracert」コマンドが活躍します。

  1. pingで相手ホストから正常な応答がなかった場合などに、どこまでのルーターには問題がなく、どこで問題が生じているのかを特定する。
  2. 各ルーター間のレスポンス時間などから簡易的なネットワーク性能評価をする。

コマンド書式

>tracert “IPアドレスまたはドメイン名”

例:>tracert www.saycon.co.jp

コマンドプロンプト上で、上記のコマンドを入力して[Enter]キーを押します。 

「trace」を実行すると、以下のように実行したコンピュータから目的ホスト(この場合は www.saycon.co.jp)までの経路上にあるルーターのIPアドレス(またはドメイン名)が、近い順に応答時間とともに表示されます。

4.1 tracert www.saycon.co.jp

結果の見方

  • ルーターの番号 自コンピュータに近い方が小さい数字になる。
  • ルーターの応答時間 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」を使うと、ネットワーク経路をリスト表示することができます。

この実行結果を見ることによって、

  1. 通信相手までの間に何台のルーターがあるのか? 
  2. それぞれのIPアドレスやドメイン名はどうなっているか? 
  3. どこに問題が生じていそうか? 

といったことが分かります。

ネットワーク 目次 に戻る

当社のネットワーク関連の研修の内容です。