「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

TTL

pointこの用語のポイント

point寿命(有効期限)だよ

point数字だよ

pointネットワークの話とかDNSの話で出てくるよ

point「Time To Live」の略だよ

スポンサーリンク

簡単に書くよ

TTL(読:ティーティーエル)とは

そいつの寿命として設定される値
です。


image piyo

詳しく書くよ

少し大雑把過ぎる説明ですが、サクっと一言で説明すると

生きていられる時間

が「TTL」です。
言い方を変えると

寿命

ですね。

ちなみに「Time To Live(タイム・トゥー・ライブ)」の略で「TTL」です。
気が向いたら、覚えてあげてください。

TTL

※「Time To Live」を何となく日本語にすると「生きている時間」となります。[詳細]

「TTL」という用語は、主にネットワークの話とDNSIPアドレスドメイン名を紐付けしまっせシステム)の話で出てきます。
両者は別のものなので、分けて説明しますね。

まずは、ネットワークの話で出てくるTTLについて説明します。

ネットワークで出てくるTTLは

1.数字である
2.機器を1つ経由する毎に数字を1減らす
3.数字が「0」になったら、その時点で中継を止める


の特徴を持つ、パケット通信用に細切れにしたデータにくっつく情報です。
TTLがあることによって、パケットさんがネットワークの世界をずっと放浪する事態が回避されています。

例えば、そうですね。
何かの間違いで輪っか構造になっているネットワークが あったとしましょう。
ルータAは「ルータBに行けよ」と指示を出すし、ルータBは「ルータAに行けよ」と指示を出す状態です。
この指示に従うと、パケットさんはルータAとルータBの間をぐるぐる行き来し続けることになります。

TTL2

この状況はマズイですよね?
流れ込むパケットは増えていくのに、出て行くパケットはないので、いずれパンクしてしまいます。

このような状況に対する備えとしてあるのがTTLです。

仮に最初、TTLの値が4だったとしましょう。
ルータAに到着した時点でTTLの値を1つ減らして3にします。

TTL3

ルータAには「ルータBに行けよ」と言われました。
パケットさんはルータBに行きます。
そして、ルータBに到着した時点でTTLの値を1つ減らして2にします。

TTL4

ルータBには「ルータAに行けよ」と言われました。
おっと、どうやら何かの設定ミスで「ぐるぐる同じところを回っちゃうよ構造」になっているようです。
それでもパケットさんは指示に従いルータAに行きます。
そして、ルータAに到着した時点でTTLの値を1つ減らして1にします。

TTL5

案の定、ルータAには「ルータBに行けよ」と言われました。
パケットさんは涙目になりながらルータBに行きます。
そして、ルータBに到着した時点でTTLの値を1つ減らして0にします。

TTL6

TTLの値が0になった時点でパケットさんの旅は終わりです。
力尽きて倒れてしまいます。
力尽きたパケットさんを看取ったルータBさんは、パケットさんを送り出してきたコンピュータに対して「俺はルータBって、ケチな者だけどよー。あんたのところから来たパケットさん、今、力尽きたぜ」と報告のお手紙を出します。

これがネットワークの世界におけるTTLです。
繰り返しになりますが

1.数字である
2.機器を1つ経由する毎に数字を1減らす
3.数字が「0」になったら、その時点で中継を止める


情報です。
パケットがネットワーク上をずっと放浪する事態になることを避けるために使われます。

よく分からない人は、パケットさんの体力ゲージだと思えば良いでしょう。
機器を経由する度に1ずつ減っていって、最終的に0になると力尽きます。
数字が大きい方が長生きできるあたりが人間様の寿命みたいですね。
そのせいか、TTLを設定することを指して「パケットの寿命を設定する」と表現する人もいます。

次に、DNSの世界におけるTTLについて説明します。

DNSの世界におけるTTLは単純に「有効期限」と解釈してください。
それでは何の有効期限か?
キャッシュの有効期限です。

DNS関連のお仕事をしているコンピュータDNSサーバには

1.フルサービスリゾルバDNSキャッシュサーバ
2.権威DNSサーバ


の2種類います。

フルサービスリゾルバさんは、どんな手を使おうともお問い合わせに答えてあげるのがお仕事のDNSサーバさんです。
もし自分で答えが分からなければ、他のDNSサーバさんに答えを教えてもらいに行きます。

TTL7

一方の権威DNSサーバさんは、自分の持っている情報を教えてあげるのがお仕事のDNSサーバさんです。
分からなければ素直に「分からないから他の人に聞いて」とお返事します。

TTL8

フルサービスリゾルバさんは、分からないことがあると、ちょいちょい権威DNSサーバさんに問い合わせます。
でも、何回も同じ内容を問い合わせたら「いい加減にしろよ!メモを取れ!メモを!」と怒られそうですね。

そこで、フルサービスリゾルバさんは問い合わせた内容を自分の中にメモっておきます。
カンペを作っておくのです。

TTL9

このカンペを「キャッシュ」と言います。

フルサービスリゾルバさんは、問い合わせがあったときは、まずカンペを見ます。
自分の中にあるカンペを見て、答えが載っていないか探します。
カンペを見ても分からなければ、どうしようもありません。
他のDNSサーバさんに助けを求めます。

TTL10

一応、他のDNSサーバさんに迷惑をかけない工夫はしているのです。
意外と気遣いのできるやつですね。

さて、このDNSサーバさんの使うカンペですが、ずっと同じ内容の物を使っていて良いのでしょうか?

答えは、ダメです。
情報は日々、更新されています。

でも、カンペは一度書いたら、新しく書き直さない限り、そのままですね。

つまり、どこかの時点でカンペに書いてある内容が古くて役立たずになってしまいます。
そうすると、何か困ったことが起こりそうですね。

このような状況を避けるために、フルサービスリゾルバさんが教えてもらう情報には「これくらいの期間はカンペとして使っていいよ」な有効期限が設定されています。
「その期間を過ぎたら情報としては古いから捨てちゃって、もう一度問い合わせてね」な期間です。
よく分からなければ、食品の賞味期限とか消費期限みたいなものだと思ってください。

このお話における「これくらいの期間はカンペとして使っていいよ」な有効期限がDNS関連で出てくるTTLです。
例えばTTLに「3600」と設定されていたら「情報を取得してから1時間(=3,600秒)はカンペに載せておいていいよ」の意味になります。


image piyo2

一言でまとめるよ

まぁ「TTL」って単語が出てきたら「そのデータの寿命のことなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像042
書籍画像070

おまけ

■訳してみるよ

「TTL」は「Time To Live(タイム・トゥー・ライブ)」の略です。
「time(タイム)」の意味は「時間」とかです。
「to(トゥ)」の意味は「~に」とか「~へ」とか「~まで」とかです。
「live(ライブ)」の意味は「生きる」とか「住む」とか「生放送の」とかです。
何となく くっつけると

生きている時間

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
エンジニアのための生成AI入門 はじめての生成AIアプリ開発からエージェント開発まで
おい点P、動くんじゃねえ!──ニガテ民のための算数と数学の本