権威DNSとキャッシュDNS


DNSの名前解決において、「権威DNSサーバ」と「キャッシュDNSサーバ」という言葉がよく出てきます。
DNSという仕組みが、単純な単一の役割で簡潔するシステムではなく、複数の役割を持つ機器により成り立つシステムという特色からこのような複雑な事態がおこります。
これらの2つのDNSタイプは、それぞれ独自の機能と重要性を持ち、インターネットのドメイン名解決プロセスにおいて相互に補完的な役割を果たしています。
本章では、「権威DNS」と「キャッシュDNS」の詳細、その仕組み、そして両者の違いと協調動作について深く掘り下げていきます。
是非、学んでいってください。
DNSという仕組みが、単純な単一の役割で簡潔するシステムではなく、複数の役割を持つ機器により成り立つシステムという特色からこのような複雑な事態がおこります。
これらの2つのDNSタイプは、それぞれ独自の機能と重要性を持ち、インターネットのドメイン名解決プロセスにおいて相互に補完的な役割を果たしています。
本章では、「権威DNS」と「キャッシュDNS」の詳細、その仕組み、そして両者の違いと協調動作について深く掘り下げていきます。
是非、学んでいってください。
権威DNSサーバとは
権威DNSサーバは、特定のドメインに関する名前解決情報について、正式な情報を持っているDNSサーバのことを言います。
つまり、そのドメインについて「これが正しい情報です」と権威を持って答える役割を持ちます。
このサイトでは、「se2ls.com」というドメインに対する名前解決を管理するDNSサーバのことになります。
このページにアクセスしている皆さんは、そのDNSサーバから名前解決の回答を受け、Webサイトにアクセスしています。
「se2ls.com」に関する情報は、この権威DNSサーバにレコードを登録することで管理しています。
逆に言えば、「se2ls.com」のDNSレコードはこのDNSサーバ以外では、名前解決ができませんのでこのDNSへ聞くように促してもらうようなNSレコードが上位のDNSに入っているという形です。
つまり、そのドメインについて「これが正しい情報です」と権威を持って答える役割を持ちます。
このサイトでは、「se2ls.com」というドメインに対する名前解決を管理するDNSサーバのことになります。
このページにアクセスしている皆さんは、そのDNSサーバから名前解決の回答を受け、Webサイトにアクセスしています。
「se2ls.com」に関する情報は、この権威DNSサーバにレコードを登録することで管理しています。

逆に言えば、「se2ls.com」のDNSレコードはこのDNSサーバ以外では、名前解決ができませんのでこのDNSへ聞くように促してもらうようなNSレコードが上位のDNSに入っているという形です。
キャッシュDNSサーバ(フルサービスリゾルバ)とは
キャッシュDNSサーバは、名前解決を行いたい側が設置するDNSサーバです。
「DNSと名前解決の仕組み」にて、「DNSリゾルバ」と紹介したものです。
呼び方が色々ありますが、キャッシュDNSサーバ、フルサービスリゾルバ、DNSリゾルバは同じものと思ってもらって大丈夫です。
名前解決を行いたいPC等の機器はこのキャッシュDNSサーバへ問い合わせの代行を依頼することになります。
「キャッシュ」DNSサーバと「キャッシュ」を強調しているように、このDNSサーバは以前に問い合わせを行って得た回答を記憶しています。
例えば、「www.example.com」の名前解決を依頼されて、権威DNSより「192.0.2.100」と回答を得ていたとします。
また、別のタイミングでクライアントから「www.example.com」の名前解決を依頼されると、今度は権威DNSまで聞きに行かず、前回の回答をそのまま回答します。
キャッシュした内容をそのまま回答するため、権威DNSまで問い合わせに行く手間がなくなり、高速に回答が可能というメリットがあります。
「DNSと名前解決の仕組み」にて、「DNSリゾルバ」と紹介したものです。
呼び方が色々ありますが、キャッシュDNSサーバ、フルサービスリゾルバ、DNSリゾルバは同じものと思ってもらって大丈夫です。
名前解決を行いたいPC等の機器はこのキャッシュDNSサーバへ問い合わせの代行を依頼することになります。
「キャッシュ」DNSサーバと「キャッシュ」を強調しているように、このDNSサーバは以前に問い合わせを行って得た回答を記憶しています。
例えば、「www.example.com」の名前解決を依頼されて、権威DNSより「192.0.2.100」と回答を得ていたとします。

また、別のタイミングでクライアントから「www.example.com」の名前解決を依頼されると、今度は権威DNSまで聞きに行かず、前回の回答をそのまま回答します。

キャッシュした内容をそのまま回答するため、権威DNSまで問い合わせに行く手間がなくなり、高速に回答が可能というメリットがあります。
権威DNSサーバとキャッシュDNSサーバの違い
権威DNSサーバとキャッシュDNSサーバは、DNSレコードを回答する側か、DNSの問い合わせを行う側かというのが一番大きな違いとなります。
どちらもDNSという名前なので、名前解決に利用されることはわかると思いますが、立場が完全に逆になります。
どちらもDNSという名前なので、名前解決に利用されることはわかると思いますが、立場が完全に逆になります。
特徴 | キャッシュDNS(フルサービスリゾルバ) | 権威DNS |
---|---|---|
主な役割 | クライアントからのDNSクエリを受け取り、他のDNSサーバに問い合わせて回答する | 特定のドメインに関する公式情報を持ち、提供する |
データ管理 | 一時的なキャッシュ(TTLに基づいて期限切れ) | ドメインのゾーンファイル(マスターデータ) |
再帰処理 | 再帰的クエリを処理する(必要に応じて他のサーバに問い合わせる) | 通常再帰処理を行わない(自分が管理するゾーンのみ応答) |
ユーザー向け | エンドユーザーのデバイスからの問い合わせに対応 | 主に他のDNSサーバからの問い合わせに対応 |
設置場所 | ISP内、企業ネットワーク内、パブリックDNS(Google DNS、Cloudflare等) | ドメインレジストラ、DNSホスティングサービス、自社運用サーバ |
管理者 | ネットワーク管理者、ISP、DNSサービスプロバイダ | ドメイン所有者または委託された事業者 |
キャッシュ | DNSレコードをキャッシュして高速応答 | 基本的にキャッシュ機能はない |
権威DNSサーバとルートDNSサーバ/TLD DNSサーバの違い
権威DNSサーバとルートDNSサーバ、TLD DNSサーバは全て名前解決を行う側のDNSサーバです。
ただし、この3種のDNSサーバには役割に大きな違いがあります。
権威DNSサーバは特定のドメインのレコードを管理するDNSサーバで、ルートDNSサーバとTLD DNSサーバは権威DNSの場所を教えるための途中経路のDNSサーバです。
ただし、この3種のDNSサーバには役割に大きな違いがあります。
権威DNSサーバは特定のドメインのレコードを管理するDNSサーバで、ルートDNSサーバとTLD DNSサーバは権威DNSの場所を教えるための途中経路のDNSサーバです。
特徴 | 権威DNSサーバ | ルートDNSサーバ | TLD DNSサーバ |
---|---|---|---|
管理範囲 | 特定のドメイン(example.com など) | DNSツリーのルート(「.」) | 特定のトップレベルドメイン(.com, .org, .jp など) |
DNS階層 | 通常は階層の第3レベル以下 | DNS階層の最上位 | DNS階層の第2レベル |
役割 | 特定ドメインのレコード(A, MX, CNAME等)を提供 | TLDサーバの情報を提供 | 権威DNSサーバの情報を提供 |
管理者 | ドメイン所有者または委託された事業者 | ICANN(実際の運用は13の組織) | レジストリ(.comはVerisign、.jpはJPRS等) |
サーバ数 | 多数(ドメイン毎に複数) | 13の論理サーバ(実際は数百の物理サーバ) | TLDごとに複数(数〜数十) |
提供情報 | ホスト名からIPアドレスへの変換、メールサーバ情報、CNAMEなど | TLDを管理するDNSサーバへの参照情報のみ | ドメインを管理する権威DNSサーバへの参照情報のみ |
更新頻度 | 頻繁(ドメイン所有者の必要に応じて) | 非常に稀(TLDの追加時など) | 定期的(新規ドメイン登録時など) |
まとめ
今回の章では、権威DNSサーバやキャッシュDNSサーバなど、色々な種類のDNSサーバを解説しました。
DNSサーバと言っても、色々な役割のサーバがいて、名前解決という仕組みが成り立っていることがわかっていただけたと思います。
それぞれの役割と管理組織、管理範囲を理解しておくことで、システム構築時に自分たちで行うべき範囲なのか、外部の組織に依頼を行う必要があるのか等、具体的な作業がわかってきます。
インフラエンジニアは、システムインフラのプロとしてこれらの作業を担当することもありますので、是非覚えておきましょう。
DNSサーバと言っても、色々な役割のサーバがいて、名前解決という仕組みが成り立っていることがわかっていただけたと思います。
それぞれの役割と管理組織、管理範囲を理解しておくことで、システム構築時に自分たちで行うべき範囲なのか、外部の組織に依頼を行う必要があるのか等、具体的な作業がわかってきます。
インフラエンジニアは、システムインフラのプロとしてこれらの作業を担当することもありますので、是非覚えておきましょう。