タイム・トゥ・ライブ(TTL)またはホップ・リミットとは、コンピュータやネットワークにおけるデータの有効期間を制限するメカニズムです。TTLは、データに付加または埋め込まれたカウンタやタイムスタンプとして実装されます。規定されたイベント数または期間が経過すると、データは破棄されるか、再検証されます。コンピュータネットワークでは、TTLによってデータパケットが無限に循環することを防ぎます。コンピューティングアプリケーションでは、TTLは一般的にパフォーマンスの向上やデータキャッシュの管理に使用されます。
オリジナルのDARPAインターネットプロトコルのRFCでは[ 1 ] : §1.4 TTLを次のように説明しています。
有効期間(Time to Live)は、インターネットデータグラムの寿命の上限を示す指標です。これはデータグラムの送信者によって設定され、処理経路上の各地点で短縮されます。インターネットデータグラムが宛先に到達する前に有効期間がゼロになると、そのデータグラムは破棄されます。有効期間は、いわば自己破壊の期限と考えることができます。
インターネットプロトコルでは、TTLは8ビットフィールドです。IPv4ヘッダーでは、TTLは20オクテットのうち9番目のオクテットです。IPv6ヘッダーでは、40オクテットのうち8番目のオクテットです。TTLの最大値は255で、これは1オクテットの最大値です。推奨される初期値は64です。[ 2 ] [ 3 ]
タイムトゥライブ値(TTL)は、IPデータグラムがインターネットシステム内に存在できる時間の上限と考えることができます。TTLフィールドはデータグラムの送信者によって設定され、宛先までの経路上のすべてのルータによって減少します。データグラムが宛先に到着する前にTTLフィールドがゼロになると、データグラムは破棄され、インターネット制御メッセージプロトコル(ICMP)エラーデータグラム(11 - 時間超過)が送信者に返送されます。TTLフィールドの目的は、配信不能なデータグラムがインターネットシステム内を循環し続け、最終的にそのような「不滅のデータグラム」によってシステムが溢れかえる事態を回避することです。
理論上、IPv4では、TTL(Time To Live)は秒単位で測定されますが、データグラムを通過するすべてのホストは、TTLを少なくとも1単位減らす必要があります。実際には、TTLフィールドはホップごとに1ずつ減らされます。この慣習を反映するため、 IPv6ではこのフィールドはホップ制限(hop limit)と改名されました。

TTL はドメイン ネーム システム(DNS)でも使用され、特定のリソース レコードに対して権威ネーム サーバーによって設定されます。キャッシュ (再帰)ネーム サーバーがリソース レコードについて権威ネーム サーバーに問い合わせると、TTL で指定された時間 (秒単位) だけそのレコードをキャッシュします。スタブ リゾルバがTTL が期限切れになる前に同じレコードについてキャッシュ ネーム サーバーに問い合わせると、キャッシュ サーバーは権威ネーム サーバーから再度取得するのではなく、既にキャッシュされているリソース レコードで応答します。NXDOMAIN (存在しないドメイン) 応答の TTL は、SOA レコードの MINIMUM フィールドとSOA レコード自体の TTL の最小値から設定され、リゾルバが否定応答をキャッシュできる期間を示します。[ 4 ]
TTLを短くすると権威ネームサーバーへの負荷が大きくなる可能性がありますが、 WebサーバーやMXレコードなどの重要なサービスのアドレスを変更する際には役立ちます。そのため、DNS管理者はサービスの移動前にTTLを短く設定し、起こりうる混乱を軽減することがよくあります。
使用される単位は秒です。DNSの従来の一般的なTTL値は86400秒(24時間)でした。TTL値が86400秒の場合、権威ネームサーバーでDNSレコードが変更されても、世界中のDNSサーバーはクライアントによる最後の更新から最大24時間、キャッシュから古い値を表示し続ける可能性があります。
災害復旧(DR)システムの一部である新しいDNS方式では、一部のレコードのTTLを意図的に非常に低く設定する場合があります。たとえば、300秒のTTLを設定することで、重要なレコードが5分で期限切れになり、これらのレコードが世界中で迅速に削除されることが保証されます。これにより、管理者はレコードをタイムリーに編集および更新できます。TTL値は「レコードごと」に設定され、特定のレコードにこの値を設定すると、世界中のすべての標準DNSシステムで自動的に尊重される場合があります。しかし、一部のキャッシュDNSネームサーバーは権威レコードに関係なく独自のTTLを設定するため、TTLの期限が切れた後にすべての下流DNSサーバーが新しいレコードを取得していることを保証できないという問題が残っています。
有効期限は、レコードの有効期限が切れる日時として表現される場合もあります。HTTPExpires:レスポンスのヘッダー、Cache-Control: max-ageリクエストとレスポンス両方のヘッダーフィールド、およびexpiresHTTP Cookieのフィールドは、このように有効期限を表現します。
インターネットプロトコル(IP)の現在の推奨デフォルト生存時間(TTL)は64です[RFC791]、[RFC1122]。