デリゲーション でりげーしょん
簡単に言うとこんな感じ!
デリゲーションは「管理を丸ごと任せること」だよ!たとえば会社の本部が「大阪支社のことは大阪支社で全部決めていいよ」と権限を渡すイメージ。DNSでは上位のサーバーが「このドメインの答えはあっちのサーバーに聞いてね」と案内する仕組みなんだ!
デリゲーションとは
デリゲーション(Delegation)とは、上位のDNSサーバーが特定のドメイン名空間の管理権限を下位のネームサーバーに委譲する仕組みのことです。日本語では「権限委譲」とも呼ばれます。インターネット上のドメイン名を解決する際、一台のサーバーがすべての情報を持つのは現実的ではないため、この「委譲」によって役割を分散させています。
たとえば example.co.jp というドメインがあるとき、.jp を管理するサーバーは「co.jp のことはこっちのサーバーに聞いて」と案内し、co.jp を管理するサーバーは「example.co.jp のことはあちらのサーバーに聞いて」と次々と案内します。このバトンリレーのような委譲の連鎖によって、世界中の数億のドメインが効率よく管理されているのです。
デリゲーションはDNSの分散設計の根幹であり、どの組織も自分のドメインを自分で管理できるという自律性をもたらしています。企業がドメインを取得して自社のネームサーバーで管理できるのも、このデリゲーションの仕組みがあるからです。
デリゲーションの仕組み
DNSツリーと委譲の流れ
DNSはツリー構造になっており、上位から下位へと順番に委譲されています。
. (ルート)
/ | \
jp com net ...
/ \
co ne ...
|
example ...(example.co.jp)
| 階層 | 管理主体の例 | 委譲先(NSレコードで指定) |
|---|---|---|
| ルート(.) | IANA / ルートサーバー運営者 | 各TLDのネームサーバー |
| TLD(.jp / .com) | JPRS / Verisign など | ドメイン取得者のネームサーバー |
| 2LD(example.co.jp) | 企業・個人 | 自社または契約のネームサーバー |
| サブドメイン(sub.example.co.jp) | 企業内部門など | 部門が管理するネームサーバー |
NSレコードが委譲を実現する
委譲は NSレコード(Name Server Record) によって行われます。上位ゾーンが「このドメインはこのネームサーバーが担当」と宣言することで委譲が成立します。
; co.jpゾーンの設定例(レジストリ側)
example.co.jp. IN NS ns1.example.co.jp.
example.co.jp. IN NS ns2.example.co.jp.
; 上記NSが持つIPアドレス(グルーレコード)
ns1.example.co.jp. IN A 203.0.113.10
ns2.example.co.jp. IN A 203.0.113.11
グルーレコードとは?
NSレコードで指定したネームサーバーのホスト名が、委譲先ドメイン自身の配下にある場合(例: ns1.example.co.jp が example.co.jp を管理する)、そのIPアドレスを一緒に渡さないと「鶏と卵」の問題が起きます。このIPアドレス情報を グルーレコード(Glue Record) と呼び、委譲を機能させるために必須です。
歴史と背景
- 1983年以前 — インターネットのホスト名はSTANFORDが管理する
HOSTS.TXTという一枚のファイルで管理されていた。ホストが増えるにつれ更新が追いつかなくなった - 1983年 — Paul MockapetrisがDNSを設計(RFC 882/883)。分散管理・委譲の概念が導入された
- 1987年 — RFC 1034/1035 として改定・標準化。デリゲーションの仕組みが現在の形に確立
- 1990年代〜 — WWWの爆発的普及でドメイン数が急増。分散委譲なしにはスケールしなかった
- 現在 — 世界のドメイン数は3億件超。デリゲーションにより中央集権なしで管理が機能し続けている
デリゲーションと関連概念の比較
ゾーンとデリゲーションの関係
ゾーン(Zone) とは、ある管理主体が責任を持つDNSの範囲のことです。デリゲーションが発生するたびに新しいゾーンが生まれます。
委譲の成立条件
| 条件 | 内容 |
|---|---|
| NSレコードの登録 | 上位ゾーンに「このドメインはこのNSが担当」と登録する |
| NSが応答できること | 指定したネームサーバーが実際に稼働していること |
| グルーレコード | NSのホスト名が委譲先ドメイン配下の場合は必須 |
| ゾーンファイルの整合 | 上位のNS指定と下位のゾーン設定が一致していること |
デリゲーションがうまくいかないと?
| 問題 | 症状 |
|---|---|
| NSレコード未登録 | ドメインが名前解決できない(存在しないように見える) |
| グルーレコード漏れ | 循環参照が起きてタイムアウトになる |
| NSの応答なし | SERVFAIL エラーが返りサイトにアクセスできない |
| 上位と下位のNSの不一致 | 一部のキャッシュサーバーで解決失敗が起きる |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 1034 | DNSの概念と機能の定義。デリゲーションの基本仕様を含む |
| RFC 1035 | DNSの実装と仕様。ゾーンファイル・NSレコードの書式 |
| RFC 4592 | ワイルドカードレコードとデリゲーションの相互作用 |
| RFC 7719 | DNS用語集。デリゲーション関連用語の定義を整理 |