Domain Name System

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
ネットワーク・プロトコル
アプリケーション層
DHCP · DNS · FTP · Gopher · HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTSP · SSL/TLS · SDP · SOAP · CMIP · STUN · GTP · NTP · EHRP · PX-VPN
トランスポート層
TCP · UDP · DCCP · SCTP · RTP · RSVP · IGMP · PPTP · RUDP · UDP-Lite
ネットワーク層
IP (IPv4 · IPv6) · OSPF · IS-IS · BGP · IPsec · ARP · RARP · RIP · ICMP · ICMPv6 · IGP
データリンク層
802.11 · 802.16 · Wi-Fi · WiMAX · ATM · DTM · トークンリング · イーサネット · FDDI · フレームリレー · GPRS · EVDO · HSPA · HDLC · PPP · SLIP · L2TP · ISDN · SMDS · アークネット
物理層
イーサネット物理層 · モデム · PLC · SONET/SDH · G.709 · OFDM · 光ファイバー · 同軸ケーブル · ツイストペアケーブル

Domain Name System(ドメイン ネーム システム、DNS)はインターネットを使った階層的な分散型データベースシステムである。1983年情報科学研究所 (ISI) のポール・モカペトリスジョン・ポステルにより開発された。

現在ではおもにインターネット上のホスト名や、電子メールに使われるドメイン名IPアドレスとの対応づけを管理するために使用されている。

インターネットに接続されているすべてのコンピュータは、固有のIPアドレスを持っている。たとえば、ウィキペディア日本語版のwebサーバの持つIPアドレスは2007年4月現在では "211.115.107.162" である。インターネット上のどんなコンピュータにアクセスする際にも最終的にはそのコンピュータの IPアドレスを知る必要がある。しかし、IPアドレスは、3桁までの4つの数値の組み合わせ(IPv4の場合)からなっており、最大12桁の数字の羅列となり覚えにくい。このため、IPアドレスを人間が覚えやすい名前で扱うことができるような機構が考案された。

目次

検索

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の再帰検索

具体的な例として、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サーバがダウンすると、そのドメイン内のホストをさす URLメールアドレス が使えなくなるため、たとえネットワークがつながっていてもそのドメインには事実上ほとんどアクセスできなくなる。またDNS偽装が行われると、通常のインターネットを盗聴するよりもはるかに簡単に情報を盗聴・偽装することができる。そのため、たいていの重要な DNSサーバは二重化されていることが多い。

関連語句

関連プロトコル

  • STD0013
    • RFC 1034 : DOMAIN NAMES - CONCEPTS AND FACILITIES
    • RFC 1035 : DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net