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

Time To Live

pointこの用語のポイント

point寿命(有効期限)だよ

point数字だよ

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

point「TTL」と表現されるのが一般的だよ

スポンサーリンク

簡単に書くよ

Time To Live(読:タイム・トゥー・ライブ)とは

いわゆる「TTL」のこと。
用語の中身としては

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


image piyo

詳しく書くよ

最初に留意事項です。
TTL」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
TTLの正式名称(?)が「Time To Live」です。
Time To Live」の頭文字を取ったのが「TTL」ね。

Time To Live(タイム・トゥー・ライブ)

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

以上が「TTL」の意味を知っている人向けの説明です。

「TTLって何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩

それでは、いってみましょう。

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

生きていられる時間

を意味する用語が「Time To Live」です。
言い方を変えると

寿命

ですね。
上でも書きましたが、一般的には「TTL」と表現されます。
※本ページでも以降は「TTL」と表現します。

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

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

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

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


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

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

Time To Live(タイム・トゥー・ライブ)2

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

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

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

Time To Live(タイム・トゥー・ライブ)3

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

Time To Live(タイム・トゥー・ライブ)4

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

Time To Live(タイム・トゥー・ライブ)5

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

Time To Live(タイム・トゥー・ライブ)6

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サーバさんに答えを教えてもらいに行きます。

Time To Live(タイム・トゥー・ライブ)7

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

Time To Live(タイム・トゥー・ライブ)8

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

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

Time To Live(タイム・トゥー・ライブ)9

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

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

Time To Live(タイム・トゥー・ライブ)10

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

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

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

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

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

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

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


image piyo2

一言でまとめるよ

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

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

おまけ

■訳してみるよ

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

生きている時間

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
実務で役立つ ログの教科書 基礎知識から収集方法・分析手法・トラブルシューティング・パフォーマンス最適化・機械学習での活用まで
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践