吉川 洋太郎

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

 「HOSTS.TXTの破綻」を教訓に,ARPAnetは,「新たな名前解決の方法」として以下の条件を満たすシステムを開発しようとしました。それが現在のDomain Name System (DNS) です。

(1)分散管理できること
 「HOSTS.TXT」の二の舞を演じないためには,不可欠の条件でした。HOSTS.TXTのように,1カ所に管理を集中すると,そのホストは過負荷状態になってしまい,いとも簡単にダウンしてしまうことは実証済みでした。

(2)階層的にホスト名(名前空間)を管理できること
 現在のドメイン名などを見ると「.」で区切られて,階層化されていることが分かります。階層的な名前空間を使用することにより,ホスト名が重複するのを避けようとしたのです。これも,HOSTS.TXTの失敗に学んだ条件です。階層化という発想自体は,UNIXのファイル・システムから生み出されたものだと思われます。

(3)更新した情報がすぐに反映されること
 新たなホストが接続された場合や,接続ホストに変更があった場合には,更新情報がすぐに反映されなければなりません。HOSTS.TXTで起きたような,“タイム・ラグ”が発生してはいけません。

(4)どのホストからも,ネットワークのすべてのホストが参照できること
当たり前ですが,「名前解決をできるホスト」と「できないホスト」があっては困るのです。ネットワークに接続しているすべてのホストから,参照できる必要があります。

 このような条件を満たすシステムは,当時ありませんでした。そのため,既存のシステムを流用することはできず,システムのアーキテクチャ設計から始める必要がありました。

 そして,1983年11月,あるグループが,条件を満たすシステムを,3つのRFC(Request For Comments)としてまとめ,発表しました。「Domain Name System (DNS) 」の誕生です。しかし,これらのRFCは“たたき台”に過ぎませんでした。DNSの“完成形”までには,研究者たちの長い議論を必要としたのです。