この特集のトップページへ
Chapter 4:DNS(Domain Name System) 〜委任と内部ルート〜

4.1.1 正引きの委任

 ほかのDNSサーバーに管理を委任するときには,DNSのNSレコードを利用する。たとえば,itmedia.co.jpドメインをzdns.softbank.co.jp.というDNSサーバーが管理していたとすると,co.jpゾーンを管理しているDNSサーバー上には,次のようなレコードが存在することになる(記述方法は多様なので,実際にこのとおりに記述されているとは限らないが,意味は同じである)。このレコードにより,zdns.softbank.co.jp.というDNSサーバーは,itmedia.co.jpドメインに対する権威を取得するのである。

itmedia.co.jp. IN NS zdns.softbank.co.jp.

 このように,DNSサーバーはゾーンの管理をほかのDNSサーバーに委任することで,分散データベースの維持管理を実現している。

 では,委任されていないDNSサーバーを構築すると,どうなるのだろうか。委任されていないDNSサーバーを構築することにより,誰かに迷惑をかけることはほとんどないが,そのDNSサーバーがほかのDNSサーバーから問い合わせを受けることもなくなる。たとえば,筆者が勝手にbridgemw.co.jp.というドメインを管理するDNSサーバー(ns.bridgemw.co.jp)を構築したとしよう。もちろん,インターネットに常時接続された状況下で,である。しかし,勝手に構築しただけなので,co.jp.ドメインを管理するサーバーからbridgemw.co.jp.というドメインを管理するように委任されていない。「委任されていない」ということは,次のような記述が上位のDNSサーバー上に存在しないということである。

bridgemw.co.jp. IN NS ns.bridgemw.co.jp.

 この状況下で,どこかのドメインに所属するクライアントが,bridgemw.co.jp.というドメインを検索した場合のことを考えてみよう。そのクライアントは,自分のドメインのDNSサーバーにIPアドレスを問い合わせる。問い合わせを受けたDNSサーバーは,bridgemw.co.jp.というドメイン名を解決するため,奔走することになる。

 ここで,DNSサーバーがドメイン名を解決する手順を思い出してほしい。自分の管轄外のドメインに対する問い合わせを受けた場合,DNSサーバーはルートネームサーバーに問い合わせを転送するのだった。つまり,ルートネームサーバーはjpゾーンを管理しているDNSサーバーを,jpゾーンを管理しているDNSサーバーはco.jpゾーンを管理しているDNSサーバーを,それぞれ紹介するのである。

 問題はそのあとである。co.jp.ゾーンのDNSサーバーに問い合わせを送信しても,co.jp.ゾーンのDNSサーバーは“Non-existent host/domain(そのホストまたはドメインは存在しない)”という回答を返すだろう(どこか別の企業がbridgemw.co.jp.ゾーンを管理するDNSサーバーを構築していれば別だが)。なぜなら,co.jp.ゾーンのDNSサーバーにはbridgemw.co.jp.ゾーンを委任しているNSレコードが存在しないからである。co.jp.ゾーンを管理するDNSサーバー上に,先に示したNSレコードが存在しない限り,インターネット上に存在するいかなるDNSサーバーも,筆者が構築したbridgemw.co.jpドメインのDNSサーバーを発見することはできない。もちろん,筆者が構築したDNSサーバーは,bridgemw.co.jp.ドメインに対する権威を持ち得ない。したがって,そのドメイン名を解決することはできないのである。

PREV 3/14 NEXT