DNSのTTL設定とは?(前編)

今年1月、那覇市内で「日本ネットワーク・オペレーターズ・グループ」( http://www.janog.gr.jp )というインターネット技術者の団体が大規模なミーティングを開催した。その中で「短いDNSのTTL設定は危険である」と報告が行われ、独自ドメイン所有者に注意を促している。

そういえばVALUE DOMAINの管理画面には「TTL」というものを設定する箇所があり、下記のような説明がある。

TTL設定(最低120秒)
TTL設定は詳しい方のみご変更ください。通常、変更の必要はありません。

そもそも「DNSのTTL」とは何なのだろうか。

まず、DNSとは「Domain Name System」の略である。インターネットにつながっているコンピュータにはそれぞIPアドレスと呼ばれる数字(実体は二進数の羅列)が割り振られている。しかし、これらのコンピュータへは、IPアドレスではわかりにくいので「ドメインネーム(ドメイン名)」とよばれるアルファベットや数字、最近では日本語といった各国語の文字列を割り当てたものを使ってアクセスするのが一般的である。これらを変換する仕組みを「DNS」といい、この変換を行うサーバーを「DNSサーバー(ネームサーバー)」という。しかしインターネット上には無数のドメイン名が存在していることから、DNSサーバーは世界中に分散しており、1個の小さな画像を呼び出すだけでも、複数のDNSサーバーが連携して情報交換が行われている。

具体的には、あなたがこのサイトを訪れようとした瞬間、DNSサーバーで以下のようなやりとりが行われ、初めてこのページが閲覧できるようになっている。

  1. あなたが利用しているプロバイダのDNSサーバーは「kazamidori.net」の名前を持つコンピュータ(サーバー)を「net」ドメインを受け持つDNSサーバーへ問い合わせる
  2. 「net」ドメインを受け持つDNSサーバーは、プロバイダのDNSサーバーに対して「kazamidori.net」を管轄するDNSサーバーが「ns*.value-domain.com」というサーバーであることを教える
  3. DNSサーバー「ns*.value-domain.com」は、プロバイダのDNSサーバーに「kazamidori.net」のホームページは「219.163.200.66」のIPアドレスを持つコンピュータにあることを教える
  4. そして、あなたはこのページを見ることができるようになる

もし、あなたが見ようとしている「kazamidori.net」のサイトの中に、10個の写真が貼られていたとすると、写真1枚を呼び出すごとに毎回、上記の4つの「手続き」を踏む必要がある。しかし実際は上記の4番でDNS情報だけではなく「TTL」という情報も、プロバイダのDNSサーバーへ送っているため、2回目以降は、プロバイダのDNSサーバーだけで「219.163.200.66」のIPアドレスを持つコンピュータへ接続できるようになるのだ。

では「TTL」とは何なのだろうか。「TTL」とは「time to live」の略で「生存時間」という意味がある。あなたが利用しているプロバイダのDNSサーバーが未来永劫「kazamidori.net=219.163.200.66」という情報を保存しているわけではない。「TTL設定」で指定した時間だけ、プロバイダのDNSサーバーが情報を保存するのである。

もし「kazamidori.net」のTTL設定が120秒だったら、あなたは2分後に、再度「kazamidori.net」へアクセスするとき、上記の1~4の手続きを経て「kazamidori.net」へアクセスすることになる。

後編では、この仕組みをふまえて、なぜ短いTTL設定が危険なのかを探ってみたい。