Domain Name System(ドメイン ネーム システム、DNS)はインターネットを使った階層的な分散型データベースシステムである。1983年に情報科学研究所 (ISI) のポール・モカペトリスとジョン・ポステルにより開発された。
現在ではおもにインターネット上のホスト名や、電子メールに使われるドメイン名とIPアドレスとの対応づけを管理するために使用されている。
インターネットに接続されているすべてのコンピュータは、固有のIPアドレスを持っている。たとえば、ウィキペディア日本語版のwebサーバの持つIPアドレスは2007年4月現在では "211.115.107.162" である。インターネット上のどんなコンピュータにアクセスする際にも最終的にはそのコンピュータの IPアドレスを知る必要がある。しかし、IPアドレスは、3桁までの4つの数値の組み合わせ(IPv4の場合)からなっており、最大12桁の数字の羅列となり覚えにくい。このため、IPアドレスを人間が覚えやすい名前で扱うことができるような機構が考案された。
DNSの検索
DNSは、ホスト名(例えば"ja.wikipedia.org")の入力があるとDNSサーバ と呼ばれるコンピュータを参照し、そのホストのもつ IP アドレス(例えば"130.94.122.197")を検索するシステムである。例えるなら、DNSは氏名から電話番号を自動で調べる電話帳のようなものである。
たとえば ウェブブラウザ に URI を入力してネットワークにアクセスする際、ブラウザはURIを解析して、アクセスすべきWebサーバのホスト名を取り出し、後述のリゾルバAPIに渡す。リゾルバAPI(通常はOS内部での働き)は、Webサーバのホスト名をDNSサーバに問い合わせて帰ってきたIPアドレスにより、ホスト名をIPアドレスに変換してブラウザに返す。ブラウザは、得られたIPアドレスを使用して、Webサーバとの通信を開始する。このようにしてブラウザはインターネットにアクセスする。
ホスト名から、そのホストにアクセスするためのIPアドレスを得ることを、(ホスト名の)「解決」 (resolve) と呼び、これを行うためのクライアント側のしくみを「リゾルバ」という。
ただし現実の電話帳との違いは、この情報がインターネット上のいくつものコンピュータ(DNSサーバ)に分散して格納されているところにある。 インターネットには莫大な数のコンピュータが接続されており、これらのホスト名と IPアドレスは日々更新されつづけているため、インターネット上のすべてのホスト名を一台のコンピュータで集中管理することは現実的ではなかった。 そのためインターネット上のコンピュータをある単位で区分けして、それぞれのグループがもつデータをグループごとのコンピュータに別々に管理させるようにした。これが DNS の基本的なアイデアである。このグループをドメインと呼ぶ。各グループには英数字とハイフン ( - ) からなるラベル(ドメイン名)がつけられており、異なるドメインの情報は異なるコンピュータに格納される。
今でこそ DNS はホスト名とIPアドレスの対応づけに使用されるのがほとんどだが、もともとは電子メールの配送方法やコンピュータの機種名を登録するなどといった用途も考えられていた。
ドメイン名は階層的な構造をもっている。たとえば"ja.wikipedia.org" というホスト名は"ja"、 "wikipedia"、 "org"という 3つの階層に区切ることができる。ja.wikipedia.org というホストは"wikipedia.org" ドメインに所属しており、このドメインはさらに "org" ドメインに所属している、といった具合である。ドメイン名は一個の巨大な木構造をなしているといっていい。この構造をドメイン名前空間 (Domain Name Space) と呼ぶ。ドメイン名前空間は頂点に "."(root) ノードをもち、そこから .com, .org, .jp などの各トップレベルドメイン (TLD) が分かれている。
各ドメインはゾーンと呼ばれる管轄に分けて管理されている。ゾーンはドメイン名前空間上のある一部分に相当し、それぞれのゾーンは独立したDNSコンテンツサーバと呼ばれるコンピュータによって管理されている(ドメイン名の委譲)。DNSコンテンツサーバは、管理しているゾーンのホスト名とIPアドレスの組を記述したデータベースをもっており、クライアントマシン(あるいはDNSキャッシュサーバ)からの要求に応じて、あるホスト名に対応するIPアドレスを返す。DNSクライアントはルートサーバからいくつものDNSサーバをたどっていき、最終的なホスト名のIPアドレスを得る(DNSの再帰検索)。
DNSのDNSの再帰検索
具体的な例として、ja.wikipedia.org というホスト名の IPアドレスを検索することを考えると、再帰検索は、トップレベルドメインをルートサーバに問い合わせることからはじまる。ja.wikipedia.org というホスト名は wikipedia.org ドメインに属し、またwikipedia.orgドメインはorgドメインに属するため、クライアントは最初にorgドメインのDNSサーバ(ネームサーバ)のIPアドレスを得なければならない。
まず、クライアントは適当なルートサーバをひとつ選ぶ。ここでは A.ROOT-SERVERS.NET (198.41.0.4) としよう。現在 ルートサーバ に登録されている org ドメインのネームサーバは 9つあり、そのうちのひとつはa7.nstld.com (192.5.6.36) である。
つぎにクライアントは、このネームサーバに wikipedia.org ドメインのネームサーバの IPアドレスを問い合わせる。するとそのネームサーバのホスト名は dns34.register.com (216.21.226.87) であることがわかる。
最後に、このネームサーバにja.wikipedia.orgのIPアドレスを問い合わせる。するとこのサーバは最終的な答130.94.122.197を返す。こうして目的とするホスト名のIPアドレスを検索できる。
DNSの役割
DNSはふだんほとんどの人が意識しない透過的なシステムだが、その役割は非常に重要である。あるドメインを管理しているDNSサーバがダウンすると、そのドメイン内のホストをさす URL やメールアドレス が使えなくなるため、たとえネットワークがつながっていてもそのドメインには事実上ほとんどアクセスできなくなる。またDNS偽装が行われると、通常のインターネットを盗聴するよりもはるかに簡単に情報を盗聴・偽装することができる。そのため、たいていの重要な DNSサーバは二重化されていることが多い。
◇出典: フリー百科事典ウィキペディア(Wikipedia)『DNS』より取得日:2008-12-13
DNSの関連サイト
- DNSの仕組みの基本を理解しよう
DNSはなぜ必要か? ... DNSと同じように、IPアドレスとホスト名のマッピングを行う最も原始的な仕組みが「hosts」ファイルだ。 - DNS ZONE - FOR ALL ATHLETES
パフォーマンスアップの為の情報を満載した総合情報サイト「DNS ZONE」。 - DNS - 意味・説明・解説 : ASCII.jpデジタル用語辞典
DNSが提供する名前解決は「DNSサーバー(ネームサーバー)」と呼ばれる専用サーバーが行なう。 - Domain Name System - Wikipedia
例えるなら、DNSは氏名から電話番号を自動で調べる電話帳のようなものである。 - DNSとは 【Domain Name System】 - 意味・解説 ...
DNSとは、インターネット上のホスト名とIPアドレスを対応させるシステム。 - DNSとは 【ネームサーバ】 - 意味・解説 : IT用語辞典
DNSとは:インターネット上でのコンピュータの名前にあたるドメイン名を、住所にあたるIPアドレスと呼ばれる4つの数字の列に変換するコンピュータ。 - JPRS DNS 関連技術情報
DNSの運用に必要な技術情報を提供。 - DNSオンラインショップ[DNS ONLINESHOP]|The ...
DNSオフィシャルオンラインショップ。 - おまかせDNS|インターリンクの簡単便利DNSサービス(固定ipアドレス)
インターリンクが提供する簡単・便利・格安なDNSサービスです。 - DNSサーバ - Wikipedia
非再帰検索 - リゾルバからの問い合わせの要求を受け取ったDNSサーバが、 ... 単純な問い合わせ機能しか持たないリゾルバ(スタブリゾルバ)がDNSキャッシュサーバに要求する場合には再帰検索の要求が行われる。




















