catch-img

インターネットの根幹を支えるDNSの仕組み

私たちが普段何気なく利用しているインターネット。ブラウザのアドレスバーに URL を入力すれば、瞬時に目的の Web サイトが表示されます。しかし、この「当たり前」の裏側で、世界中のサーバーが驚くべき連携を行っていることをご存じでしょうか。

その主役こそが DNS (Domain Name System) です。

本記事では、DNS の基本的な仕組みから、インターネットの心臓部とも言える「ルートサーバー」の謎、そして運用を支える技術について解説します。

なぜ今、DNSを知る必要があるのか

「DNS はインターネットの電話帳である」。


これは入門書で必ず目にする説明であり、決して間違いではありません。人間が理解しやすい「ドメイン名(例: google.com)」を、コンピュータが通信するための「IPアドレス(例: 142.250.196.14)」に変換する。これが DNS の基本的な役割です。

しかし現代において、DNS は単なる「変換システム」以上の意味を持っています。
クラウドサービスの普及、サイバー攻撃の高度化、そして Web の高速化。これらすべてにおいて DNS は重要な役割を担っています。「DNS が止まれば、インターネットが止まる」と言っても過言ではありません。

インフラエンジニアはもちろん、アプリケーション開発者にとっても、DNS の挙動を正しく理解することはトラブルシューティングやパフォーマンスチューニングにおいて必須のスキルとなっています。

DNSの基本構造と名前解決の仕組み

DNS の世界は、巨大な「階層構造」で成り立っています。私たちが普段目にするドメイン名は、実は後ろから読むと構造が理解しやすくなります。

例えば www.example.co.jp というドメイン名であれば、以下のように解釈されます。

  1. . (ルート): すべての始点
  2. jp (トップレベルドメイン - TLD): 日本を管理
  3. co (第2レベルドメイン): 組織種別(企業)
  4. example (第3レベルドメイン): 組織名
  5. www (ホスト名): サーバーの役割

この階層構造をたどって IP アドレスを探し出す行為を「名前解決(Name Resolution)」と呼びます。

ドメインの種類によっては第2レベルドメインがない場合もあります。例えば Google は google.com ですし、ドイツ連邦政府公式サイトは bundesregierung.de です。日本でも jprs.jp や 日本語の 天気.jp などもあります。ドメイン名については別の機会に触れたいと思います。

登場人物:リゾルバとネームサーバー

名前解決の仕組みを理解するには、2つのプレイヤーを知る必要があります。

  1. キャッシュDNSサーバー(フルリゾルバ)
  • ユーザー(PCやスマホ)からの「このドメインのIPアドレスを教えて!」という依頼を受け取り、実際に世界中を駆け巡って答えを探してくるサーバーです。ISP(プロバイダ)が提供しているものや、Google Public DNS などがこれに当たります。
  1. 権威DNSサーバー(コンテンツサーバー)
  • ドメインの情報を実際に持っている(管理している)サーバーです。「.jp の情報は私が知っている」「example.co.jp のIPはこれだ」と、自身の管理領域について責任を持って回答します。

「反復問い合わせ」のバケツリレー

では、実際にユーザーがブラウザで www.example.co.jp にアクセスしたとき、裏側ではどのような通信が行われているのでしょうか。ここで行われているのが**反復問い合わせ(Iterative Query)**と呼ばれるバケツリレーです。

  1. クライアント(PC)キャッシュDNSサーバー
  • www.example.co.jp の IP アドレスを教えてください(再帰問い合わせ)」
  1. キャッシュDNSサーバールートサーバー
  • www.example.co.jp を知っていますか?」
  • ルートサーバー:「詳しくは知らないけど、.jp の管理サーバーなら知ってるから、そっちに聞いてみて」
  1. キャッシュDNSサーバーjp DNSサーバー
  • www.example.co.jp を知っていますか?」
  • jpサーバー:「詳しくは知らないけど、example.co.jp の管理サーバーなら知ってるから、そっちに聞いてみて」
  1. キャッシュDNSサーバーexample.co.jp DNSサーバー
  • www.example.co.jp を知っていますか?」
  • exampleサーバー:「知ってます! その IP アドレスは 192.0.2.1 です(権威ある回答)」
  1. キャッシュDNSサーバークライアント(PC)
  • 「IP アドレスわかりました! 192.0.2.1 です」

このように、キャッシュDNSサーバーがユーザーの代わりに「たらい回し」にされながら、最終的な答えにたどり着くのが DNS の基本的な動作原理です。

インターネットの心臓部「ルートサーバー」の正体

先ほどのバケツリレーにおいて、最初に問い合わせを受けた「ルートサーバー」。これは DNS の階層構造における頂点であり、ここが機能しなくなると、世界中の誰もドメイン名を解決できなくなってしまいます。

では、この重要すぎるサーバーは一体どこにあるのでしょうか?

世界に13個しかないIPアドレス

ルートサーバーには、a.root-servers.net から m.root-servers.net までの 13個のホスト名が割り当てられており、それぞれに 1つずつ(IPv4/IPv6それぞれ)IP アドレスが決まっています。つまり、論理的には世界にたった 13 ヵ所しか窓口がありません。

「たった 13 台のサーバーで、世界中のアクセスを捌いているの?」と驚かれることがありますが、物理的なサーバーの台数は 13 台ではありません。ここで登場するのが IP Anycast(エニーキャスト) という技術です。

Anycast技術による分散と強靭化

Anycast とは、「同じ IP アドレスを、世界中の異なる場所に存在する複数のサーバーに設定する」技術です。
BGP(Border Gateway Protocol)という経路制御プロトコルを利用することで、ネットワーク的に一番近い場所にあるサーバーが自動的に応答する仕組みになっています。

現在、ルートサーバーの拠点は世界中に 1,700 箇所以上(2024年時点)存在します。
例えば、日本国内にも「M-Root」や「J-Root」などの拠点が多数設置されています。私たちが日本からルートサーバーに問い合わせる時、わざわざアメリカのサーバーまで通信しているわけではなく、実は東京や大阪にあるコピー(インスタンス)が応答しているのです。

この技術により、以下のメリットが生まれています。

  • 高速: ネットワーク的に近いサーバーが応答するため、応答時間が短い。
  • 耐障害性: 一台のサーバーがダウンしても、自動的に別の拠点のサーバーへ通信が流れるため、サービスが停止しない。
  • DDoS対策: 攻撃トラフィックが世界中の拠点に分散されるため、一点集中の攻撃によるダウンを防げる。

誰が運用しているのか?

ルートサーバーは特定の1社が独占しているわけではなく、歴史的な経緯から世界中の様々な組織によって分散管理されています。

  • Verisign (A, J): .com ドメインのレジストリとしても有名。
  • ICANN (L): インターネット資源管理の総本山。
  • WIDE Project (M): 日本の大学や企業が中心となった研究プロジェクト。アジアで唯一のルートサーバー運用組織です。

このように、国や組織を超えた分散体制をとることで、政治的な圧力や特定の企業の事情によってインターネットが停止するリスクを回避しています。

TTL(Time To Live)とキャッシュの役割

ここまで仕組みを解説してきましたが、実際の通信において、毎回ルートサーバーから順番に問い合わせを行っているわけではありません。もしそんなことをすれば、ルートサーバーへの負荷はとんでもないことになり、Web サイトの表示も遅くなってしまいます。

そこで重要になるのが キャッシュ(Cache) です。

一度名前解決に成功した情報は、キャッシュDNSサーバー内に一時的に保存されます。
www.example.co.jp192.0.2.1 だ」という情報を覚えておけば、次に同じ問い合わせが来たとき、外部に問い合わせることなく即座に回答できます。

TTL が「変更の反映待ち」を生む

このキャッシュを「どれくらいの時間保持してよいか」を決める値が TTL(Time To Live:生存時間) です。単位は「秒」で設定されます。TTL という言葉は、技術の分野ではいろいろな意味で使われますが、DNSの世界では「一度検索した情報が再利用可能な時間」という意味です。

  • TTL が長い場合(例: 86400秒 = 1日)
  • メリット:キャッシュDNSサーバーの負荷が減り、応答が速い。
  • デメリット:サーバーの IP アドレスを変更しても、世界中のキャッシュが切れるまで古い IP にアクセスされ続ける(最大1日間)。
  • TTL が短い場合(例: 300秒 = 5分)
  • メリット:設定変更が素早く反映される。
  • デメリット:問い合わせ頻度が増え、DNSサーバーの負荷が高くなる。

Web サイトの引っ越し(サーバー移行)をする際、「反映まで最大24時間~72時間かかります」と言われる場合があるのは、世界中に散らばったキャッシュDNSサーバーが保持している古いキャッシュのTTLが0になるのを待つ必要があるからです。そのため、サーバー移行をする場合は、作業前にあらかじめTTLを短く設定しておき、移行が終了したらTTLをもとに戻す、といったことも行われます。

まとめ

今回は、インターネットを支える DNS の基本的な仕組みについて解説しました。

  • DNS は階層構造: バケツリレー方式(反復問い合わせ)で答えを見つけ出す。
  • ルートサーバー: インターネットの頂点。Anycast 技術により世界中 1000 箇所以上に分散配置され、強固な耐障害性を持つ。
  • キャッシュと TTL: 効率的な通信のために重要だが、設定変更時のタイムラグの要因にもなる。

普段は意識することのない「名前解決」ですが、その裏側では堅牢でスケーラブルなシステムが稼働しています。しかし、この DNS という仕組みは 1980年代に設計されたものであり、当初は「性善説」に基づいて作られていました。

次回は「DNSサーバーソフトウェアの種類」と、セキュリティやプライバシーの課題を解決するために生まれた「DNSSEC」「DoH / DoT」といった最新プロトコルについて解説する予定です。

【関連ソリューション】

システム基盤設計・構築

社内情報システム基盤構築サポート

坂本 慶
坂本 慶
1994年以来ネットワークおよびサーバーの設計構築に従事。現在はマネージドサービス部門にて自社MSPサービスのサービス基盤設計・構築や新サービスの検討などを行う。 ---- 日本最大のネットワーク展示会「Interop Tokyo」のShowNet SOC/NOCメンバーとして参加(2002年〜2009年) NPO 日本ネットワークセキュリティ協会の技術部会、U40部会メンバー(2000年〜2010年)

メルマガ登録

人気記事ランキング

タグ一覧