ルートDNSサーバとは?インターネット全体を支える名前解決の仕組み

ルートDNSサーバとは?

ルートDNSサーバとは?DNS階層構造の最上位を理解する

DNSについて学習していると、「ルートDNSサーバ」という言葉が登場します。

DNSは世界中のドメイン名を管理する巨大な分散データベースですが、その最上位に存在するのがルートDNSサーバです。

Webサイトへアクセスするとき、メールを送信するとき、クラウドサービスへ接続するときなど、私たちが意識しないところでルートDNSサーバが利用されています。

しかし、ルートDNSサーバはWebサイトのIPアドレスを直接管理しているわけではありません。

本記事では、ルートDNSサーバの役割やDNS階層構造との関係、実際の名前解決でどのように利用されているのかを解説します。

ルートDNSサーバとは

ルートDNSサーバとは、DNS階層構造の最上位に位置するDNSサーバです。

DNSはツリー構造になっています。


.
├── com
├── net
├── org
├── jp
└── その他

この最上位にある「.(ルート)」を管理しているのがルートDNSサーバです。

世界中のDNS問い合わせの出発点となる重要なサーバです。

DNSの階層構造

DNSは階層的に管理されています。

例えば次のFQDNを見てみましょう。


www.example.com.

これは次のような階層になります。


.
└── com
    └── example
        └── www

DNSサーバはこの階層を上から順番にたどりながら名前解決を行います。

その最初の入口がルートDNSサーバです。

ルートDNSサーバの役割

多くの人が誤解していますが、ルートDNSサーバは世界中のドメイン名とIPアドレスを保持しているわけではありません。

ルートDNSサーバの役割は、次に問い合わせるべきDNSサーバを教えることです。

例えば次の問い合わせが来たとします。


www.example.com のIPアドレスは?

ルートDNSサーバは次のように回答します。


com を管理するDNSサーバはこちらです

つまり、.comを管理するTLD DNSサーバの情報を返します。

名前解決の流れ

実際の名前解決を見てみましょう。


www.example.com

キャッシュDNSサーバは次の順番で問い合わせを行います。

  1. ルートDNSサーバ
  2. TLD DNSサーバ
  3. 権威DNSサーバ

まずルートDNSサーバへ問い合わせます。


www.example.com はどこ?

ルートDNSサーバは次のように返します。


.com の管理者はこちら

次にTLD DNSサーバへ問い合わせます。

最後に権威DNSサーバから正式なIPアドレスを取得します。

TLD DNSサーバとの違い

ルートDNSサーバとTLD DNSサーバは混同されやすい存在です。

項目ルートDNSTLD DNS
管理対象ルート領域.com .jp 等
役割TLD DNSを案内権威DNSを案内
保持情報TLD情報ドメイン管理情報

ルートDNSはTLD DNSへの案内役です。

権威DNSとの違い

権威DNSサーバは実際のDNSレコードを保持しています。

例えば次のような情報です。


www.example.com IN A 192.0.2.10

ルートDNSサーバはこれを知りません。

知っているのは「どこへ聞けばよいか」という情報だけです。

ルートDNSサーバは何台あるのか

ルートDNSサーバは13系統存在します。

A.root-servers.net から M.root-servers.net まであります。

A.root-servers.net
B.root-servers.net
C.root-servers.net
...
M.root-servers.net

そのため「13台しかない」と誤解されることがあります。

実際には数百台以上存在する

現在はAnycast技術が利用されています。

そのため、1つのルートDNSサーバ名に対して世界中に多数の実体サーバが配置されています。

結果として数百台以上のルートDNSサーバが稼働しています。

利用者は最も近いルートDNSサーバへ自動的に接続されます。

Anycastとは

Anycastとは、同じIPアドレスを複数拠点で共有する技術です。

ルーティングによって最寄りのサーバへ接続されます。

ルートDNSサーバはAnycastによって次のメリットを得ています。

  • 高速応答
  • 負荷分散
  • 障害耐性向上
  • DDoS耐性向上

ルートDNSサーバは誰が管理しているのか

ルートDNSサーバは複数の組織によって管理されています。

代表例です。

  • Verisign
  • ICANN
  • NASA
  • University of Maryland
  • RIPE NCC
  • WIDE Project

一つの組織が独占しているわけではありません。

複数組織による分散管理が行われています。

日本国内のルートDNS

日本国内にもルートDNSサーバのミラーが設置されています。

そのため日本国内の利用者は海外まで問い合わせを行う必要がありません。

高速なDNS応答が可能になっています。

ルートDNSサーバが停止したらどうなるか

よくある疑問として「ルートDNSサーバが停止したらインターネットは終わるのか」があります。

実際にはそう簡単には停止しません。

理由は次の通りです。

  • 13系統存在する
  • Anycastで冗長化されている
  • 世界中に分散配置されている
  • DNSキャッシュが存在する

一部が停止してもインターネット全体への影響は限定的です。

DNSキャッシュとの関係

ルートDNSサーバへの問い合わせは毎回行われるわけではありません。

キャッシュDNSサーバが結果を保存します。

そのため通常の利用ではルートDNSへのアクセス頻度はそれほど高くありません。

キャッシュがあることでルートDNSへの負荷が大幅に削減されています。

digコマンドで確認する

Linuxではdigコマンドで確認できます。

ルートサーバ情報を確認する例です。

$ dig . NS

結果としてルートDNSサーバ一覧が表示されます。

また、再帰問い合わせを無効にして追跡することもできます。

$ dig +trace www.example.com

このコマンドでは、ルートDNSからTLD DNS、権威DNSへ問い合わせていく様子を確認できます。

Wiresharkで確認する

Wiresharkを利用するとDNSパケットを確認できます。


フィルタを設定することでDNS問い合わせの流れを観察できます。

ただし通常はキャッシュDNSサーバが代理で問い合わせるため、ルートDNSとの通信は見えません。

実務で重要なポイント

サーバ管理者やネットワークエンジニアが覚えておくべきポイントです。

  • ルートDNSはIPアドレスを保持していない
  • TLD DNSへの案内役である
  • 13系統存在する
  • Anycastで冗長化されている
  • DNS階層構造の出発点である

DNS障害の切り分けでは、どの階層で問題が発生しているかを意識することが重要です。

まとめ

ルートDNSサーバはDNS階層構造の最上位に位置する重要なサーバです。

ただし、WebサイトのIPアドレスを直接管理しているわけではありません。

役割はTLD DNSサーバへの案内を行うことです。

現在は13系統のルートDNSサーバが存在し、Anycast技術によって世界中へ分散配置されています。

DNSの仕組みを理解するうえで、ルートDNSサーバの役割を知ることは非常に重要です。名前解決の流れを理解することで、DNSトラブルの切り分けやネットワーク設計への理解も深まります。