連載
DNSの構成要素について教えてください:DNS Tips
一口に「DNS」と言われるが、何か単一のソフトウェアで動作しているわけではなく、複数の構成要素が組み合わさって名前解決を実現している。その構成要素について確認しよう。
DNSは、以下の4つの構成要素から成り立っている。
(1)DNSクライアント
役割:Webブラウザーやアプリケーションから呼び出され、名前解決を依頼する
実例:libresolv、LDNSなど
その他の呼称:スタブリゾルバーなど
(2)DNSプロキシ(DNSフォワーダー)
役割:名前解決要求の依頼・応答を中継する
実例:ホームルーターなど
※DNSプロキシ(DNSフォワーダー)の存在は、ネットワーク環境に依存する
(3)キャッシュDNSサーバー
役割:名前解決を実行する
実例:BIND、Unboundなど
その他の呼称:フルリゾルバー、フルサービスリゾルバー、参照サーバーなど
(4)権威DNSサーバー
役割:ゾーンファイルを管理し、名前解決に答える
実例: BIND、NSDなど
その他の呼称:DNSコンテンツサーバー、権威ネームサーバー、ゾーンサーバーなど
これらの構成要素の役割を把握することが、DNS理解の第一歩である。
構成要素を理解するに当たり、構成要素に関する名称が統一されていない点に注意していただきたい。技術者・専門家の間でも表現や表記の作法に違いがあるため、どの構成要素を指しているかについて混乱しやすく、理解の妨げになることも多い。この傾向は日本語だけではなく、英語でも同じである。
DNSの構成要素と名前解決の流れについて、図とともに整理する。
名前解決の処理は、以下のステップに基づいて成立する。
- DNSクライアントが、名前解決を依頼する。……(1)
- DNSプロキシ(DNSフォワーダー)が、名前解決を中継する場合がある(例:一般家庭のホームルーターが、ISPのキャッシュDNSサーバーに名前解決要求を中継するなど)。……(2)
- キャッシュDNSサーバーが、ルートから親子関係にある権威DNSサーバーをたどりながら、名前解決を実行する。……(3)
- 権威DNSサーバーが、名前解決に答える。……(4)。権威DNSサーバー(4)の応答は、キャッシュDNSサーバー(3)、(ネットワーク構成によっては)DNSプロキシ(DNSフォワーダー)(2)を経てDNSクライアント(1)の元に返り、名前解決の処理が完結する。
Copyright © ITmedia, Inc. All Rights Reserved.