吉川 洋太郎

ラック コンピュータセキュリティ研究所

 HOSTS.TXTに代わる,新たな名前解決の方法である「DNS」。開発の中心人物は,Jon Postel氏,南カリフォルニア大学情報科学研究所(SIS)に所属していたPaul Mockapetris氏,そして,Craig Partridge氏を中核とした,Information Sciences Institute(ISI)のあるグループでした。

 1983年11月,Jon Postel氏が開発スケジュールをまとめ,RFC881 *1 として発表しました。DNSの基本概念と実装や仕様については,RFC882 *2とRFC883 *3 として,Paul Mockapetris氏が発表しました。なお,基本概念については,1982年にもRFCが発行されています *4

*1 RFC881 The Domain Names Plan and Schedule J. Postel
*2 RFC882 DOMAIN NAMES - CONCEPTS and FACILITIES P. Mockapetris
*3 RFC883 DOMAIN NAMES - IMPLEMENTATION and SPECIFICATION P. Mockapetris
*4 RFC819 The Domain Naming Convention for Internet User Applications Zaw-Sing Su (SRI)

 前回もお話しましたように,これらはあくまでも“たたき台”でした。そのため,詳細については,これから議論する必要がありました。まず議論の対象となったのは,「ドメイン名の表記方法」についてでした。

 ドメイン名は現在よく知られているように,例えば「itpro.nikkeibp.co.jp」と,「.(ピリオド)」 で区切られた階層構造をしています。ドメイン名が重複しないように,階層構造にすることは既に決まっていましたが,「どのような順番で表記するのか?」については決まっていませんでした。単純に取り決めの問題ですので,「jp.co.nikkeibp.itpro」でも,構わないわけです。

 最終的に,Jon Postel氏らは,「固有の名前から一般的な名前」で記述する,欧米でのアドレス(住所)表記と,同様の表記方式を採用することに決めました。すなわち,まず番地を書いて,最後に国名を書くアドレス表記と同じように,最初にマシン(ホスト)名を書き,最後にもっとも範囲が広い「トップレベルドメイン(TLD)」を書くことに決めました。

 議論はこれだけでは終わりませんでした。次に問題になったのは,「ドメイン名をどのように命名するか?」についてでした。すなわち,「.」と「.」の間に,どのような文字列を使用するのかが,議論の対象となりました。

 特に問題になったのは,現在は「com」などで構成されている,トップレベルドメインです。例えば,「出資者であるDARPAやMITなどを,トップレベルドメインとして使うべきだ」という意見がありました。議論の末,「com」,「net」,「org」,「edu」,「mil」,「int」,「gov」の7つ,そして,移行用として「arpa」を採用することで合意しました。

 以上のような,単に「ドメイン名の表記方法」を決めるだけの議論に,結局,1年以上も費やしてしまいました。そのため,ARPAnetがユーザーに対して,DNSを考慮したドメイン名の利用を働きかけ始めたのは,1985年からでした。

 そして,1986年1月に西海岸で開かれた,第1回目のInternet Engineering Task Force(IETF)ミーティングで,「DNSは本当に信頼できる」という統一見解が出され,徐々に普及していくことになります。

成長を続けるDNS

 長期にわたる議論の結果は,RFCに反映されました。仕様が変更された部分は,第1回IETFミーティングと同じ1986年の1月に,再びMockapetirs氏により,RFC973 *5 で文書化されました。

*5 RFC973 Domain System Changes and Observations P. Mockapetris

 そして,1987年11月に,変更部分も含めて,RFC882と883は,それぞれRFC1034 *6 と1035 *7 に書き直されました。

*6 RFC1034 DOMAIN NAMES - CONCEPTS AND FACILITIES P. Mockapetris
*7 RFC1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION P. Mockapetris

 現在も,RFC1034と1035を補足する新しいRFCは,発表され続けています。例えば,RFC2136 *8 やRFC2874 *9 などが挙げられます。

*8 RFC2136 Dynamic Updates in the Domain Name System (DNS UPDATE) P. Vixie
*9 RFC2874 DNS Extensions to Support IPv6 Address Aggregation and Renumbering M. Crawford

 これらは,後から追加された機能の説明であり,RFC2136は,DNSの動的更新などにあたります。RFC2874で提案されたのは,DNSのIPv6対応です。今後,IPv6が普及していくことを考えると,必須(ひっす)の追加機能といえましょう。

 今後も,DNSにはさらに機能が追加され,より多機能になっていくと考えられます。それに伴い,RFCも改訂され続けることが予想されます。長い議論の末,ようやく認められたDNSですが,これからも成長し続けることでしょう。