pingとtracerouteコマンドについて

先日あるサイトのみダウンしていてネットワーク接続に付いて興味をもちました。

ここに4つのグローバルIPアドレスを考えます。

Aは私のグローバルIPアドレスです。固定されていると考えます。

BとCは途中のホストのグローバルIPアドレスと考えます。

Dは目的のサイト(例えばhttps://www.google.com)と考えます。1つの固定されたグローバルIPアドレスと考えます。


AとEでアクセスが確定したとします。

この時中継ホストとしてBとCとDとします。

この様に考えた時

1.AからEに継続して一定時間アクセスしているとき、BとCとDは固定されている(グローバルIPアドレス)一定。

と考えて良いのでしょうか?

私は継続してアクセスしている時は一定していると考えているのですが。


で、この様にアクセスが確定している時pingコマンドとtracerouteコマンドを打ってみました。

pingコマンドは何回もtime outしtracerouteコマンドはhop数の上限まで****を表示します。


これはどの様に考えたら良いのでしょうか?


例えばBホストはpingコマンドとtracerouteコマンド受け入れるとします。

BホストのグローバルIPアドレスは表示されます。


BからCにpingが行きます。CとDがリクエスト拒否設定とします。

ここでtimeoutが出ます。

あとはすべてCのリクエスト拒否と考えるののでしょうか?

Dのリクエスト拒否も含まれるのでしょうか?


tracerouteも***表示はホップする(ホップ数が増える)たびに違うホストをあらわしているのでしょうか?


頭が混乱しています。


宜しくねがいます。

iMac (21.5-inch Mid 2011), Mac OS X v10.7.2 Lion

投稿日 2012/06/30 21:02

返信
返信: 10

2012/06/30 23:02 pyiphyoei への返信

> AからEに継続して一定時間アクセスしているとき、BとCとDは固定されている

>(グローバルIPアドレス)一定。と考えて良いのでしょうか?


「一定時間」がどれぐらいかにもよると思います。短時間なら同じとしてよいでしょうけど、長時間(数分以上)だと、そうともいえないのでは?


> pingコマンドは何回もtime outしtracerouteコマンドはhop数の上限まで****を表示します。

> これはどの様に考えたら良いのでしょうか?


単に疎通がないのでは?

ping 応答も返さないようにしているところもあります。これだと、例えば、ホームページは見えるのに、ping 応答はない、traceroute も意味ある結果を返さないということはあります。

疎通がある場合でも、ping とtraceroute は必ずしも同じ結果になりません。ping 応答はあるのに、tracerouteでは途中が、... となる場合もよくあります。これは、pingは ICMP ECHO を利用するのに対し、traceroute ではランダムなUDPパケットを利用しているため、パケットフィルターなどがかかっていると応答が返らないためです。

http://homepage2.nifty.com/protocol/traceroute.html

自分が管理するネットワーク内なら、こういうことは生じません(生じないように出来る)。

2012/07/01 00:38 はに への返信

実は今私は東南アジアの国でこれを試しています。

例えばwww.google.comにping をかけてもrequest timeout の繰り返し。

tracerouteをかけてもホップ数と***の繰り返し。

何がなんだかわかりません。

そこで紹介されたサイトにあったWireshorkを試してみます。

素人の物好きでチャレンジしているので試行錯誤してみます。

ありがとうございました。

2012/07/01 00:48 pyiphyoei への返信

> 例えばwww.google.comにping をかけてもrequest timeout の繰り返し。

> tracerouteをかけてもホップ数と***の繰り返し。


少なくとも私のところ(日本国内)からは、ping www.google com は応答がありますし、traceroute もきっちり最後まで全部表示されます。例えば、traceroute では一切何も出ませんか?もしそうなら、すぐ外側(ご利用のプロバイダー?会社の出口?)に強力なファイアウォールがしかれてて、ping もブロック、traceroute のudpポート(どうしても必要なudpポート以外は全部ブロック)もブロックされてるのかもしれません。

2012/07/01 01:06 はに への返信

pingに関してはRequest timeout for icmp_seq*    *は数字が+1.

tracerouteに関しては私のルーターのローカルアドレスと一行あけてプロバイダーらしきホストのグローバルアドレス。

それ以降はホップ数が増加するだけで***が増えていくだけ。

これはどういうふうに理解するとよろしいのでしょうか?


会社ではないのでプロバイダーだと思いますが、そこの出口を出られず、いたずらにpingはRequestを繰り返し、

tracerouteもその要求を繰り返し外に出ていないと考えればよろしいのでしょうか?


宜しくねがいます。

2012/07/01 02:03 はに への返信

ありがとう御座いました。

そこで質問があります。

例えば経路として私をA 目的のホストをE 途中のホストをB C Dとします。

この時、目的のEまで到達していた時。

tracerouteコマンドでは途中***が出てきても私を含め5つ目のホップ数で表示すると考えてよいのでしょうか?

あくまで到達した場合です。


逆にpingコマンドは途中の例えばCホストが拒否設定になっていた時。

Requestが何回でてもそれはCホストのRequest timeoutで

そこから先のDには到達していないと考えてよいのでしょうか?


宜しく願います。

2012/07/01 04:34 pyiphyoei への返信

私なりの結論。

TTLは通過ルーターの数と考える。

Request timeoutは例えばTTL=1の時。

WindowsとUnixによって違うがWindowsの場合4回送る。

それに対して回答がなければRequest timeoutが応答される。


Appleの場合、TTLを1つずつ増やしRequestをおくる。

TTLは基本違うルーターに移ると-1されるが、

ファイヤーウォール等により、そては違うルーターに移っているとは、限らない


如何でしょうか?

2012/07/01 05:13 pyiphyoei への返信

だいぶ違うと思います。


> WindowsとUnixによって違うがWindowsの場合4回送る。

> それに対して回答がなければRequest timeoutが応答される。


timeout は設定された時間内にICMP ECHO REPLY が返るかどうかです。なので、時間を長くすれば応答が返る場合があります。Windows の場合4回送ると書かれてますが、これは、ping packet を4発送るの意です。ping はそれぞれのping packet に対して timeout か、返事が返るまでの時間を表示します。4発のパケットに返事がないときに timeout というわけではありません。


> Appleの場合、TTLを1つずつ増やしRequestをおくる


これは traceroute の場合ですね。Apple に限りません。traceroute では、TTL を1づつ増加してパケットを送り、どのルータでTTL=0になったか調べることによって経路を調べるものです。


http://www.infraexpert.com/study/tcpip5.html

2012/07/01 15:41 はに への返信

考えました。

ping も traceroute(tracert) もicmpというプロトコルを使っているのは同じ


TTLに関しては

pingはディフォルト値(OSで違う)からカウントダウンする。

tracerouteはルーターに向けTTLをプラスしながら経路を調べる。


Request timeoutは目的ホストを含め経路(例Aホスト)で発生したら応答として戻り終了する。ー>それ以上行かない。


tracerouteコマンドで * * *のホスト

1.icmpに単に対応していない。

2.icmpをフィルターしている。


1の場合ホップする(TTL+1)と次のホストに向かう。

2の場合ホップしてもそのホストでフィルターされる。

この様な理解で如何でしょうか?


あと、例えばwww.google.comを閲覧している時、www.google.comにtracerouteをかけても閲覧のルートと必ずしも同じルートを辿るとは限らないと思いますが正しいでしょうか?

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

pingとtracerouteコマンドについて

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。