リゾルバ(Resolver)とは、「www.example.com」のようなドメイン名を、コンピューターが通信に使うIPアドレスへ変換する役割を担う仕組みのことです。DNS(Domain Name System)の仕組みの中で、利用者からの問い合わせ役として働きます。
現実世界に例えると、リゾルバは電話帳を調べてくれる案内係のようなものです。「〇〇さんの電話番号を教えて」と頼むと、案内係が代わりに電話帳(DNSサーバー)を調べ、番号(IPアドレス)を教えてくれます。
リゾルバ図解
リゾルバの役割
WebブラウザでURLを入力すると、まずリゾルバがドメイン名の名前解決(IPアドレスへの変換)を引き受けます。リゾルバが無ければ、利用者は覚えにくい数字の羅列であるIPアドレスを、サイトを見るたびに直接入力しなければなりません。
スタブリゾルバとフルサービスリゾルバ
| 種類 | 役割 |
|---|---|
| スタブリゾルバ | パソコンやスマホの中にあり、問い合わせを取り次ぐだけの簡易版 |
| フルサービスリゾルバ | プロバイダなどが用意し、実際に名前解決を行う本体 |
名前解決の流れ
私たちのパソコンの中にいるスタブリゾルバは、自分では調べず、フルサービスリゾルバへ問い合わせを丸投げします。フルサービスリゾルバは、必要に応じてルートサーバーや各ドメインのDNSサーバーへ次々と問い合わせを重ねます。この方式を「再帰的な問い合わせ」と呼びます。
反復問い合わせとの違い
フルサービスリゾルバが行う再帰的な問い合わせに対して、問い合わせ先の各DNSサーバーは、答えを知らない場合に別の担当サーバーの場所だけを教える「反復問い合わせ」で応じます。フルサービスリゾルバが利用者の代わりに何度も足を運び、最終的な答えにたどり着くまでの橋渡し役を務めているのです。
キャッシュによる高速化
フルサービスリゾルバは、一度調べた結果を一定時間手元に保存(キャッシュ)しておき、同じ問い合わせが来たときはすぐに答えを返します。毎回すべての手順をやり直す必要が無いため、2回目以降のアクセスは名前解決が速くなります。
設定を切り替えられる
通常はプロバイダが用意したリゾルバを自動で使いますが、「8.8.8.8」(Google)のような、誰でも使えるパブリックDNSのリゾルバへ切り替えることもできます。速度改善やセキュリティ向上を目的に、利用者が自分でリゾルバを指定するケースも増えています。
不具合が起きるとどうなるか
リゾルバがうまく動かないと、目的のサイトのIPアドレスが分からず、ページが表示できなくなります。「インターネットには繋がっているのにWebサイトだけ開けない」という症状は、このリゾルバまわりの不調が原因であることが少なくありません。
悪用されるリスクにも注意
リゾルバは便利な仕組みですが、偽の答えを送り込まれ、利用者を偽サイトへ誘導される「DNSキャッシュポイズニング」という攻撃の対象になることもあります。信頼できるリゾルバを使う、通信を暗号化するといった対策が、安全に名前解決を行ううえで重要になっています。


コメント