質問 |
||
QNo.63133 | PINGのTTLについて | |
---|---|---|
質問者:gaia5 |
PINGのTTLについてですが、 -iスイッチを使って指定した数と 帰ってきた数が違うのはどうしてでしょうか? どなたかわかる方お願いいたします。 例)PING -i 5 Replay...........TTL251 例) PING -i 2 Replay...........TTL expired in transit 共に相手に届いていると言うのはわかりますが、 -iスイッチで指定したTTLの数と ReplayのTTLは、違うのですか? よろしくお願いいたします。 |
|
困り度:
|
||
質問投稿日時: 01/04/13 01:51 |
回答良回答20pt |
|
ANo.3 | お使いの ping は Windows の ping なんですよね。 -i に続ける数値は、通り抜けられるルータの数だと思ってください。 例としてあげてもらった相手は、ルータ3個以上をまたいだ向こうだ ということです。 なので、 例) PING -i 2 Replay...........TTL expired in transit は相手に届いていないです。二個目のルータが、もう届けられないよ、 という返事です。 次に、ping が表示する TTL の数値は、相手が返してきた Time To Live フィールドの数値です。 最初の回答の方が > TTL 251 と言う事は相手から応答が来るまでに4つの > ルータを通過していると言う事 というのは BSD系の unix は 255 を TTL フィールドに 入れて返します。ルーターを通る度にひとつずつへって行く ので、自分(ping を打った側)に返ってきたときには 251 になってる、つまり 255 - 251 で、4つ通ってきた ということです。 でも、255 を入れて返さなければいけない、ということが 決まっているわけでは無いので、相手次第で、この数字は 変わります。 WindowsNTだと多分128、他にも64で返すunixを知ってます。 ちなみに、いわゆる unix 系に実装されている ping では -t のオプションが TTL の指定です。 参考URLには linux の man を示します。TTLの詳細という 項が参考になると思います。 |
---|---|
回答者:a-kuma | |
種類:回答 どんな人:専門家 自信:自信あり |
|
回答日時: 01/04/13 11:31 |
|
| |
参考URL: | http://www.linux.or.jp/JM/html/netkit/man8/ping.8.html |
この回答へのお礼 | いつもありがとうございます。 OSは、Win98です。 ちょうど、PINGのスイッチについて 練習していたのですが、 テキストの表現だと、実装と経由しだいと 載っていたのですが、よく意味がわかりませんでしたので 質問させていただきました。 なるほど引き算すれば良いんですね。 |
回答 |
|
ANo.2 | 使っているOSは何ですか? ちょっとうろ覚えなので自信がありませんが、 Solarisとか一部のOSでは「-i」はマルチキャスの為の インタフェースアドレスを指定するオプションだったような気が... ちなみにその場合配信間隔は「-I」と大文字になります。 詳しいことがわかったらまた回答します。 ...ってその前に他の方が回答するかな? ^ ^;) |
---|---|
回答者:noname#41381 | |
種類:アドバイス どんな人:一般人 自信:参考意見 |
|
回答日時: 01/04/13 10:38 |
|
| |
この回答へのお礼 | 回答ありがとうございます。 実は、OSはWin98です。 明記しなくてすいません。 でも、勉強になりました。 |
回答 |
|
ANo.1 | -iはpingでパケットを送る間隔を秒で指定するだけなので TTLとは関係ないです。TTLの方は相手先から自ホストに 到達するまでの間にルータ等を通過する度に1つ引かれます。 TTL 251 と言う事は相手から応答が来るまでに4つの ルータを通過していると言う事かと思います。 # -i 2 とした時に expireするのは謎ですが...(?_?; |
---|---|
回答者:h_hikita | |
種類:回答 どんな人:一般人 自信:自信あり |
|
回答日時: 01/04/13 02:57 |
|
| |
この回答へのお礼 | 早速の回答ありがとうございます。 なるほど、255を最大として そこから引けば良いのですね。 |