このページの本文へ

前へ 1 2 3 次へ

完全解剖「名前とアドレス」 第4回

Webやメールで使われる名前の正体を理解しよう

インターネットで使うドメイン名と名前解決

2009年05月25日 09時00分更新

文● 大谷イビサ/編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

DNSのドメインと階層構造

 DNSでは単一のDNSサーバがすべてのドメイン名を管理しているわけではない(図3)。前述した通り、DNSではルートと呼ばれるドメインを最上位に、複数のドメインがツリー状に構成されている。そして、各ドメイン内での名前解決をDNSサーバが分担している。各DNSサーバには、自ら名前解決できる範囲(ゾーン)が決まっており、それぞれ管理権限が分散されている。そして、名前解決のリクエストに応えられない場合は、他のDNSサーバに名前解決を依頼していく。

図3 ルートを中心に複数のドメインがツリー構造になっている

DNSの問い合わせを見る

 実際のDNSでの問い合わせを見てみよう(図4)。クライアントPCのリゾルバはまずOSのTCP/IPで設定されたローカルのDNSサーバに「www.example.co.jp」のIPアドレスを求める名前解決の依頼を送信する。しかし、ローカルのDNSサーバがwww.example.co.jpのIPアドレスを知らなかった場合は、そのローカルのDNSサーバがリゾルバに代わって、別のドメインのDNSサーバに問い合わせを行なう。この問い合わせは、ドメイン名の右端に位置するルートから順々に実行される。つまり、FQDNの一番右のピリオド(ルート)から調べ、徐々に左側のドメインに移っていくのだ。

図4 名前解決までのプロセス

 リゾルバはツリー構造の最上位にあるルートDNSサーバのアドレスだけは知らされている。そこで、ルートから問い合わせをかけ、TLDのDNSサーバを教えてもらう。そこで、次はjpドメインを管轄するDNSサーバを紹介する。その次にjpドメイン管轄のサーバは、co.jpのDNSサーバを紹介してもらう。そして、最終的にexample.co.jpのDNSサーバにたどり着く。ここにはホスト「www.example.co.jp」のIPアドレスが登録されているはずなので、それを最初にリクエストを受けたローカルDNSに返信する。これを送信元のホストに戻せば、めでたく宛先のIPアドレスを得ることができるわけだ。

 つまり、通常は名前解決の依頼が来ても、ホスト名に対応するIPアドレスを知っているDNSサーバまで何度も問い合わせが行なわれるのだ。

名前解決を試してみる

 では、Webブラウザを使って冒頭の名前解決の手順を実際に行なってみよう(画面1)。インターネットにつながっているWindows PCから「アクセサリ」-「コマンドプロンプト」を開き、

画面1 コマンドプロンプトから名前解決を実行

nslookup asciimw.jp

 と入力してみよう。nslookupは、DNSの名前解決を依頼する行なうコマンドで、asciimw.jpがドメイン名である。入力すると

Server: dns1.grandsphere.net
Address: 61.213.188.1

Non-authoritative answer:
Name: asciimw.jp
Address: 202.225.5.24

という返事が戻ってくるはずだ(Windows XPの場合)。Serverと書いてあるのがDNSサーバのホスト名。Non-authoritative answer以下に書いてある「Name」が問い合わせドメイン名の「asciimw.jp」で、「Address」には対応するIPアドレスが戻されてきたというわけである。

メールアドレスの場合

 今まではWebサーバの例で見てみたが、メールアドレスから宛先のメールサーバのIPアドレスを知る場合にもDNSが用いられる。

 news@example.co.jpのようなメールアドレスの場合、@の前がユーザーアカウントで、@の後ろがドメイン部になる。そのため、Webサーバと同じように送信前に対象のドメイン名を管轄するDNSサーバを調べる。これにより、宛先のメールサーバのIPアドレスを得ることができる。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事