コマンドプロンプト

traceroute

ネットワーク距離の調べ方

ネットワーク上の距離は、実際の地理上の距離とは異なり、利用する ISP やネットワークによって変化し、海外にあるサーバが国内にあるサーバよりも近い場合もある。
ネットワーク上の距離は、traceroute と呼ばれるコマンドを用いて調べる。
Win9x では 一般的に MS-DOS プロンプトから実行する。
コマンドは tracert [host名] と記述し、それにより、経路にある中継サーバ(router)と到達時間(単位:ms)が1行ずつ表示される。
例えば www.example.com までの距離を調べる場合には、以下のように記述する。

【例】 Windows上で www.example.com に対する traceroute を実施。
tracert www.example.com

経路上で「*」が表示された場合は、応答がないかタイムアウトしたことを示す。
traceroute は ICMP プロトコルの type11 である Time Exceeded エラー(TTL の超過によるパケットの破棄情報)を受け取ることで結果を表示している為、ルータが ICMP プロトコルの Time Exceeded エラーに対応していない場合は表示が「*」となる。
ISP の管理下にあるルータでは、セキュリティ上の要件から ICMP パケットを単に破棄する場合があり、その場合も表示は「*」となる。

表示される中継サーバの数が少なく、到達時間が短いほど、利用環境から近いといえる。但、サーバにかかっている負荷により、ネットワーク距離が近くても 反応が遅い(重い)場合もある。

その他の traceroute をサポートしているソフトを用いても、同様のことは行える。


書式

Windows の場合
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

-d
(結果に表示する)IPアドレスからホスト名への名前解決を行わない。
-h maximum_hops
ターゲットまでの最大ホップ数(使用する最大TTL値)を指定。
-j host-list
経由するホストのアドレスを最大9個まで指定。
-w timeout
タイムアウト時間をミリ秒単位で指定。


補足:
  • Windows3.1 では、traceroute が使えないため、UNIX サーバに telnet で接続して行うか、WSPING 等で ping を行い 反応速度を調べる。

[参考資料]







©2000  ny@room40
©2004  liufeng.info
all rights reserved.