DNSサーバの役割はおおきく3つあります。

1つは、リゾルバ

2つは、コンテンツサーバ

3つは、分散したデータベースを1つのデータベースに統合する

以上の3点です。


まず、「リゾルバ」についてですが、これはクライアントからの名前解決の問い合わせ(これは「クエリ」って言います。)に対してIPアドレスを返答する仕事を行ないます。

リゾルバは、自分では名前解決ができない場合に、ルートサーバ(この世に13台あるらしいです。)から順々に問い合わせます。この手法を「再帰的問い合わせ」といいます。

DNSサーバは自分の中に「hintファイル」と呼ばれるファイルを持っていて、この中にルートサーバの情報が記載されているのです。






後ほど紹介しますが、メールアドレスもDNSサーバで名前解決してくれます。

例えば、「ossan@example.com」というメールアドレスがあったとします。「example.com」ってFQDNじゃないですよね。「www.example.com」とかなら、名前解決できますが。。。「example.com」はホストの名前を表しているのではなく、領域の名前を表しているのです。

DNSサーバでは、このような「領域の名前」でメールアドレスを指定しても正しいメールサーバに送信されます。DNSサーバは「領域の名前」でメールアドレスを指定しても、それが「メールサーバの名前」に結び付けられるような仕組みを持っているのです。すごいですね。


「リゾルバ」と説明しましたが、「リゾルバ」「キャッシュサーバ」と呼ばれることも多いです。非常に多いです。DNSサーバが一生懸命調べてきた問い合わせ結果をしばらくの間、キャッシュする機能があります。そのため、毎回ルートサーバに聞きに行かなくて済むのです。「www.example.com」というキャッシュが存在していたときに、「mail.example.com」という問い合わせが来ても。わざわざルートサーバまで問い合わせに行きません。「example.com」ゾーンの権限を持つDNSサーバに直接、「mail.example.com」の問い合わせを行ないます。キャッシュ機能のおかげで効率的に名前解決が行なえるのです。。。


キャッシュするといっても限界があります。「TTL」という生存時間によって、そのデータは無効になります。TTLはキャッシュされるデータの有効期限を表します。


今回はここまで。

覚えておくキーワードは、、、、
「リゾルバ」
「クエリ」
「再帰的問い合わせ」
「hintファイル」
「キャッシュサーバ」
「TTL」


これらを説明できるようになっていればOKです!