|
|
Domain Name System (DNS) はインターネットを使った階層的な分散型データベースシステムである。 現在ではおもにインターネット上のホスト名や、電子メールに使われるドメイン名とIPアドレスとの対応づけを管理するために使用されている。
インターネットに接続されているすべてのコンピュータは、固有のIPアドレスを持っている。たとえば、ウィキペディア日本語版の web サーバのもつ IPアドレスは "130.94.122.197" である。 インターネット上のどんなコンピュータにアクセスする際にも最終的にはそのコンピュータの IPアドレスを知る必要がある。 しかし IP アドレスは 4つの数値の組み合わせからなっており覚えにくい。 このため IPアドレスを人間が覚えやすい名前で扱うことができるような機構が考案された。
DNSの役割は電話帳に似ている。一般には DNS はホスト名 ("ja.wikipedia.org") からそのホストのもつ IP アドレス ("130.94.122.197") を調べるのに使われるが、これは電話帳の氏名から電話番号を調べるようなものである。
通常、これらの機能は DNSサーバ と呼ばれるコンピュータが提供する。
たとえば Webブラウザ に URL を入力してネットワークにアクセスする際、ブラウザはこの DNSサーバに問い合わせることによってURL に含まれるホスト名を IPアドレスに変換し、実際のインターネットにアクセスする。
ただし現実の電話帳との違いは、この情報がインターネット上のいくつものコンピュータに分散して格納されているところにある。 インターネットには莫大な数のコンピュータが接続されており、これらのホスト名と 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サーバがダウンすると、そのドメイン内のホストをさす URL やメールアドレス が使えなくなるため、たとえネットワークがつながっていてもそのドメインには事実上ほとんどアクセスできなくなる。またDNS偽装が行われると、通常のインターネットを盗聴するよりもはるかに簡単に情報を盗聴・偽装することができる。 そのため、たいていの重要な DNSサーバは二重化されていることが多い。
関連語句
関連規約