用語集その2(DNS)


DNS

domain name system

 インターネットに接続されたコンピュータ(もっと正確に言うと ネットワーク機器。さらに厳密に言うと、ネットワークインタフェース) には、固有のIPアドレスがある事はpacket のところで書いた。しかし、実際にネットワークを運用するにあたって、 全てのホストのIPアドレスを覚えることは不可能に近い。せいぜい、 自分の周りの重要なホストやゲートウェイのIPアドレスを覚えるのが 限界だ。そこで、もっと親しみやすいようにネットワーク機器に 名前を付けることになった。

 仮に、satoshiの家には3台のコンピュータがあるとしよう。 それぞれに、pikatyu,pigeon,zenigameというホスト名を付けることにする。 数が少ないうちは、IPアドレスとホスト名の対応表を作り、各コンピュータに 配布すればことたりる。実際、初期のインターネットではそうやって IPアドレスとホスト名の対応表を管理するホストがあった。

 そのうち、友達の家でもコンピュータを買い、インターネットに 接続することになったとしよう。takeshiはzubat,rokon,ishitubute、 kasumiはhitodeman,kodak,tosakintoの各3台とする。この位ならば まだ対応表でも良いのだが、仲間が151匹に増えたり、3人が同じ 種類のポケモンをゲットするかもしれない(おや?)。そうしたら、 どれが誰のだか分からなくなってしまいそうだ。

 そこで、pikatyu.satoshiやkodack.kasumiのように、誰の 物かまでを正式名称に含めることになった。しかし、ookido博士は いちいちゲットしたポケモンの報告を受け、最新のリストを 配布するのは面倒だ。ポケモンマスターなら自分の ポケモンぐらいちゃんと覚えているから、相手のポケモンの IPアドレスが知りたくなったら相手(ポケモンマスター)に 訊けばいい。これがDNSの基本思想だ。


DNS server

 DNSサーバは、ホスト名とIPアドレスの対応表を持っていて、 訊かれたときに答えてくれるホスト(サーバ)のことだ。先程の 例でいうと、satoshiやtakeshi、kasumiがDNS serverだ。もし、 satoshiがkasumiのtosakintoのIPアドレスを知りたい場合、kasumi に訊けばいい。もしもkasumiが違う場所にいて、電話番号もわからない ときは、とりあえずookido博士に電話する。(全てのポケモンマスター はookidoの電話番号を知っていて、ookido博士は全てのポケモン マスターの電話番号を知っている必要がある。DNSにも、ookido博士に 相当するサーバがあり、rootサーバと呼ばれる)

 すると、ookido博士はkasumiの所属するジムの電話番号 (親ドメインのネームサーバ)を教えてくれる。そして、kasumiの ジムに電話をかけると、kasumi本人の電話番号と、kasumiのポケモンに 詳しいtakeshiの電話番号(セカンダリネームサーバ。つまり、 バックアップ用のネームサーバ)を教えてくれるだろう。
#takeshiはkasumiのジムの人間ではないというツッコミはしないように。 あくまでも、話の都合なんだから。それに、セカンダリサーバを 他のドメインで引き受けるというのはわりとよくある。なぜなら、 本家のサーバ(プライマリネームサーバ)が寝ていたり、忙しくて 電話をとれないことがあるからだ。

 このように、DNSというのは階層的になっていて、ホストの 検索は再帰的に行われている。まぁ、ポケモンを知っている人には 文中の例だけで十分だと思うが


おまけの用例

pikatyu ---+
zenigame --+-- satoshi --+-- masara-town --+
pigeon ----+                               |
                                           |
zubat -----+                               |
rokon -----+-- takeshi --+-- nantoka-town -+-- ( ookido )
ishitubute +                               |  DNSでは最後のookido博士
                                           |にあたる"."は普通書かない。
hitodeman -+                               |管理用のデータベースでFQDN
kodack ----+-- kasumi ---+-- kantoka-town -+を表すときにだけ書く。
tosakinto -+                                  メールの宛先などは誤動作
                                            するといけないから最後の
                                            "."は書かないこと

FQDN

 FullQualfiedDomainNameの略で、ようするに省略しない正式な ホスト名。たとえば、satoshiのpikatyuのFQDNは
pikatyu.satoshi.masara-town
となる(と思う)。


Domain

 ドメインとは、あるホストが所属するネットワーク機器のグループの ことだ。ここの例では、pikatyuはsatoshiドメインに所属し、kodackは kasumiドメインに所属する。また、ドメインは階層構造になっていて、 satoshiドメインはmasara-townドメインに所属している。このとき、 satoshiドメインはmasara-townドメインのサブドメインといい、 marara-townドメインはsatoshiドメインの親ドメインという。

 現実的なところでは、日本のドメインはjp、政府系組織の サブドメインはgo、郵政省はたしかmptで、WWWサーバはwwwという ホスト名を付けることが多いから、郵政省のWWWサーバは www.mpt.go.jpに違いないという推測がなりたつ。
#本当にそんなサーバがあるかどうかは知らない:-)

 また、co.jpドメインなどでは、似たような名前の会社がたくさん あるので思うようにドメイン名が取得できず、適当にURLを入力したら とんでもない会社のWWWサイトだったりすることがある。


[index]