DNS その2
| ドメイン DNS(Domain Name Service)は、ホスト名からIPアドレスに変換する、つまり名前解決の仕組みですというお話でした。そのときにはDNSサーバを利用しています。DNSサーバにホスト名とIPアドレスの対応を登録し、各コンピュータは必要に応じて、IPアドレスの問い合わせを行っています。 このDNSの仕組みはインターネットでも利用されています。でも・・・インターネット上のすべてのコンピュータの名前を登録する必要があるの???って思います。ちょっと考えると、そんなことはとても効率が悪くなるし、たえず大きくなっていっているインターネットでは不可能です。それにそんなことをしていたら、hostsファイルを使っているのとたいして変わりません。 そこで、インターネット上でうまく分散させているんですね。DNSはインターネット上の大規模な分散データベースを構成しています。 ホスト名とIPアドレスの管理の単位をドメインと呼びます。ドメイン内には少なくとも1台のDNSサーバを置きます。このDNSサーバにドメイン内のコンピュータのホスト名とIPアドレスを登録しておきます。ドメインは日本語では領域とか、範囲とか言う意味です。これまでだとブロードキャストドメインやコリジョンドメインなど「ドメイン」という言葉が出てきていますが、DNSのドメインとこれらはまた違います。さらにWindowsでもドメインという言葉が出てきますが、こちらもDNSのドメインとは違うので注意してください。 ![]() |
| ドメインの階層構造 このドメインをインターネット上で階層的に構成しています。その様子が次の図です。図の中の雲の形ひとつひとつがドメインと考えてください。 ![]() 一番上の階層はルートドメインです。特別に名前がついているわけじゃないのですが、便宜上「.」で表します。 その下の階層はgTLD(general Top Level Domain)と呼ばれます。アメリカの各種機関や国別にドメインが規定されています。おなじみの、「com」とか「jp」ですね。代表的なgTLDは次のようになります。
あISOの国別コードを元にして各国々をあらわすgTLDが決められています。
などまだまだたくさんあります。 さらにその下に各ドメインが連なる階層構造になっています。 各ドメインのDNSサーバには自分のドメインのホスト名とIPアドレスの対応に加えて、ひとつ下の階層のドメインにあるDNSサーバとルートドメインのDNSサーバのIPアドレスを登録します。(場合によってはgTLDのDNSサーバのIPアドレスも登録します) |
| FQDN(Fully Qualified Domain Name) そして、よく「www.yahoo.co.jp」のような表記を見かけます。これは、yahoo.co.jpドメインにあるwwwというコンピュータを表すホスト名です。ホスト名とドメイン名を「.」で区切って上にさかのぼっていくようなイメージです。 この表記をFQDN(Fully Qualified Domain Name)と呼んでいます。日本語では完全修飾ドメイン名です。つまり、早い話がフルネームのことですね。Webサーバはだいたい、wwwというホスト名をつけます。wwwにしなくてはいけないという決まりはないのですが、慣例的につけることが多いようです。 wwwだけで考えると、名前はダブってしまうのですがFQDNでは必ず一意になります。 太郎さんっていう名前の人がたくさんいても、苗字も含めたフルネームで個人個人を見分けることができるのと同じですね(同姓同名があるじゃん!っていう突っ込みはご遠慮ください(笑))。 |
| 名前解決のプロセス さて、この階層構造のドメインを利用して名前解決をしていくプロセスを見ていきましょう。 ドメイン内の各コンピュータは自分のドメインにあるDNSサーバに問い合わせを行うのですが、そのDNSサーバに登録がない場合、階層構造の頂点のルートから順番にたどっていきます。 具体的に次の例を見てみましょう。 companyドメイン内のあるコンピュータからyahooドメインのWebサー バにアクセスしたいというケースを考えます。 ![]()
とりあえず知らなかったら知ってそうなところへたらい回しにしていってるんですね。これはルーティングのルートの集約にも同じような考え方を見ることができます。 また、毎回毎回インターネット上を問い合わせていくのは非効率になるので、名前解決をした結果はDNSサーバで一定時間保存しておきます。 |
(C) Copyright 2000-2001 Gene All Right Reserved