【DNSの機能(ゾーン、ゾーン転送)について】


      このHPはDNSの機能(ゾーン、ゾーン転送)についてまとめたものです。



1-1 ゾーンとは

DNSは階層構造によりドメイン名を管理している。
最上位の「ルート」から始まり、上位ドメイン→下位ドメイン→ホストという構造になっている。
この
DNS内のある部分のことを「空間」というので、ドメイン名のことを「ドメイン名空間」という。

ドメイン名空間において、
DNSサーバーが実際に管理をしている空間を「ゾーン(Zone)」といい、
その
ゾーンを管理できる権限を「権威」という。

例えば、
「yahoo.co.jp」ドメインを管理するDNSサーバーは、「yahoo.co.jp」ドメインに関するゾーンを
持っていて、その「yahoo.co.jp」のゾーンを管理する権威があることになる。












このゾーンを管理する権威だが、
実際にはDNSツリー上の親DNSサーバーから指定され、発生する。
つまり、「yahoo.co.jp」ドメインを管理するDNSサーバーが「yahoo.co.jp」ゾーンを管理する権威は、

親のDNSサーバーである「co.jp」ドメインを管理するDNSサーバーから指定され発生することになる。
このことを
「権限の委譲」という。

次の例の様に、
「jpゾーン」に関する権威はルートDNSサーバーから、「co.jp」ゾーンに関する権威は「jp」を管理するDNSサーバーから、「yahoo.co.jp」に関する権威は「co.jp」を管理するDNSサーバーからそれぞれ委譲されている。













1-2 ゾーン転送

DNSによる名前解決は、Webアクセスやメール送信に先立って行われる重要な処理。
名前解決に失敗してしまったら、目的のWebサイトにアクセスすることができない。
従って、DNSサーバーはシングル構成ではなく、
「プライマリDNSサーバー」と「セカンダリDNSサーバー」の冗長構成にするのが基本。


複数台のDNSサーバーのうち、本物のゾーンファイルを持っているのは1台のDNSサーバーだけで、
残りのDNSサーバーはそのゾーンファイルのコピーを持っている。
この本物のゾーンファイルを
「マスターゾーンファイル」といい、マスターゾーンファイルを持っているDNSサーバー「プライマリDNSサーバー」という。
そして、こ
のマスターゾーンファイルをコピーするDNSサーバーを「セカンダリDNSサーバー」という。


プライマリDNSサーバーからセカンダリDNSへのゾーンファイルのコピーは、
レコードタイプがSOAである「SOAレコード」の設定情報に基づいて行われるが、このプライマリDNSサーバーからセカンダリDNSサーバーへの
ゾーンファイルのコピーのことを「ゾーン転送」という。






ゾーン転送には、
ゾーンの全ての情報を送る「AXFR」と、あるバージョンからの差分のみを送る「IXFR」の2種類がある。








プライマリDNSサーバーでゾーンデータが更新されると、プライマリDNSサーバーは、
「DNS NOTIFY」と呼ばれる仕組みを用いて、ゾーンデータの更新があったことを、セカンダリDNSサーバーに通知する。

セカンダリDNSサーバーは「DNS NOTIFY」を受け取ると、プライマリDNSサーバーに対して該当するゾーンの「SOAレコード」を問い合わせ、得られたSOAリソースレコードのSERIAL値の値と、自身の持つゾーンデータのSOAリソースレコードのSERIAL値を比較し、
得られたSERIAL値が自身の持つ値よりも大きい、つまり、プライマリDNSサーバーが、新しいゾーンデータを持っていることが確認できた場合、プライマリDNSサーバーにゾーン転送を要求して、最新のゾーンデータに更新する。