ネットワークは、ポイントAからポイントB、ポイントCへのパケットのルーティングによって構築されます。各パケットは、ソースから宛先までの経路を取ります。Windows 10には、tracertという便利なトレースルートがあります。これを使用して、何が起こっているかを追跡することができます。
この記事では、Windows 10の(tracert)コマンドまたはトレースルートについてすべて学びます。その目的、さまざまなスイッチ、および提供される情報の解釈方法について学びます。この記事の終わりには、このツールを最大限に活用するための知識が身につくでしょう!
関連記事: Linuxでトレースルートを使用する方法
Windows 10のトレースルートの動作原理は?
Windows 10(および他のすべてのOS)において、トレースルートの主な目的は、パケットがネットワークを通過する際の経路を検出することです。これは、エラーメッセージを使用してパケットが途中で遭遇するさまざまなルーターに関する情報を収集することで行われます。
tracertは、IPパケットヘッダーのTime-to-Live(TTL)フィールドを利用します。TTLはパケットの寿命を制限し、ネットワーク上に滞在するのを防ぎます。これは、パスが失敗した場合やルーティングループが存在する場合に重要です。
パケットがルーターに到達すると、TTLの値が0まで減少します。パケットのTTLが0になると、ルーターはパケットを破棄し、パケットが発信元に戻ってくるICMP_TIME_EXCEEDED
メッセージを返します。
Tracertは、Linuxのcousinであるtracerouteとは異なり、ICMPエコーリクエストではなくUDPを使用してプロービングパケットを送信します。
Windows 10のトレースルートコマンドは、パスを見つけるためにパケットを送信する際に、パケットのTTLフィールドを変更します。結果のエラーメッセージからの情報を使用して、トレースルートはパケットがネットワーク上を移動する経路を組み立てて発見することができます。
トレースルートの用語
すでにいくつかの用語を挙げましたが、この記事を読み進めるにつれてさらにいくつかの重要な用語を学びます。まずは重要な用語について説明しましょう。
- ホスト – ホストは、Windows 10のトレースルートツールを実行しているコンピュータやデバイスです。これはWindowsまたはLinuxのPC、またはCisco IOSデバイスであることがあります。
- ルーター – ネットワークからネットワークへのパケットの転送またはルーティングを行うデバイスです。
- ホップ – ホップはネットワークパス上のルーターです。ネットワークを横断する際に、パケットがルーターのインターフェースから別のインターフェースに「ホップ」すると考えてください。
- ルート – ルートは、ホストと各ルーターインターフェース間のパスです。ルーティングプロトコルやルールによって、トレースルートツールのたびに異なるルートが存在することがあります。
- パス – パスは、ホストから別のホストへ移動するパケットが取る経路です。
A Demo of Traceroute in Windows 10
おそらく、管理しているアプリケーションのネットワークの問題解決に取り組むことがあります。いくつかのログファイルを見た後、アプリケーションがリモートサーバーから行っているリクエストが通常よりも長時間かかるか、パケットが完全にドロップしていることがわかります。これは、Windows 10のtracertというユーティリティを使用するための理想的なシナリオです。
コマンドプロンプト(cmd.exe)またはWindows PowerShellコンソールを開きます。このセクションで示されるすべての例は、Windows PowerShell v5.1を使用します。
ヘルプの検索
まず、Windows 10でこのtracertユーティリティがどのように動作するかを知り、学ぶことから始めましょう。このコマンドラインユーティリティは、tracert -?
を実行することで実行するためのすべてのオプションを表示する便利な方法を提供します。
以下のコードスニペットでは、tracert
にはいくつかの異なるオプションがあり、その動作を設定するために使用できます。Windows 10のトレースユーティリティtracert
は、Linuxの相当するものとは異なり、多くのオプションを含んでいません。
tracert -?
と入力すると、コマンドに含まれるすべてのオプションが表示されます。
日常のトラブルシューティングでは、おそらくこれらのオプションのうち1つまたは2つしか使用しないでしょう。この特定のシナリオでは、tracert
の後にターゲットサーバーのIPアドレスまたは完全修飾ドメイン名(FQDN)を使用できます。
Windows 10のトレースルート:例を示します
あなたのアプリケーションが www.google.com に到達する必要があると仮定しましょう。Windows 10 の traceroute(tracert)には、パスを追跡するための最初の引数としてアドレスを提供するだけで済みます。
以下のデモンストレーションでは、例示のホストからパケットが到達するまでの経路を、11個のルータを経由して表示しています。

次に、出力を調べ、以下の結果をカバーします。
出力には5つのデータ列があります。左から右への順序は次の通りです:
- 列1(ホップ数)- このルートには11ホップあります。同じコマンドを再実行すると、異なる出力が得られる可能性があることに注意してください。これは、ルータ上の異なるインターフェースにルーティングされるか、まったく異なるルータにルーティングされる可能性があるためです。
- 列2-4(ICMP(ping)パケットのラウンドトリップ時間)- これらの時間はミリ秒単位で計測されます。これらのパケットには、tracertコマンドで使用される情報を含むエラーを生成するためのTTLも含まれていることを思い出してください。
5-30ms の応答時間は、高速なホップの応答時間と見なされます。一般的には、35-60ms の時間が表示されます。60ms以上の時間が表示されるようになると、遅延の兆候となる場合があります。
- 列5(ホスト名またはIPアドレス) – この項目は、パス内のルーターによって返されます。ルーターが応答しないように設定されているか、何らかの理由で到達できない場合、ここには
*
が表示されます。デフォルトでは、tracert
は各ルーターのIPアドレスに対して逆DNSルックアップを試みます。これにより、IPアドレスの代わりにDNS名が表示されます。
-d
スイッチを使用して名前解決を省略すると、tracert
をわずかに高速化することができます。このオプションにより、ホスト名の解決が防止され、IPアドレスのみが返されます。
この出力により、ネットワークの遅延やルーティングの問題のトラブルシューティングに役立つ基本情報が得られます。調査するための時間計測、IPアドレスまたはFQDNのルーターが含まれています。
結論
Windows 10のトレースルートは、実証済みで便利なコマンドラインネットワークユーティリティです。この記事では各コマンドの各パラメータを網羅していませんが、最も有用なものの多くをカバーしました。
Windows 10でのトレースルートの内部動作について詳しく学びたい場合は、tracert Microsoftのドキュメントを参照してください。