Domain Name System(DNS)は、インターネットの電話帳です。ブラウザーに入力するドメイン名(例: www.example.com)を、コンピューターが扱いやすい IP アドレス(93.184.216.34)に変換します。電話帳が人名を電話番号に置き換えるのと同じです。IP アドレスは、ウェブサイトのデータがあるサーバーを示します。ブラウザーはそのサーバーに接続し、ページを読み込みます。
ドメインを IP アドレスに変換する処理を、DNS ルックアップと呼びます。DNS ルックアップは、DNS リゾルバーと呼ばれる専用サーバーが行います。Wi-Fi ルーターは、通常インターネットサービスプロバイダー(ISP)のリゾルバーへ DNS クエリを送るようにあらかじめ設定されています。ただし、ルーター、OS、ブラウザーを別のリゾルバーに切り替えることもできます。無料の公開 DNS リゾルバーの例は、Cloudflare 1.1.1.1、Google 8.8.8.8、OpenDNS です。
次の図のとおり、DNS リゾルバーは、DNS レコードを保持する複数のネームサーバーに問い合わせ、目的の IP アドレスを探します。リゾルバーはドメインを逆順に解析します。まずトップレベルドメイン(.com)から始め、最後にサブドメイン(www)へ進みます。DNS ルックアップの最後のネームサーバーは権威ネームサーバーと呼ばれ、目的の IP アドレスを持っています。郵便局が荷物を届ける流れに似ています。まず正しい国へ送り、次に州、市、通りと進み、自宅の住所に届きます。
flowchart LR
accTitle: DNS ルックアップの流れ
A[ブラウザー] -- www.example.com の IP アドレスは? --> B((DNS リゾルバー)) -- .com はどこですか? --> C[("ルートネームサーバー")]
C -- .com ネームサーバーの IP --> B
B -- example.com はどこですか? --> D[(.com ネームサーバー)]
D -- example.com ネームサーバーの IP --> B
B -- www.example.com はどこですか? --> E[(example.com ネームサーバー)]
E -- 93.184.216.34 --> B
B -- 93.184.216.34 --> A
DNS の背景については、ラーニングセンター ↗ を参照してください。