ネットワーク監視・トラブルシュート

TTL(Time To Live) てぃーてぃーえる

Time To LivepingtracerouteルーティングパケットDNS TTL
TTLについて教えて

簡単に言うとこんな感じ!

TTLは「パケットの賞味期限」みたいなものだよ!ネット上を飛び回るデータに「最大○回まで転送していいよ」って制限をつけておくことで、迷子になったデータがネットワークをぐるぐる回り続けるのを防いでるんだ。DNSの設定でも「このアドレス情報は○秒間有効」って意味で使われるよ!


TTL(Time To Live)とは

TTL(Time To Live) とは、直訳すると「生存時間」。ネットワーク上を流れるデータ(パケット)が「どこまで転送されてよいか」を制限する仕組みです。パケットがルーター(経路上の中継機器)を1つ通過するたびにTTLの値が1ずつ減らされ、ゼロになったパケットはそこで廃棄されます。

これにより、宛先に届けられなかったパケットがネットワーク上を永遠にさまよい続ける「ループ問題」を防ぐことができます。インターネットの信頼性を支える、地味だけど欠かせない仕組みです。

TTLは文脈によって意味が少し変わります。IPパケットのTTL(転送回数の上限)と、DNSのTTL(キャッシュの有効期間)の2種類が特によく使われます。ネットワークの設定やトラブル対応の場面で頻繁に登場するので、両方の意味を押さえておくと実務で役立ちます。


TTLの2つの使われ方

文脈TTLの意味単位主な用途
IPパケットルーターを通過できる残り回数回(ホップ数)パケットのループ防止
DNSキャッシュの有効期間名前解決結果の保持時間

IPパケットのTTLの動き方

パケットが出発するとき、OSによって初期値がセットされます。主要なOSの初期値は以下の通りです。

OSTTL初期値特徴
Windows128Windowsサーバー・PCに多い
Linux / Android64Webサーバーなどに多い
macOS / iOS64Appleデバイス
古いUnix / ネットワーク機器255ルーター・スイッチ類

ping コマンドの応答に表示される TTL 値を見ることで、「相手がWindowsかLinuxか」をざっくり推測する技が使われることもあります。

DNS TTLの覚え方

「TTL=キャッシュの鮮度管理」
スーパーの食品の「消費期限シール」と同じ。期限が切れたら再取得(ラベルを貼り直す)する。

  • TTLを短くすると → DNSの変更がすぐ世界中に反映される(サーバー移行・障害対応に有利)
  • TTLを長くすると → キャッシュが長持ちし、DNSサーバーへの問い合わせ回数が減る(負荷軽減)

歴史と背景

  • 1981年 — RFC 791でIPv4が標準化され、TTLフィールドが定義される。当初は「秒数」で定義されていたが、実装上ほぼ「ホップ数」として扱われるようになった
  • 1983年頃 — インターネットの規模拡大とともに、ルーティングループによるパケット増殖が現実の問題になり、TTLの重要性が高まる
  • 1989年traceroute ツールが登場。TTLを意図的に1から増やしていくことで経路上のルーターを可視化する手法として活用される
  • 1998年 — IPv6(RFC 2460)でTTLに相当するフィールドは 「Hop Limit(ホップリミット)」 と名称変更。概念は同一
  • 2000年代〜 — クラウド・CDNの普及でDNS TTLの設定が運用上の重要課題に。「切り替え時はTTLを短くしておく」がインフラ担当者の常識に

TTLとpingコマンドの関係

ping コマンドや traceroute コマンドはTTLを使った代表的なネットワーク診断ツールです。

pingとTTLの関係

自分のPC ──→ ルーターA ──→ ルーターB ──→ 宛先サーバー
 TTL=64      TTL=63        TTL=62       TTL=61(届く)

<返信>
 TTL=61      TTL=62        TTL=63       TTL=64(元の値)

ping応答の TTL 値 = 相手側の初期TTL − 経由したルーター数
ping google.com で TTL=117 なら「128 − 117 = 11台のルーターを経由した」と読める。

tracerouteの仕組み(TTLの巧みな活用)

traceroute の仕組み(TTLを1から増やして経路を探る) あなたのPC ルーターA ルーターB 宛先サーバー 1回目: TTL=1 で送信 → ルーターAでTTLが0になり廃棄 → ルーターAから「時間超過」エラーが返る → ルーターAのIPが判明! 2回目: TTL=2 で送信 → ルーターBでTTLが0になり廃棄 → ルーターBから「時間超過」エラーが返る → ルーターBのIPが判明! 3回目: TTL=3 で送信 → 宛先サーバーに届く → 宛先から正常応答が返る → 経路の完成! TTLを1ずつ増やすことで、通過するルーターを1台ずつ「炙り出す」仕組み

TTL切れ時の動作と活用場面

シーンTTLの動き実務上のポイント
ルーティングループTTLがゼロになったルーターがパケットを廃棄し、ICMPエラーを返す無限ループによるネットワーク障害を防ぐ
pingで疎通確認応答のTTL値から経由ホップ数を推定できるTTL=0なら届いていない=経路の問題を疑う
tracerouteTTLを1から増やして各ルーターの応答を収集どこで詰まっているかの切り分けに使う
DNSレコード変更TTLを短くしてから変更 → 変更後にTTLを戻すサーバー移行・IP変更時の手順として定番
CDN・クラウドTTLを短く設定して素早い切り替えを実現障害時のフェイルオーバーを速くする

関連する規格・RFC

規格・RFC番号内容
RFC 791IPv4の定義。TTLフィールド(8ビット)の仕様を規定
RFC 2460IPv6の定義。TTL相当の「Hop Limit」フィールドを規定
RFC 1034 / 1035DNSの基本仕様。DNS TTLの概念を規定
RFC 792ICMP(Internet Control Message Protocol)。TTL超過時の「Time Exceeded」メッセージを定義

関連用語

  • ping — ネットワーク疎通確認の基本ツール。TTLを使った応答時間測定
  • traceroute — TTLを活用してネットワーク経路上のルーターを可視化するツール
  • ICMP — TTL超過時のエラー通知など、ネットワーク制御メッセージのプロトコル
  • DNSドメイン名IPアドレスに変換する仕組み。TTLでキャッシュ有効期限を管理
  • ルーティング — パケットの転送先を決める仕組み。TTLと密接に関連
  • IPv6 — TTLに相当する「Hop Limit」を採用した次世代IPプロトコル