traceroute(tracert) 〜ネットワークの経路を調査する 加地眞也 2001/8/30 |
目的と用途 |
traceroute(Windowsでは「tracert」)コマンドは、あるホストから別のホストまでのネットワーク経路をリスト表示するコマンドだ。ここでいう経路とは、ホスト間を接続するルータ(ゲートウェイ)という意味で、経路上にどのようなルータが位置しているかを表示する。
おもな用途としては、pingでの動作が正常でなかった場合など、表示される経路情報からホスト自身や経路上のルータのルーティング設定が正しいかどうかを確認するために用いられる。また、目的のホストまでのルータのリストから、設置場所が不明なホストのおおまかな場所を推測する、といった用途にも使えるだろう。そのほか、各ルータとのレスポンス時間などの統計値も表示されるので、経路上のボトルネックを探るなどの簡易なネットワーク性能評価にも役立つ。
書式 |
●Windowsの場合
tracert[ -d][ -h 最大ホップ数][ -j ゲートウェイ・リスト][ -w タイムアウト時間] 対象ホスト(ホスト名またはIPアドレス)
-d
|
結果に表示するIPアドレスからDNSホスト名への名前解決を行わない |
-h
|
使用する最大TTL。つまりここで指定した数のルータしかホップしない |
-j
|
経由すべきゲートウェイ(ルータ)のアドレスを最大9個まで指定できる。ただし指定されていないゲートウェイも経由できる(loose source routed) |
-w
|
タイムアウト時間を指定する。単位はミリ秒 |
●Linuxの場合
traceroute[ -dFInrvx][ -g ゲートウェイ・リスト][ -i インターフェイス][ -f 初期TTL値][ -m 最大TTL値][ -p ポート番号][ -q 試行回数][ -s 送信元アドレス][ -t TOS][ -w タイムアウト時間] 対象ホスト(ホスト名ま たはIPアドレス)[ パケットサイズ]
-d
|
デバックモードで動作する |
-F
|
IPパケットの分割(フラグメント)を禁止する |
-I
|
UDPパケットではなく、ICMP Echo Requestを用いる |
-n
|
出力をIPアドレスのみに抑制する(DNS逆引きを行わない) |
-r
|
ルーティングテーブルを無視して直接パケットを指定したホストに転送するように指示する。すなわち、同一の物理ネットワーク上に目的のホストがない場合はエラーになる |
-v
|
詳細モード |
-x
|
ICMPのCheckSumの評価を行う |
-g
|
経由すべきゲートウェイ(ルータ)のアドレスを最大8個まで指定できる。ただし指定されていないゲートウェイも経由できる(loose source routed) |
-i
|
指定されたインターフェイス(ネットワークカード名)を用いて実行する |
-f
|
使用するTTLの初期値を指定する。つまりこの初期値のホップ数のゲートウェイからの表示となる |
-m
|
使用するTTLの最大値を指定する。つまりこの最大値のホップ数のゲートウェイまでの表示となる |
-p
|
使用するUDPパケットのポート番号を指定する(DPパケットを使用する場合のみ) |
-q
|
1つのゲートウェイに対する試行回数を指定する。デフォルトは3 |
-s
|
指定されたIPアドレスから実行する(Source Addressを指定する) |
-t
|
パケットのTOS(Type Of Service:サービスタイプ)を指定された値に設定する |
-w
|
タイムアウト時間を指定する。単位は秒。デフォルトは5秒 |
使用方法 |
最も簡単な使用方法は、引数として経路を調査したいホストを指定する。ホスト名かIPアドレスが指定できる。
●Windowsでの使用例 | |
|
例では、「www.example.net」への経路を表示している(経路情報は一部マスクしている)。
(1)の部分は、以下の結果がこのホスト名とIPアドレスへの経路であることを示している。この例では、「引数で指定したホスト名」と「実際に表示されるホスト名」が異なっていることにも注意しよう。これは、DNS上では「www.example.net」が「VENERA.ISI.EDU」の別名(CNAMEレコード)として登録されているため、このように表示されている。もちろん別名でない場合には、そのままのホスト名が表示される。
(2)は最大で30個の経路情報を表示することを示している。ルータにより、あるサブネットから別のサブネットへパケットがルーティングされることを「ホップ(Hop)」と呼び、この「ルータを1つ越える」単位を1ホップとして数えることがある。「30hops」とは、最大30台までのルータをリストアップすることを意味する。また、このホップはTTL(後述)の最大値とも一致することになる。
(3)が経路情報の一覧となる。各行は順に、「順序番号」「各ルータへのレスポンス時間(試行3回分のそれぞれの結果で単位はミリ秒)」「(DNSに登録されている場合)ホスト名」「IPアドレス」を意味している。16番目の結果は指定したホスト自身であるので、経路上には15台のルータが配置されていることが分かる。
各ルータへのレスポンス時間は、(この例では)それぞれ3回の試行結果が表示されている。この情報を元に、極端に時間がかかっているルータ間がボトルネックであると理解できる。この例では、どうやらルータ名から推測するに、日本〜アメリカ間の接続網が最も全体のレスポンスに影響を与えていると推測できる。また、この試行回数はオプションで変更することもできる。
■tracerouteとTTL
traceroute(tracert)コマンドでは、こうした経路上に存在する各ルータを割り出すために、IPパケットにおけるTTL(Time To Live)の仕組みをうまく利用している。TTLとは、IPパケットヘッダに指定可能な「生存時間」という意味だ。ただし、実際には時間ではなく、「ホップ数」を意味している。つまり、そのパケットが「生存」できるホップ数を指定するのがTTLなのである。
元々、インターネットに代表されるIPネットワークはさまざまなネットワークの集合体であるため、接続環境やルーティング設定についても、完全なものである保証はまったくない。もしルーティング設定が間違っていると、一度発生したパケットが延々ループに陥って、いつまでもインターネット上をさまよい続けるという事態も考えられないではない。そこで、IPパケットの送出時には必ずTTLを設定することになっている。TTLは最大255が設定可能で、ルータをホップするごとに必ずTTLから1減らされる。そして、0に達したパケットはルータが破棄することになっている。
図1 TTLとICMP Time Exceeded |
では、どの程度のTTLなら十分かという問題は、目的ホストまでどれだけのルータやゲートウェイを越える可能性があるかということだ。つまりこれは、インターネットの「広さ」と密接に関連している。通常は30程度までとされているが、一般的なアプリケーションでは255や128など十分な大きさを指定する場合が多いようだ。
|
|
図2 tracerouteの動作 |
パケットが単に破棄されたままでは、送信元ホストは正しく相手のホストにパケットが届いたかどうかは分からない。そこで、ルータの設定にもよるのだが、破棄したルータはICMPのTime Exceededエラー(Type=11)を送信元ホストへ報告することになっている。この通知を受け取ることで、送信元ホストはルーティングなどに何らかの問題が発生していることを知ることができるわけだ。
tracerouteコマンドでは、このTTLを1から順に増やして試行を重ねて結果を得ている。例えば、まず最初にTTLを1としてIPパケットを対象ホストへ送出*1すると、1番目のルータ(1ホップ目)が受け取った時点でTTLを減算した結果、0となってしまうので、ルータはICMP Time Exceededエラーを返答する。これが1台目のルータの結果となる。次にTTLを2にして送出すれば、2台目のルーターの結果が得られる。
このように、目的のホストに到達するまでTTLを増加しつつ次々にパケットを送出することで、tracerouteの結果を得ることができるというわけだ。
|
■対応していないルータも存在する
調査するホストによっては、次のような結果が得られることもある。
|
これは、このルータがICMP Time Exceededに対応していないためだ。前述のように、tracerouteはICMP Time Exceededエラーの結果を受け取らないと結果を表示できない。この例では、おそらく3番目のルータからエラーが返らず、tracerouteコマンドがタイムアウトしたため、このような表示になっていると考えられる。
また、単に対応していないというだけでなく、ルータによってはセキュリティ上の要件からICMPパケットをフィルタしている場合もある。おもにISPの管理するルータでは、そうしたことが多いようだ。
関連記事 | |
ネットワークの疎通を確認するには? エラー報告プロトコル「ICMP」の動作原理を理解する |
|
ルーティングの設定は正しいか? ルーティングの仕組みを理解して設定を見直す |
|
関連ネットワーク・コマンド/ツール | |
ping 〜ネットワークの疎通を確認する |
|
traceroute(tracert) 〜ネットワークの経路を調査する |
|
route 〜ルーティングテーブルの設定/表示 |
|
ネットワークトラブル解決法
|
ネットワークコマンド使い方
|
ネットワーク・コマンドでトラブル解決
トラブルシューティングに便利な各種コマンド/ツール事典。各ツールの活用法をまとめたTipsも順次アップデート!
- 第1回 つながらないネットワークの原因を特定する!
- 第2回 ネットワークトラブル、まずはホストの設定を見直そう!
- 第3回 ルーティングのトラブル、まずはその仕組みから理解!
- 第4回 イーサネットの通信は正しく行えているか?
- 第5回 TCP/UDPの接続ステータスを確認しよう!
- 第6回 DHCPの自動設定機能をうまく使いこなすコツは?
- 第7回 DNSの設定と動作は正しいか?
コマンドを使ってトラブルシューティング
社内のPCが突然、メールを受信できなくなり、Webも見られない環境になってしまった。そんなとき、どのように対処するべきか
- 第1回 LANから外に出られない!?
- 第2回 どうして課長だけプリントできない?
- 第3回 ネットワークに同じIPアドレスが2つある?
- 第4回 同じメールしか受信できない!?
- 第5回 ファイルがアップロードできない?
- 第6回 私だけネットワークにつながらない!?
- 第7回 特定のサイトにだけアクセスできない
- 第8回 無線LANでメールがたまに受信できない?
- 第9回 外部を勝手に攻撃しているのは誰?
- 第10回 夜になるとネットワークが遅くなる?
- 最終回 怪しいサイトに飛ばされるんだけど
ツールを使ってネットワーク管理
名前しか知らない後輩君がやってきた。彼によると、コマンドはすでに古くツールがクールだという。ならば教えてもらおうではないか
- 第1回 後輩のツール君曰く、コマンドはもう古い!?
- 第2回 勝手にネットにつないでるマシンを探せ!
- 第3回 私用メールする子にお仕置きを
- 第4回 OSやアプリケーションの箱がなくなっても大丈夫?
- 第5回 俺の「パスワード:*****」って何でしたっけ?
- 第6回 ユーザー名と同じ安易なパスワードを撲滅せよ!
- 第7回 いきなりナウでヤングなWebサイトを管理しろって……
- 第8回 「POPFile」でスパムと無駄な時間は除去じゃ!
- 第9回 それはスパムか否か、POPFileの振り分けを鍛える
- 第10回 情報漏洩防止のためにPC監視!?「WatchYourPC」
- 第11回 とにかく社内でWinnyの起動をやめさせたい
- 第12回 USBでコピーデータを家に持ち帰らせたくない
- 第13回 パスワード、記憶に頼っていて大丈夫?
- 第14回 サーバ異常をメールで知らせる統合監視ツール
- 第15回 メールサーバがいっぱいですよ、と警告されたら
- 第16回 出張中のメール送信にご用心!
- 第17回 安いホスティングに引っ越しって簡単にいうけど
- 第18回 WebサーバにFTPできないんですけど……
- 第19回 PC環境の移行。あなたならどうする?
- 第20回 サーバのリモートバックアップをさせたい
「Master of IP Network総合インデックス」 |
- この15年、変わったことと変わらないこと (2008/6/5)
Interop Tokyoがスタートした15年前と比べると、ネットワークの姿は大きく様変わりした。その歩みを改めて振り返ってみよう - 古いNTサーバに残された重要なモノ (2008/6/4)
今日はIT系展示会。のんびりブラブラ……といかないのが管理者の宿命か。当日の朝になって、ブースに設置したPCが接続不能に! - ネット最前線に何が見えるか (2008/6/2)
ネットワーク技術の進化と成熟はまだまだ鈍化していないようだ。ほんの1、2年前には無理だと思われたことが実現されつつある - ECネットワークは、ネット紛争の“遠山の金さん” (2008/4/24)
eコマースでトラブルに巻き込まれたとき助けを求めればいいのか。時間やお金が掛かる裁判以外の方法がある
|
|
スポンサーからのお知らせ
- - PR -
お勧め求人情報
**先週の人気講座ランキング**
〜ITIL編〜
◆ | New! 誰もが満足するシステムへ 10年前にSOA実現を可能にしたサーバは? |
◆ | New! 初めての製品に不安を感じる甲山たち ――26年の歴史が物語る信頼性と実績 |
◆ | New! サーバ担当者を物理的な作業から開放する ホスティングの“パターンオーダー”とは |
◆ | New! スループットは従来機の“2〜3倍”を発揮 CoolThreadsのDBサーバとしての威力とは |
◆ | New! 【24時間365日】無償サポートを実現する 専用ホスティング、その秘訣とは? |
◆ | ■ 高パフォーマンス 『 UltraSPARC 』 仮想化も併用し、サーバ統合効果を検証! |
◆ | 「1秒、切れてました」は、通用しない! 堅牢性・信頼性に優れた“国産”通信機器 |
◆ | 市場の変化と淘汰されるERPエンジニアとは 〜エンジニア・キャリア進化論(第7回)〜 |
◆ | こんな便利な開発ツールがあるならもっと 早く教えてくれよ!おれの青春を返せ〜! |
◆ | 『もう1つの外資系』を選ぶワケ…… 読んでわかる、驚きの採用状況と人材育成法 |
◆ | 『家族持ち』ITエンジニアの方、必見! 経験者が語る、U/Iターン転職の実状と魅力 |
◆ | 業務アプリの開発効率向上と顧客満足の 向上を両立するアウトプットの“疎連携” |
◆ | 自分のスキル、限界を感じていませんか? 『IT専門教育』で独学の限界を超えろ! |
◆ | トレンドは常に動き続ける!時代の変化に 対応する――ベンダーからのメッセージ! |
◆ | 【実践!SOA】手作業をシステム化で改善 作業ミスが従来の60%から1%にまで激減! |
◆ | BI導入が失敗する『3つの理由』と データ・情報活用を成功させる解決ツール |