【てぃーてぃーえる】

TTL とは?

最終更新:
💡 IPは転送の上限、DNSはキャッシュの時間

Time To Liveの略。IPv4では転送の回数を制限する値、DNSではキャッシュできる時間を示す値として使われ、文脈を分けて読みます。

📌 このページのポイント
TTL:IPとDNSでは値の意味が違うIPv4:転送を制限する値到着TTL=2先へ転送TTL=1ルーター少なくとも1減算。0なら破棄するDNS:キャッシュできる秒数TTL=3600 → 3600秒=1時間ルーターの台数ではない
IPv4は1減算する転送例、DNSはレコードをキャッシュできる時間です。IPv6の同様の転送制限はHop Limitです。TTLの名前だけで用途を決めず、DNSの既存キャッシュは値の変更で同時には消えません。
ひよこ ひよこ
TTLは、何の寿命を決めるの?
ペンギン先生 ペンギン先生
文脈によるよ。IPv4のパケットならネットワークで転送され続けることを制限する値、DNSのレコードならキャッシュに使える時間だね。数字だけで意味を決めないことが大切なんだ。
ひよこ ひよこ
IPv4では、どう減る?
ペンギン先生 ペンギン先生
転送するルーターが少なくとも1減らすよ。減らした結果が0になれば、そのパケットは破棄する。経路にループがあっても、無限に転送され続けないための仕組みなんだ。
ひよこ ひよこ
Timeなのに、ルーターの数?
ペンギン先生 ペンギン先生
IPv4の仕様は時間の制限も定義するけれど、実際には主にホップ数の上限として働くよ。IPv6では、同様に転送を制限するフィールドをHop Limitと呼ぶんだ。
ひよこ ひよこ
DNSのTTLが3600なら?
ペンギン先生 ペンギン先生
そのレコードをキャッシュできる時間が3600秒、つまり1時間という意味だよ。ルーターを3600台通れるという意味ではない。TTLが0なら、その問い合わせの処理だけで使い、キャッシュしないんだ。
ひよこ ひよこ
DNSの値を今変えれば、全員にすぐ反映?
ペンギン先生 ペンギン先生
既にキャッシュされた古い情報まで、同時に消えるわけではないよ。値が長ければ再利用できる時間が長く、短ければ期限が早く来る。全サイトに共通の最適な秒数を決め付けず、変更計画や運用に合わせて考えよう。
もっと詳しく知りたい人へ

IPv4のTTLが切れたら、必ずエラーが見える?

通常のユニキャストではルーターからICMP Time Exceededが送られる仕組みですが、ICMPを返さない条件や設定もあります。エラーの表示だけで、経路上の動作をすべて確認できるとは限りません。

TTLを大きくすれば、通信は速くなる?

IPv4のTTLは転送を続ける上限で、回線の速さを決める値ではありません。DNSのTTLはキャッシュの時間です。どちらも数字を大きくすることだけで、速度向上を保証するものではありません。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「TTL」って出てきたら「パケットの転送やキャッシュの利用に設ける、寿命の上限」と思えばだいたいOK!
📖 おまけ:英語の意味
「Time To Live」 = 生存時間
💬 同じ略語でも用途が違います。IPv4の転送制限と、DNSのキャッシュの時間は、分けて確認します。

参考資料

← 用語集にもどる