メインコンテンツへ
ネットワーク

DNS における名前解決の仕組みに関する記述として、最も適切なものはどれか。

ア.スタブリゾルバは、ルートDNSサーバから権威DNSサーバまで自らが順番に問い合わせを行い、最終的にIPアドレスを取得する。
イ.フルサービスリゾルバ(キャッシュDNSサーバ)は、スタブリゾルバから再帰クエリを受け取ると、ルートDNSサーバを起点として権威DNSサーバまで反復問い合わせを行い、IPアドレスを取得してクライアントに返す。正解
ウ.権威DNSサーバは、クライアントから受け取った再帰クエリを自ら解決するため、他のDNSサーバへ問い合わせを転送する機能をもつ。
エ.DNSキャッシュはフルサービスリゾルバに無期限に保持され、レコードを更新するにはリゾルバを再起動する必要がある。

解説

DNS の名前解決は『受付係』と『調査員』の分業です。クライアント(スタブリゾルバ)は「調べておいて」と頼むだけで、足を使って世界中のDNSサーバを巡るのはフルサービスリゾルバの仕事です。

なぜ イ が正解か

フルサービスリゾルバはスタブリゾルバから再帰クエリ(『答えまで責任もって返して』という依頼)を受け取ります。その後、自身がルートDNSサーバ → TLDサーバ → 権威DNSサーバと段階的に反復問い合わせを行い、各段階で『次はここへ』と案内されながらIPアドレスを特定します。最終的な答えをスタブリゾルバに返し、結果はTTL秒間キャッシュします。

なぜ ア は間違いか

スタブリゾルバが行うのはフルサービスリゾルバへの1回の問い合わせのみです。ルートから権威サーバを巡る反復問い合わせはフルサービスリゾルバの役割であり、スタブリゾルバはその複雑さを意識しません。PC やスマートフォンに組み込まれた軽量なリゾルバがスタブリゾルバで、重い処理は外のキャッシュサーバに任せる設計です。

なぜ ウ は間違いか

権威DNSサーバは自分が管理するゾーンの情報(例:example.co.jp のAレコード)を返す専門家であり、他のサーバへ再帰的に問い合わせを転送する機能はもちません。再帰クエリを処理するのはあくまでフルサービスリゾルバです。権威サーバが再帰を肩代わりすると、それはフルサービスリゾルバ兼用の構成であり、役割が混同しています。

なぜ エ は間違いか

DNSキャッシュの保持期間はリソースレコードに含まれる TTL(Time To Live)値で制御されます。TTLが 300 なら 300 秒後にキャッシュは破棄され、次の問い合わせ時に再取得されます。無期限保持は RFC 違反であり、これが可能なら DNS レコードを変更してもなかなか浸透しない――という本来の仕組みが成り立ちません。

出典: AI生成問題(学習用)