Skip to content

DNSが名前解決する仕組み

2025-02-14

なぜ今更DNS?

近年では、便利なサービスが増える一方で、その裏側で動く技術についての理解が後回しになりがちです。

この記事を通じて、DNSがどのように名前解決を行うのか、その仕組みを理解してくれると嬉しいです。

image

DNS(Domain Name System)とは

インターネット上で「ドメイン名」と「IP アドレス」を対応付ける仕組みです。

例えば、example.comというドメイン名を入力すると、対応する IP アドレスを返してくれるので、ブラウザがウェブサイトにアクセスできます。

では、この DNS ではどのように名前解決を行うの具体的に見ていきましょう。

名前解決の流れ

1. キャッシュの確認

キャッシュは以下の 4 つのレイヤーで確認し、キャッシュが存在すれば名前解決が完了し即座に IP アドレスを取得します。

  1. ブラウザキャッシュ
    • 過去にアクセスした Web サイトのドメインと IP アドレスの対応を保持
    • ブラウザ内部でキャッシュ情報を確認し即座に IP アドレスを返すことが可能
  2. OS キャッシュ
    • OS が持つ DNS クエリ結果のキャッシュ情報を確認
    • Windows の場合 ipconfig /displaydns コマンドで確認
    • macOS の場合 dscacheutil -cachedump -entries で確認可能
  3. ルーターキャッシュ
    • 自宅やオフィスのルーターが持つ DNS キャッシュを確認
    • ルーター設定画面から確認・リセットが可能
  4. リゾルバのキャッシュ(ISPや企業のDNSサーバー)
    • ISP や企業の DNS リゾルバも過去の問い合わせ結果を一定期間保持し、再利用することで応答時間を短縮

2. リゾルバの問い合わせ(再帰的・反復的)

  • キャッシュがなければISPのDNSリゾルバに問い合わせ
  • リゾルバはDNSクエリを処理する専用サーバであり、ISP が提供するリゾルバが最初に問い合わせを受け付ける役割を持つ
  • 再帰問い合わせ: クライアントがリゾルバに完全な解決を依頼(通常のWebアクセスで利用)
  • 反復問い合わせ: リゾルバが各DNSサーバーに順次問い合わせ、自分で情報を取得する(DNSの内部動作)

3. ルート DNS サーバーへの問い合わせ

  • リゾルバはルートDNSサーバーに問い合わせ
  • ルートDNS サーバーはドメイン階層構造の最上位に位置しトップレベルドメイン(TLD)サーバーの情報を提供

4. TLD(Top-Level Domain)サーバーへの問い合わせ

  • リゾルバはルートDNSサーバーが返した情報をもとにTLDサーバーへ問い合わせ
  • TLD サーバーは .com .jp など各トップレベルドメインを管理
  • 該当する権威 DNS サーバーの場所を返す

5. 権威 DNS サーバーへの問い合わせ

  • リゾルバはTLDサーバーの情報を使い権威DNSサーバーに問い合わせ
  • 権威DNSサーバーは該当ドメインに関する正式なIPアドレスを返す
  • IPアドレスはこのサーバーで初めて確定する
  • 一部の権威DNSサーバーもキャッシュを持ち、頻繁な問い合わせに対して応答速度を向上

6. 名前解決の完了

  • リゾルバは取得したIPアドレスをクライアントに返す
  • クライアントは受け取ったIPアドレスを使用し、該当するサーバーにHTTPリクエストを送信
  • Webページがブラウザに表示される

名前解決の流れの図解イメージ

text
クライアント
    ↓ 再帰問い合わせ
リゾルバ
    ↓ 反復問い合わせ
ルートDNS

TLD DNS (.com / .jp)

権威DNS(example.com)

リゾルバ

クライアント

具体例での流れ

  1. クライアント のブラウザで https://www.example.com を開く
  2. クライアント が DNS リゾルバに www.example.com の IP アドレスを問い合わせる
  3. リゾルバがルート DNS、TLD DNS、権威 DNS と順に問い合わせて IP アドレスを取得
  4. ブラウザが IP アドレス(例えば 93.184.216.34)にアクセスしてウェブサイトを表示

まとめ

DNS は、ドメイン名と IP アドレスを対応付ける仕組みであり、キャッシュを活用しながら効率的に名前解決を行います。

  • キャッシュの確認 → ブラウザ・OS・ルーター・リゾルバのキャッシュを優先
  • リゾルバの問い合わせ → ISP や企業の DNS リゾルバが問い合わせを担当
  • ルートDNS → TLD DNS → 権威DNS の順で検索し、最終的な IP アドレスを取得

DNS の仕組みを理解することで、ネットワークトラブルの原因特定やパフォーマンス改善に役立ちます。

実際に nslookup や dig を使って、自分の環境で DNS の動作を確認してみるのもおすすめです。

© 2024 KyotoKankoTechBlog. All rights reserved.