私たちが普段何気なく使っている「www.example.com」といったドメイン名は、人にとっては覚えやすい名前ですが、コンピュータはそのままでは理解できません。
実際には、通信の相手を特定するためにIPアドレスという数値の列が使われています。
ドメイン名とIPアドレスをつなぐ橋渡しをするのが、DNS(Domain Name System)という仕組みです。

前回の記事で学びましたね。
DNSは、インターネット上での「住所録」のような役割を果たしており、ドメイン名をもとに適切なIPアドレスを調べ、Webページやメールサーバへアクセスできるようにしています。
この一連の動作は「名前解決」と呼ばれ、日々の通信の裏側で高速かつ正確に行われています。
この記事では、この名前解決の流れを順を追って丁寧に解説していきます。
名前解決の流れ
インターネットでウェブサイトにアクセスする際、私たちは通常「www.example.jp」のようなドメイン名を入力します。
しかし実際の通信は、これらの名前ではなくIPアドレスによって行われています。
この「名前」と「番号(IPアドレス)」をつなぐ役割を担っているのがDNS(Domain Name System)です。
ここからは、DNSがどのようにしてドメイン名をIPアドレスに変換するのか、その一連の流れをわかりやすく解説します。
1. 名前解決の開始
ユーザーがブラウザに「www.example.jp」などのURLを入力すると、まずはローカルのキャッシュが調査されます。


このキャッシュには、過去に名前解決されたドメイン名とIPアドレスの対応情報が一時的に保存されており、一定期間有効です。
OS(オペレーティングシステム)だけでなく、ブラウザ、アプリケーション、さらにはネットワーク機器(ルータやDNSフォワーダなど)にもキャッシュが存在する場合があります。


たとえば、会社のルータ(など)に設定されているDNSキャッシュが効いて名前解決が即座に完了することもあります。
この段階で目的の情報が見つかれば、外部のDNSサーバに問い合わせを行う必要はなく、即座にWebサイトへのアクセスが開始されます。
これにより、ネットワークの負荷を軽減し、レスポンスの高速化を図ることができます。
2. リゾルバによる問い合わせ
キャッシュに情報が存在しない、あるいはキャッシュが期限切れの場合、OSは指定されたネームリゾルバに問い合わせを送信します。



通常、このネームリゾルバはインターネットサービスプロバイダ(ISP)や組織内ネットワークのDNSサーバが担当しています。
ネームリゾルバはユーザーに代わって名前解決を行う代理人のような役割を果たし、必要なDNS情報をインターネット上の複数のDNSサーバから取得します。
このプロセスでは、ネームリゾルバが権威DNSサーバを順番にたどっていく「再帰的な問い合わせ」が発生します。
ネームリゾルバは最終的な回答を得るまで一連の問い合わせを継続し、ユーザーに対して最終的なIPアドレスのみを返します。
3. ルートDNSサーバへの問い合わせ
ネームリゾルバの最初の問い合わせ先は、ルートDNSサーバです。
世界中に分散配置された13セットのルートサーバ群は、インターネットのDNS構造の最上位に位置し、各TLD(トップレベルドメイン)を管理しているサーバのアドレスを保持しています。
たとえば「www.example.jp」の場合、ネームリゾルバはルートサーバに対してこのドメインの情報を問い合わせると、「.jp」ドメインを管理するTLDサーバのアドレスを返してもらいます。


これにより、次にどのサーバに問い合わせるべきかが判明します。
4. TLDサーバへの問い合わせ
ネームリゾルバはルートサーバから得た情報をもとに、TLD(トップレベルドメイン)サーバに問い合わせを行います。
TLDサーバは、各ドメインカテゴリ(.com, .net, .orgなど)ごとに存在し、対象となるセカンドレベルドメイン(例:example.jp)を管理している権威DNSサーバの情報を持っています。


ネームリゾルバはTLDサーバから、そのドメインのゾーン情報を管理する権威DNSサーバのアドレスを受け取り、次のステップへと進みます。
5. 最終的な問い合わせ
TLDサーバから返されたアドレスに従って、ネームリゾルバはこのDNSサーバに対して直接問い合わせを行い、「www.example.jp」に対応するAレコードやAAAAレコードを取得します。
※Aレコードとは、ドメイン名に対応するIPv4アドレス(例:192.0.2.1)を指定するDNSレコードのことです。IPv4は、現在インターネットで広く使われている32ビットのIPアドレス体系です。
一方、AAAAレコードはIPv6アドレス(例:2001:db8::1)を指定するためのレコードであり、128ビットのIPアドレスを扱います。
近年はIPv6の普及が進んでおり、AAAAレコードも重要な役割を担っています。
これが成功すると、ネームリゾルバはそのIPアドレスを取得し、ユーザーの端末に応答として返します。


この段階で名前解決は完了し、通信の準備が整います。
6. キャッシュへの保存と通信の開始
ネームリゾルバは取得したIPアドレスを一定時間キャッシュとして保持し、同じドメインへの次回以降のアクセス時には再度問い合わせをせずに済むようにします。


また、ユーザーのPC側でもこの情報は保存されることが多く、アプリケーションやOSのレベルで再利用されます。
これにより、名前解決の効率が飛躍的に向上し、インターネット通信の全体的なパフォーマンスが改善されます。
名前解決が完了すると、クライアントはこのIPアドレスを使ってWebサーバへHTTPやHTTPS通信を開始し、目的のWebページが表示されるのです。
補足:再帰的問い合わせと反復的問い合わせ
DNSの問い合わせ方式には大きく分けて2種類あり、それぞれに役割があります。
ユーザーのPCやスマートフォンからネームリゾルバに対して行われる問い合わせは「再帰的問い合わせ」と呼ばれ、ユーザーは最終的な答えのみを求めます。この方式では、ネームリゾルバが全ての問い合わせを肩代わりする形になります。
一方で、ネームリゾルバがルートDNSサーバ、TLDサーバに順番にアクセスしていく際の問い合わせは「反復的問い合わせ」と呼ばれます。各DNSサーバは直接答えを返すのではなく、「次はこちらを参照してください」と案内する形で次の問い合わせ先を教えるのです。
このような分業体制によって、DNSはスケーラブルで効率的な分散システムとして成り立っています。
DNSの名前解決は、私たちがウェブサイトにアクセスするたびに背後で動いている不可欠な仕組みです。
キャッシュやネームリゾルバ、ルートサーバ、TLDサーバ、権威DNSサーバといった各構成要素が連携することで、スムーズかつ正確な通信が実現されています。



それぞれの名称についても覚えておいてくださいね。
これらを理解することで、ネットワーク全体の構造や運用の裏側にある仕組みに対する理解が深まります。
インターネットという巨大な仕組みのなかで、DNSはまさに“縁の下の力持ち”として日々活躍しています。
ネットワークを学ぶうえで、DNSの基礎をしっかりと押さえておくことは、今後の知識習得にも大いに役立つでしょう。