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