※本ページにはプロモーション(広告)が含まれています
ネットワークを流れるデータが無限にループしないよう、生存時間を数値で設定する仕組み。通信の寿命を決める値。
詳しい解説
TTLは『Time To Live(生存時間)』の略で、インターネット上を流れるデータパケットが無限にネットワーク内を彷徨わないよう、残り何回ルーターを通過できるかを示す数値のことを指します。通信の寿命カウンタと考えると理解しやすい仕組みです。
具体的には、パケットが送信されるときにTTL値(例: 64、128など)が設定され、1台のルーターを通過するたびに1ずつ減算されます。値が0になった時点でパケットは破棄され、送信元に『時間切れ』のエラーが通知されます。これによりループが発生しても無限に続くことを防ぎ、ネットワーク全体の健全性が保たれます。
OSごとに初期TTL値は異なり、WindowsやMacOSは128、Linuxやネットワーク機器では64が一般的です。『ping』コマンドで相手サーバーに通信すると、応答パケットに残りTTLが表示されるため、どれくらいのルーターを経由したか間接的にわかります。
DNSの分野にも『DNSレコードのTTL』という別の概念があり、これはDNSキャッシュが保持される時間を秒単位で示します。たとえば『TTL=3600』なら1時間、各DNSサーバーがその情報をキャッシュするという意味です。ドメインのIP変更を即座に反映したいときは、このTTLを短く設定しておきます。
トラブルで多いのは『パケットがTTL切れで到達しない』というケースです。遠距離のサーバーにアクセスできない場合、tracerouteコマンドで経路を追うと、どのルーターでTTLが切れているか確認できます。通常のインターネット通信では30回程度の経由で目的地に到達するため、TTL=64あればほぼ問題ありません。
海外サーバーへの接続が遅いとき、コマンドプロンプトで『tracert google.com』を実行する場面を想像してください。画面に表示される各行が経由しているルーター1台ずつで、10〜20行目くらいで目的地に到達します。もしTTLが極端に小さく設定されている環境だと、途中でタイムアウトして到達不可能になります。TTLはこのように『通信がどこまで届けるか』の保険として機能しているのです。
別の呼び方
Time To Live
ティーティーエル
パケット寿命
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!