
Windows などのユーティリティには、ping.exe
エコー要求メッセージの IP ヘッダーのデフォルトの TTL 値を変更するオプションがあります。TTL はパケットの最大ホップ制限を示します。各ルーターが TTL 値を減らし、ループしたパケットからネットワークを「クリーンアップ」するために作られたことは知っています。しかし、TTL を変更する意味は何でしょうか? 最大値の 255 に設定しないのはなぜでしょうか? また、どの値がより適切であるかを知るにはどうすればよいですか? TTL は、次のような概念と何らかの形で関連していると聞きました。ドメインゾーンそしてそのサイズ誰か説明してもらえますか? ありがとうございます。
答え1
TTL はかなり一般的な用語で、「Time To Live」を意味します。有限の有効期間が求められる多くの状況で使用されます。
ping では、おっしゃるとおり、パケットが移動できる最大ホップ数を設定するために使用されます。DNS では、エントリがキャッシュから期限切れになるまでの時間の長さとして使用されます。
なぜ常に 255 に設定しないのかと疑問に思うかもしれません。ping を使用する状況の 99% では、それで問題ありません。ホップの正確な数を指定する必要がある状況は、ほんのわずかです (思い浮かぶのは 1 つです)。
ポイント A と B の間に複数のルートがあるネットワークを想像してください。ルート 1 (R1) は、A と B の間に 6 ホップあります。ルート 2 (R2) は、A と B の間に 8 ホップあります。
ping を 6 ホップのみ許可するように設定することで、R1 を通過するパケット数と R2 を通過するパケット数を正確に判断できます。
答え2
私が知っている限り、ping の TTL は基本的に、一定時間後にパケットを削除し、ネットワーク フォワーダーで循環できないようにするためのものです。また、この値を使用して、エコー要求を送信したステーションの状態を確認することもできます。これは、すべてのルータが送信前にこの値を減らすためです。ただし、エコー要求パケットがターゲット ステーションに到達すると (つまり、まだ動作中の場合)、「エコー応答」パケットが生成され、この応答にも TTL が含まれます。この TTL は、「ターゲット ステーション ルール」に基づいて最大値にリセットされます。Linux/BSD ステーションでは 64 に設定され、Windows では 128、Cisco または Solaris では 255 に設定されていると思われます。その後、宛先アドレスに返送されます。
このため、ping レポートでは異なる TTL 値が表示されます。