【りぞるば】

リゾルバ とは?

最終更新:
💡 DNSへ問い合わせ、名前に対応する情報を調べる

DNSへ問い合わせ、名前に対応するIPアドレスなどの情報を得る機能。端末側のスタブリゾルバと、問い合わせを引き受ける再帰リゾルバでは役割が異なります。キャッシュや転送先の利用により、毎回ルートDNSから調べるとは限りません。

📌 このページのポイント
リゾルバ:DNSへ問い合わせる役割端末・アプリのスタブリゾルバ名前解決の大部分を上位へ依頼問い合わせ回答・エラー再帰リゾルバキャッシュ等を確認情報がなければ各DNSへ問い合わせ委任先をたどる1 ルートDNSTLDの先を知る2 TLDのDNS権威DNSの先3 権威DNSレコードを得る1〜3は再帰リゾルバが問い合わせる順番毎回ルートからではなく、転送する構成も
右側はキャッシュがない場合の問い合わせ先の例で、応答は省略しています。ルートからTLDへ質問を転送する図ではなく、再帰リゾルバ自身が各問い合わせ先へ送ります。
ひよこ ひよこ
リゾルバって何?
ペンギン先生 ペンギン先生
DNSの情報を問い合わせ、必要な回答を得る機能だよ。名前からIPアドレスを得る場面が代表的だけど、メールの配送先など別の種類のレコードも調べる。端末やサーバーの中で動くソフトウェアの役割として考えよう。
ひよこ ひよこ
スタブリゾルバと再帰リゾルバは?
ペンギン先生 ペンギン先生
スタブリゾルバは名前解決の大部分を上位へ依頼する軽量な機能。OSだけでなくアプリに組み込まれることもある。再帰リゾルバはその依頼を引き受け、キャッシュやほかのDNSサーバーへの問い合わせを使って、回答やエラーを返すんだ。
ひよこ ひよこ
毎回ルート→TLD→権威DNSと調べる?
ペンギン先生 ペンギン先生
毎回ではないよ。必要な情報がキャッシュにあれば利用する。情報がなければ、再帰リゾルバが委任先をたどって問い合わせる。ルートDNSがTLDへ質問を送り直すのではなく、問い合わせ元に次の問い合わせ先を案内する点が大切だね。
ひよこ ひよこ
別のDNSへ転送する場合もある?
ペンギン先生 ペンギン先生
あるよ。家庭のルーターや組織のリゾルバが上位のリゾルバへ依頼する構成もある。フルリゾルバという呼び名も使われるが、RFC 9499は文脈なしの意味が統一されていないと説明している。再帰処理・キャッシュ・転送のどの機能かを確認しよう。
ひよこ ひよこ
キャッシュポイズニングを防ぐには?
ペンギン先生 ペンギン先生
偽の回答がキャッシュに入り、誤った宛先へ誘導される攻撃だよ。DNSSECに対応したゾーンのデータは、信頼の起点から署名を検証して出所と改ざんを確認できる。ただし署名がないデータや、サイトの内容そのものの安全性まで保証するわけではないんだ。
ひよこ ひよこ
DoHを使えばDNSSECは不要?
ペンギン先生 ペンギン先生
別の役割だよ。DoHは選んだDNSサーバーとの通信をHTTPSで保護する。DNSSECはDNSデータの署名を検証する。通信が保護されても、問い合わせ先が常に正しいデータを返す保証にはならない。社内用の名前がある場合は、利用するリゾルバの変更で見え方が変わることにも注意しよう。
もっと詳しく知りたい人へ

再帰リゾルバと権威DNSは同じ?

役割が異なります。再帰リゾルバは利用者の問い合わせを引き受け、権威DNSは担当するゾーンの情報を提供します。同じソフトウェアが両機能を持つ場合でも、どちらの役割かを区別します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「リゾルバ」って出てきたら「DNSの回答を得る機能」と思えばだいたいOK!
📖 おまけ:英語の意味
「Resolver」 = 解決するもの・解決係
💬 DNSの文脈では名前に対応する情報を得る役割を表します。GraphQLなど別の文脈で使われるリゾルバとは対象が異なります。

参考資料

← 用語集にもどる