DNSの解説:ブラウザがウェブサイトのアドレスをどのように解読するか
www.google.com と入力して Enter キーを押すと、ページが瞬時に読み込まれます。
ブラウザは Google がどこにあるかを知りません。そのため、問い合わせを行う必要があります。ミリ秒単位の速さで、一連のルックアップ(照会)が行われます。このシステムが Domain Name System (DNS) です。
DNS はインターネットの電話帳のようなものだと考えてください。www.google.com のような名前を、142.250.80.46 のような IP アドレスに変換します。これがないと、すべてのウェブサイトの数字を暗記しなければなりません。
ルックアップの仕組み:
ドメインの構造:
- サブドメイン:サイトの一部(例:
www) - セカンドレベルドメイン:ブランド名(例:
google) - トップレベルドメイン (TLD):カテゴリや国(例:
.com)
ウェブを検索する前に、コンピュータは次の2か所を確認します:
- ブラウザキャッシュ:最近そのサイトを訪れた場合、IP はすでに保存されています。
- Hosts ファイル:手動のマッピングに使用される、コンピュータ上のローカルファイル。
それらが失敗した場合、Recursive Resolver(再帰的リゾルバ)が引き継ぎます。これは通常、ISP(インターネットサービスプロバイダー)によって提供されます。Google (8.8.8.8) や Cloudflare (1.1.1.1) のような、より高速なオプションを使用することもできます。
リゾルバは以下の階層に従います:
- ルートサーバー:リゾルバを正しい TLD サーバーへと誘導します。
- TLD サーバー:リゾルバを特定の Authoritative Name Server(権威ネームサーバー)へと誘導します。
- Authoritative Name Server:実際の IP アドレスを保持しており、それを返します。
その後、リゾルバはこの回答を一定時間保存します。この時間は TTL (Time To Live) と呼ばれます。TTL が高いと、再度の問い合わせが速くなります。TTL が低いと、サーバーを素早く変更する場合に役立ちます。
一般的な DNS レコードの種類:
- A:ドメインを IPv4 アドレスにマッピングします。
- AAAA:ドメインを IPv6 アドレスにマッピングします。
- CNAME:別のドメインへのエイリアスを作成します。
- MX:メールを正しいサーバーに転送します。
- TXT:検証やセキュリティのためのテキストを保持します。
DNS クエリは通常、プレーンテキストです。これは、ISP がそれらを見ることができることを意味します。プライバシーを向上させるために、DNS over HTTPS (DoH) や DNS over TLS (DoT) を使用して、このデータを暗号化することができます。
DNS はウェブの目に見えない基盤です。これを理解しておくことで、デプロイの遅延やサーバー移行のトラブルシューティングに役立ちます。
出典:https://dev.to/jinkrish/dns-explained-how-your-browser-decodes-website-addresses-2bcm
