DNSの仕組み:URLを入力してからページが表示されるまで

ウェブサイトのアドレスを入力するたびに、DNSと呼ばれる裏方の仕組みが静かにそれをコンピューターが実際に使う数値のアドレスへと変換しています。

DNSは名前をIPアドレスに変換する

コンピューターはドメイン名ではなく数値のIPアドレスを使って通信を経路制御しています。そのためDNSは、しばしば「インターネットの電話帳」と呼ばれる検索システムとして機能し、example.comのような人間が読める名前を正しいアドレスに変換します。

再帰的リゾルバーが実際の作業を行う

通常はISPまたはパブリックDNSサービスによって運用されるこのサーバーは、あなたのリクエストを受け取って代わりに他のサーバーへ問い合わせを行い、その回答をキャッシュすることで、以降の同じリクエストで同じ検索を繰り返さずに済むようにします。

ルートサーバーとTLDサーバーが段階的に道筋を示す

リゾルバーはまずルートサーバーに、.comや.orgのような特定のトップレベルドメインをどのサーバーが担当しているかを尋ね、次にそのトップレベルドメイン(TLD)サーバーに、調べたい特定のドメインを管理しているサーバーはどれかを尋ねます。

権威サーバーが実際の答えを保持している

このサーバーはそのドメインの実際のDNSレコードを保存しており、要求された実際のIPアドレスやその他のレコードタイプを、チェーンを逆にたどってリゾルバーへ、最終的にはあなたのデバイスへと返します。

レコードタイプによって答える内容が異なる

Aレコードは名前をIPv4アドレスに対応させ、CNAMEレコードはある名前を別の名前に転送し、MXレコードはメールサーバーを指定し、TXTレコードは任意のテキストを保持でき、多くの場合ドメイン所有権の確認などに使われます。

キャッシュ(とTTL)が変更の反映に時間がかかる理由

すべてのDNSレコードには、リゾルバーが再確認するまでその回答をどれだけの時間キャッシュしてよいかを示すTTL(生存時間)の値が含まれています。これが、DNSレコードを更新してもすぐに世界中に反映されるわけではない理由です。

なぜこの検索処理は普段見えないのか

完全なDNSの検索には複数のサーバーが関わることがありますが、ブラウザ、OS、リゾルバーといった複数の階層でのキャッシュのおかげで、日常的な検索のほとんどは近くのキャッシュからミリ秒単位で回答されます。上で説明した多段階のプロセスは、主にある名前が初めて検索されたときにフルで発生します。

DNSの問題はトラブルシューティングの定番の第一歩

これほど多くのことがこの検索の成功に依存しているため、あるサイトが特定のデバイスやネットワークだけで読み込めず他では問題なく表示される場合、「DNSキャッシュをフラッシュする」や「別のDNSサーバーを試す」といった対処法が、初期のトラブルシューティングとしてよく提案されます。

よくある質問

手動でDNSサーバーを変更する人がいるのはなぜですか?

ISP提供のリゾルバーからパブリックなものに切り替えるのは、体感的な速度、プライバシー、信頼性の向上のため、あるいは特定のISPレベルのコンテンツフィルタリングを回避するために行われることがありますが、実際の効果はネットワークや地域によって異なります。

DNSはウェブサイトの接続がセキュアかどうかを制御していますか?

いいえ。DNSは名前をアドレスに変換するだけです。接続自体のセキュリティは、デバイスが正しいサーバーに接続した後、HTTPSとTLS証明書を通じて別に扱われます。