回答:
TTLは、ルーターを通過するときに減少します。これにより、パケットが円を描いて移動している場合、最終的に死ぬことが保証されます。
IP v4パケットのTTLフィールドは、8ビットフィールド(10進255)です。したがって、開始時に高く設定することは、適切な形式のパケットでは実際にはそれほど大きくないため、大したことではありません(ただし、不正な形式のIPパケットを受け入れるものもあります)。
ただし、何かがそれをインクリメントし、インクリメントステップがループの一部である場合、パケットはゼロに達することなく円を描き続けます。時間が経つと(非常に短いか、徐々にリークする可能性があります)、そのループを含むシステムでパケットが蓄積し、過負荷を引き起こす可能性があります。
答えは逃したように見えますが、純粋にアカデミックな点が1つあります(インターネット上で必要なホップ数が多いため):TTLの期限切れのためにパケットが宛先に到達できない場合は、それを増やしますパケットは宛先に到達できますが、返されるパケットには影響せず、ネットワークに到達する前に期限切れになります。
更新:ウィキペディアのこのページによると:
理論的には、IPv4では生存期間は秒単位で測定されますが、データグラムを通過するすべてのホストはTTLを少なくとも1単位減らす必要があります。実際には、TTLフィールドはホップごとに1つずつ減少します。このプラクティスを反映するために、フィールドはIPv6のホップ制限に名前が変更されました。
更新2:誰かが私の投稿を更新してウィキペディアを参照したとき、RFC自体を参照するのが最善かもしれないと考えました-http ://www.ietf.org/rfc/rfc791.txt-TTLを検索してくださいそれを説明する良い仕事:
このフィールドは、データグラムがインターネットシステムに留まることができる最大時間を示します。データグラムを処理するすべてのモジュールは、1秒未満でデータグラムを処理する場合でも、TTLを少なくとも1減らす必要があります。
高いTTL値を使用できるプログラムは1つだけですtraceroute
。名前が示すように、TTL値を変更することにより、宛先ホストへのルートをトレースします。標準の最大ホップ数は20ですが、これを増やすことができます。
パケットを処理する各ルーターは、パケットが宛先に到達するか、TTLがゼロに到達して死ぬまで、TTL値を減らします。
他の人が言ったように、TTLを増やすと、負のサイクルがある場合にパケットが死ぬことはありません。一般に、TTL値が十分に大きくない場合、より大きなTTLを試行するロジックは、おそらくエンドツーエンドクライアントで処理する必要があります。
ルーターがサイクル内にないことが確実な場合(ツリーのようなトポロジ)、理論的にはTTL値を安全に増やすことができます。ただし、標準よりも多くのホップを許可すると、外部ネットワークで輻輳が発生する可能性が高くなります。内部ネットワークと外部ネットワークの間にルーターの長いチェーンがある場合、サイクルがない限り、TTL値を大きくすると役立つ場合があります。そうは言っても、誰かがネットワークにエッジを追加してサイクルを作成することは非常に簡単である可能性があります。