• ベストアンサー

PINGのTTLについて

PINGのTTLについてですが、 -iスイッチを使って指定した数と 帰ってきた数が違うのはどうしてでしょうか? どなたかわかる方お願いいたします。 例)PING -i 5 Replay...........TTL251 例) PING -i 2 Replay...........TTL expired in transit 共に相手に届いていると言うのはわかりますが、 -iスイッチで指定したTTLの数と ReplayのTTLは、違うのですか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.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の詳細という 項が参考になると思います。

参考URL:
http://www.linux.or.jp/JM/html/netkit/man8/ping.8.html
gaia5
質問者

お礼

いつもありがとうございます。 OSは、Win98です。 ちょうど、PINGのスイッチについて 練習していたのですが、 テキストの表現だと、実装と経由しだいと 載っていたのですが、よく意味がわかりませんでしたので 質問させていただきました。 なるほど引き算すれば良いんですね。

その他の回答 (2)

noname#41381
noname#41381
回答No.2

使っているOSは何ですか? ちょっとうろ覚えなので自信がありませんが、 Solarisとか一部のOSでは「-i」はマルチキャスの為の インタフェースアドレスを指定するオプションだったような気が... ちなみにその場合配信間隔は「-I」と大文字になります。 詳しいことがわかったらまた回答します。 ...ってその前に他の方が回答するかな? ^ ^;)

gaia5
質問者

お礼

回答ありがとうございます。 実は、OSはWin98です。 明記しなくてすいません。 でも、勉強になりました。

  • h_hikita
  • ベストアンサー率40% (104/257)
回答No.1

-iはpingでパケットを送る間隔を秒で指定するだけなので TTLとは関係ないです。TTLの方は相手先から自ホストに 到達するまでの間にルータ等を通過する度に1つ引かれます。 TTL 251 と言う事は相手から応答が来るまでに4つの ルータを通過していると言う事かと思います。 # -i 2 とした時に expireするのは謎ですが...(?_?;

gaia5
質問者

お礼

早速の回答ありがとうございます。 なるほど、255を最大として そこから引けば良いのですね。

関連するQ&A