【NET技術.017】DNSのプロトコル②
佐藤@IT雑貨屋です。
DNSプロトコルについて続けます。
◆DNSの資源レコード
DNSでは、IPアドレス以外にも様々な内容を問い合わせます。そこで、問い合わせる内容を資源レコード(リソースレコード、RR)で区別します。代表的な資源レコードは以下のものがあります。
A:ホストのIPアドレス(IPv4)
NS:ネームサーバ
CNAME:ホストの別名に対する正式名
SOA:権威(登録データ)の開始
PTR:IPアドレスの逆引き用ポインタ
MX:メールサーバのホスト名
TXT:テキスト文字列
KEY:セキュリティの鍵
AAAA:ホスト名のIPv6アドレス
CAA:認証局のコモンネーム
DNSでは複数のレコードを対応させることも可能です。例えばAレコードでは、次の様に複数のIPアドレスを一つのホスト名に対応させる事ができます。
www IN A 192.168.0.1
www IN A 192.168.0.2
www IN A 192.168.0.3
この様に設定すると、DNS問い合わせに対して順番にIPアドレスを返していきます。例えばwwwに対する最初の問い合わせには196.168.0.1、次の問い合わせには192.168.0.2、、のとうに対応します。このDNSの仕組みをDNSラウンドロビンと言います。
また、メールサーバを示すMXレコードは、優先度を付けて設定する事が出来ます。例えば以下の様に二つのMXレコードを設定する事が出来ます。
itzakkaya.com IN MX 10 mail1
itzakkaya.com IN MX 20 mail2
この場合、10、20が優先度で値が小さいものを優先します。
◆キャッシュサーバとコンテンツサーバ
DNSサーバには、DNSレコードを保持し、DNS問い合わせに答えるコンテンツサーバと、クライアントからの問い合わせに代理で応答し、問い合わせ結果をキャッシュに格納するキャッシュサーバがあります。これら2つは1つのDNSサーバにまとめる事も出来ますが、セキュリティ上の理由から分ける事が推奨されています。
◆プライマリサーバとセカンダリサーバ
DNSには、DNSの大元となるプライマリサーバと、その情報をコピーして応答するセカンダリサーバがあります。セカンダリサーバはプライマリサーバに定期的に問い合わせを行い、情報が更新されていた場合にはコピーを行います。このプライマリサーバからセカンダリサーバへの情報の転送をゾーン転送と言います。セカンダリサーバはプライマリサーバの完全なコピーであるために、独自に情報を追加する事は出来ません。