ホーム/テクノロジー/DNSとは?仕組み・構造・動作を徹底解説!初心者でもわかるインターネットの基礎
テクノロジー

DNSとは?仕組み・構造・動作を徹底解説!初心者でもわかるインターネットの基礎

DNS(ドメインネームシステム)は、インターネットの基盤となる「ドメイン名からIPアドレスへの変換」を担う重要な仕組みです。本記事ではDNSの構造や動作、キャッシュ、ページ表示速度への影響まで、図解とともにわかりやすく解説します。初心者から開発者まで必見の基礎ガイドです。

2026年4月10日
10
DNSとは?仕組み・構造・動作を徹底解説!初心者でもわかるインターネットの基礎

DNS(ドメインネームシステム)は、ウェブサイトのアドレスを入力したときに背後で動作する、インターネットの基盤となる仕組みです。例えば「google.com」と入力すると、コンピューターはそのドメイン名を直接理解できず、アクセス先のIPアドレスが必要になります。ここでDNSが活躍し、瞬時にIPアドレスを見つけ出します。

DNSの仕組みを理解することは、開発者だけでなく一般のインターネット利用者にとっても重要です。サイトの表示速度接続の安定性、そしてセキュリティにも直結するからです。この記事では、DNSの基本から、低レベルの動作まで徹底解説します。

DNSとは?分かりやすく解説

DNS(Domain Name System)は、人間に分かりやすいウェブサイトのアドレス(例:example.com)を、コンピューターが理解できるIPアドレスへ変換する仕組みです。

簡単に言えば、インターネットの電話帳です。サイト名を入力すると、DNSが対応するIPアドレスを探してくれます。

  • google.com → 142.250.74.206

DNSがなければ、各サイトごとに数字のIPアドレスを記憶しなければならず、現実的ではありません。

DNSの役割は複数あります:

  • インターネットを人にとって使いやすくする
  • サーバーの変更時もドメインはそのまま利用可能
  • サーバー間で負荷分散を実現

重要なのは、DNSは一つのサーバーではなく、世界中に分散された巨大なシステムであるという点です。

DNSシステムの構造

DNSはグローバルに分散された階層型システムで、複数のレベルを経て目的のIPアドレスに素早くたどり着けるようになっています。

主な構成要素

  • DNSサーバー:リクエストに応答し、ドメイン情報を保持。リカーシブ(再帰型)、オーソリティブ(権威型)、ルートサーバーなどの種類があります。
  • ドメインゾーン:インターネットは.com、.jp、.orgなどのゾーンに分かれており、それぞれが専用のサーバーで管理されています。
  • DNSレコード:ドメインとIPアドレスなどの情報を紐付けるデータ。
    • Aレコード:ドメイン → IPv4アドレス
    • AAAAレコード:ドメイン → IPv6アドレス
    • CNAMEレコード:ドメインの別名
    • MXレコード:メールサーバー情報

これらのレコードが、最終的にどのサーバーへアクセスするかを決定します。

DNSの階層構造

DNSは木構造のように、いくつかのレベルに分かれています:

  • ルートサーバー:最上位。各ドメインのTLDサーバーの場所を知っています。
  • TLDサーバー:.com や .jp などトップレベルドメインを管理。
  • オーソリティブDNSサーバー:最終的なIPアドレスを保持し、確定的な回答を返します。

DNSサーバーの仕組み

ウェブサイトのアドレスを入力すると、最初にアクセスするのはルートサーバーではなく、一般的にはDNSリゾルバー(プロバイダやパブリックDNSのサーバー)です。

このリゾルバーが仲介役となり、一連の処理を担当します。

  1. キャッシュにIP情報があるか確認
  2. なければ検索を開始
  3. ルートサーバーへ問い合わせ
  4. TLDサーバーへ転送
  5. オーソリティブサーバーへ転送
  6. IPアドレスを取得して返却

これにより、ブラウザは指定されたサーバーと接続できます。

ポイント:ユーザーはDNS全体と直接やり取りしません。リゾルバーがすべて代行します。

DNSクエリの流れ:ステップごとに解説

DNSリクエストがどのようにIPアドレスへたどり着くか、順を追って見ていきます。すべては数ミリ秒の間に完了します。

ステップ1:ブラウザでアドレスを入力

例:「example.com」

ブラウザはIPアドレスが必要と判断し、DNSリクエストを発行します。

ステップ2:ローカルキャッシュの確認

  • まずブラウザのキャッシュを確認
  • 次にOSキャッシュを確認
  • 必要に応じて hosts ファイルも参照

既にIPがあれば、ここで終了です。

ステップ3:DNSリゾルバーへ問い合わせ

キャッシュに情報がなければ、プロバイダや公共DNS(Google、Cloudflareなど)にリクエストが送信されます。

ステップ4:ルートサーバーへのアクセス

リゾルバーはルートサーバーに「example.comの情報はどこ?」と問い合わせます。ルートサーバーは「.comゾーンのサーバーを探して」と返答。

ステップ5:TLDサーバーへのアクセス

次に.comゾーンのTLDサーバーへ。ここで「example.comの権威サーバーは○○」という情報が返ります。

ステップ6:オーソリティブサーバーへのアクセス

リゾルバーはドメインの情報を持つ権威サーバーに直接問い合わせ、最終的なIPアドレス(例:93.184.216.34)を取得します。

ステップ7:IPを返却&キャッシュ

  • リゾルバーは取得したIPをPCへ返却
  • TTL(有効期間)に従いキャッシュへ保存

ブラウザはIPアドレスを使い、ページの読み込みを開始します。

💡この一連の処理は通常20~100ミリ秒で終わりますが、ここがページ読み込みのスタート地点となります。

さらに詳しいページ読み込みの流れは、「ブラウザがサイトを読み込む仕組み:完全ガイド」でご覧いただけます。

再帰型と反復型DNSクエリ

DNSには再帰型反復型という2種類のリクエスト方法があります。それぞれ仕組みが異なり、IPアドレスの検索方法に違いが生じます。

再帰型(リカーシブ)DNSクエリとは?

ユーザー(クライアント)が「全部調べて最終的な答えを返して」とリゾルバーに依頼する方式です。一般的なユーザーのDNSリクエストはこのタイプです。

  • リゾルバーがルート→TLD→権威サーバーまで全て調査
  • 最終的にIPアドレスを取得してクライアントに返却

ユーザー側は結果を待つだけです。

反復型(イテレーティブ)DNSクエリとは?

サーバー同士の通信で多く用いられます。各サーバーが「自分は知らないけど、次はこのサーバーに聞いて」と段階的に案内します。

  • ルートサーバーがTLDサーバーを案内
  • TLDサーバーが権威サーバーを案内
  • 各段階ごとに個別のリクエスト・レスポンスが発生

違いを簡単にまとめると

  • 再帰型:すべて任せて最終的な答えを取得(ユーザー → リゾルバー)
  • 反復型:段階的にサーバーをたらい回し(サーバー間)

この仕組みにより、ユーザーには利便性を、インフラには効率性を両立させています。

DNSの低レベル動作

さらに深掘りして、DNSがどのようなプロトコルやパケットで動作しているのかを見ていきます。

DNSプロトコル

DNSは主に2つのトランスポートプロトコル上で動作します:

  • UDP(User Datagram Protocol):高速でオーバーヘッドが少ない。ほとんどのDNSクエリはこちら。
  • TCP(Transmission Control Protocol):返答が大きい時や、確実性が必要な場合に利用(DNSSECやゾーントランスファー時など)。

DNSクエリのパケット構造

各DNSクエリはバイナリパケットとして送信され、主に以下のセクションで構成されます:

  1. ヘッダー:リクエストIDやフラグ、クエリタイプ(再帰・非再帰)など。
  2. クエスチョン:ドメイン名やレコードタイプ(A、AAAA等)。
  3. アンサー:IPアドレスやTTL(有効期間)。
  4. 追加情報:高速化のための補助情報。

ポートと応答時間

  • ポート53がDNS通信の標準ポート(UDP/TCP両方)

各リクエストはインターネットインフラを通じて伝搬します。速度に影響する主な要因は:

  • DNSサーバーまでの距離
  • キャッシュの有無
  • ネットワーク遅延(レイテンシ)

このレベルでDNSは「名前解決」ではなく「高速なデータ通信プロトコル」として機能しています。

DNSキャッシュとは?インターネットが速くなる理由

1回1回DNS検索をするのは非効率なので、キャッシュ(一時保存)が行われます。これがDNSキャッシュです。

DNSキャッシュの仕組み

初回アクセス時はresolver → ルート → TLD → 権威サーバー...と経路をたどりますが、取得後はIPアドレスが蓄積され、以後は繰り返し同じクエリをせずに済みます。

  • リクエスト回数が減り、表示が速い
  • DNSサーバーの負荷が軽減

キャッシュが保存される場所

  • ブラウザ:最近開いたサイトのIP情報を記憶
  • OS:全アプリ共通のDNSキャッシュを保持
  • DNSリゾルバー:プロバイダやパブリックDNSが大量ユーザー分をキャッシュ

TTLとは?

各DNSレコードにはTTL(Time To Live)が設定されており、キャッシュの有効期間を秒単位で指定します。

  • TTL=300の場合、5分間キャッシュ
  • TTL=86400の場合、1日キャッシュ

期限が切れると、再度クエリが行われます。

キャッシュがない場合のデメリット

  • 毎回DNS解決が必要→表示が遅い
  • インターネット全体の負荷増加
  • 遅延(レイテンシ)も増加

キャッシュがあれば、ほとんどのDNSリクエストが瞬時に処理されます。

DNSがページ表示速度に与える影響

DNSはサイト表示の最初のステップです。IPアドレスが分からないと、ブラウザはサーバーに接続できません。ここでの遅れが全体の読み込み時間に影響します。

DNSクエリによる遅延

  • キャッシュがなければ、resolver → root → TLD → 権威サーバーとすべての段階を踏む必要あり(数十ミリ秒)
  • 現代サイトは多数のリソース(画像・スクリプト・CDNなど)に対し、複数のDNSリクエストを発行
  • これが積み重なることで、全体の表示速度が左右されます

DNSサーバーの違い

全てのDNSサーバーが同じ速度というわけではありません。速度に影響する主な要素:

  • サーバーまでの距離
  • サーバーの混雑状況
  • インフラの品質

場合によってはDNSサーバーを切り替えるだけで体感速度が向上します。人気のパブリックDNSには、

  • Google DNS(8.8.8.8)
  • Cloudflare(1.1.1.1)

などがあります。

キャッシュの利点

  • 必要なIPがキャッシュにあれば、ほぼ即座に解決
  • 再表示は非常に高速

DNSがボトルネックになるケース

  • プロバイダのDNSが遅い
  • 高いping(遅延)
  • キャッシュ設定のミス
  • サーバー混雑

こうした場合、ネット回線自体が速くてもサイトの表示が遅くなります。

まとめ

DNSは、インターネットの基礎を支える不可欠な存在です。ドメイン名からIPアドレスへの変換、リクエストのルーティング、そしてサイト読み込み速度にも直接影響します。

DNSの仕組みを理解すれば、ネットワークのトラブルシューティングや、より快適なインターネット利用にも役立ちます。

  • ドメイン名を入力
  • DNSがIPアドレスを検索
  • ブラウザがサーバーへ接続

このシンプルな流れの裏側には、ミリ秒単位で世界中のサーバーが連携し合う、複雑で大規模なシステムが存在しています。

タグ:

DNS
インターネット
ドメイン
IPアドレス
ネットワーク
セキュリティ
サイト速度
キャッシュ

関連記事