Windowsのpathpingコマンドでネットワークの経路を調査する:Tech TIPS
ネットワーク・ルートの到達性や品質などを調査するpathpingコマンド。実行すると、経路上にあるルータのIPアドレスやRTT(応答時間)、喪失率などの情報が確認できる。
対象OS:Windows 2000/Windows XP/Windows Server 2003
解説
ネットワーク経路の到達性(指定したあて先まで到達できるかどうか)や混雑の程度などを調査するためには、pingやtracert(traceroute)といったコマンドが利用できる。これらはWindows 9xといった古いOSや、UNIX/Linuxなどでも利用できる基本的なコマンドであるが、Windows 2000以降のOSでは、pathpingというコマンドも利用できる。
pathpingは、pingやtracertの機能を拡張したようなコマンドである。pingやtracertのように、ICMPのEchoパケットを使ってネットワークの経路を調査するほか、多数のパケットを送信して、その遅延時間や喪失率(送信したパケットうち、混雑などのためにいくら喪失したかの率)の統計値情報を表示するという機能を持っている。ネットワーク経路の品質を簡単に調査することができる、便利なコマンドである。
- 関連記事: tracertでネットワークの経路を調査する
操作方法
pathpingの使い方は、オプションなしで起動するか、「pathping -?」とすると表示される。OSのバージョンによってオプションはいくらか異なるが、以下はWindows XP Professionalの例である。
C:\>pathping
Usage: pathping [-g host-list] [-h maximum_hops] [-i address] [-n]
[-p period] [-q num_queries] [-w timeout] [-P] [-R] [-T]
[-4] [-6] target_name
Options:
-g host-list Loose source route along host-list.
-h maximum_hops Maximum number of hops to search for target.
-i address Use the specified source address.
-n Do not resolve addresses to hostnames.
-p period Wait period milliseconds between pings.
-q num_queries Number of queries per hop.
-w timeout Wait timeout milliseconds for each reply.
-P Test for RSVP PATH connectivity.
-R Test if each hop is RSVP aware.
-T Test connectivity to each hop with Layer-2 priority tags.
-4 Force using IPv4.
-6 Force using IPv6.
基本的な使い方としては、pingやtracertと同様に、調査の対象となるホストの名前やIPアドレスを指定するだけである。
C:\>pathping -n 219.XXX.XXX.XXX
Tracing route to 219.XXX.XXX.XXX over a maximum of 30 hops
0 218.XXX.XXX.XXX ……自分のコンピュータ
1 218.XXX.XXX.XXX ……ルートの最初のルータ
2 220.XXX.XXX.XXX ……途中のルータ(以下同じ)
3 210.XXX.XXX.XXX
4 133.XXX.XXX.XXX
5 210.XXX.XXX.XXX
6 210.XXX.XXX.XXX
7 210.XXX.XXX.XXX ……ルートの最後のルータ
8 219.XXX.XXX.XXX ……最終あて先
Computing statistics for 200 seconds... ……RTTとパケット喪失率
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
0 218.XXX.XXX.XXX
0/ 100 = 0% |
1 19ms 1/ 100 = 1% 1/ 100 = 1% 218.XXX.XXX.XXX
0/ 100 = 0% |
2 20ms 0/ 100 = 0% 0/ 100 = 0% 220.XXX.XXX.XXX
0/ 100 = 0% |
3 26ms 19/ 100 = 19% 19/ 100 = 19% 210.XXX.XXX.XXX ……ややロスあり
0/ 100 = 0% |
4 19ms 0/ 100 = 0% 0/ 100 = 0% 133.XXX.XXX.XXX
0/ 100 = 0% |
5 20ms 0/ 100 = 0% 0/ 100 = 0% 210.XXX.XXX.XXX
0/ 100 = 0% |
6 20ms 1/ 100 = 1% 1/ 100 = 1% 210.XXX.XXX.XXX
0/ 100 = 0% |
7 21ms 0/ 100 = 0% 0/ 100 = 0% 210.XXX.XXX.XXX
2/ 100 = 2% | ……ルータ間でのロス
8 20ms 2/ 100 = 2% 0/ 100 = 0% 219.XXX.XXX.XXX
Trace complete.
このコマンドの実行結果は、2つに分かれている。
前半はtracertコマンドと同様に、指定されたあて先までの経路途中に存在するルータの一覧である。ICMPのEchoパケットを利用し、TTL(Time To Live)を1つずつ増加させながら送信することにより、到達可能なルータを順に検索している。この例では、最終的なあて先に到達するまでに、途中に7台のルータが存在していることが分かる(8ホップ目が最終的なあて先)。
- 関連記事: IPフラグメンテーション(基礎から学ぶWinネット)
後半は、見つかったルータに対する通信品質の測定結果である。前半で表示されたルータに対し、ICMPのEchoパケットを連続して送信し、その応答時間(RTT=Round Trip Time。往復時間)と、いくつ戻ってきているかという情報(パケットの到達/喪失率)を測定/計算して表示している。各ルータに対して、デフォルトでは、0.25秒間隔で100パケット送信し、その結果を表示している。オプション指定により、送信間隔を短くしたり(-pオプションで指定。単位は1000分の1秒。最小値は1ms)、送信するパケットの数(-qオプションで指定。1〜255)を変更したりできる。1つのあて先に対して25秒必要なので(0.25秒間隔×100パケット分)、この例のように8つのあて先に対して調査する場合は、計200秒必要になる。
結果のうち、左端に表示されているのがRTT(応答時間)である。
真中の列は、そのルータに対するICMPのEchoパケットの送信数と喪失数(戻ってこなかったEcho応答の数)を表す。右側の数値のうち、縦棒(「|」のこと)の左側に表示されている数値は、その前後のルータ間でのパケットの喪失数(の推定値)を表す。
この例では、途中のルータでいくつかのパケットがロス(喪失)していることが分かる。しかし、最終的なあて先に対する応答時間は20ms程度で安定しているので、特に問題はないと判断できる(ルートの途中にあるルータに対するpingなどは、この例のように遅延が大きくなることがあるが、最終的なエンド・トゥ・エンドの通信にはあまり影響しない)。
■関連記事(Windows Server Insider)
- ネットワークの診断ツールを活用する(TIPS)
- pingでネットワーク・トラブルの原因を調査する(TIPS)
- pingを繰り返し実行させる(TIPS)
- pingでMTUサイズを調査する(TIPS)
- ネットワークの接続拒否とタイムアウトの違いを知る(TIPS)
■この記事と関連性の高い別の記事
- Windowsのtracertでネットワークの経路を調査する(TIPS)
- Windowsのpingの-rオプションでパケットの通過ルートを確認する(TIPS)
- pingでネットワークの速度を調査する(TIPS)
- ネットワークのルーティングは双方向で設定する(TIPS)
- pingのタイムスタンプ・オプションで進行状況を確認する(TIPS)
Copyright© Digital Advantage Corp. All Rights Reserved.