名前からIPアドレスを解決する方法は『DNSを使う』方法と、『hostsファイルを使う』方法があります。
DNS(Domain Name System)の代表的な機能は、ドメイン名からIPアドレスを調べる機能です。
これは世界中にドメインごとに分散して配置したDNSサーバを、階層構造で接続した構成で可能になっています。
『hostsファイルを使う』方は、単純に拡張子無しのhostsというファイル内に、「IPアドレス ドメイン名」のデータを列挙しておく方法で、
これでIPアドレスが判明する場合は、DNSを使いません。(DNSより優先的な参照)
これはインターネット黎明期から使われるファイルでエントリ量が増える過程で、DNSの導入に移行しています。このフィルは
Windowsなら、コマンドラインの「type C:\Windows\System32\drivers\etc\hosts」で確認きるでしょう。
Linuxなら、「cat /etc/hosts」で、内容を確認できます。
TCPを利用してサーバとクライアント間で通信する場合、最終的にIPアドレスが分からないと通信できません。
しかし、一般ユーザー使うのは、IPアドレスより、ドメイン名を指定する場合が多いでしょう。
そこで、ドメイン名からIPアドレスを調べるシステムが必要になり、それはDNS(Domain Name System )と呼ばれます。
DNS(Domain Name System )は、インターネットを使った階層的な分散型データベースシステムで構成されています。
ドメインは頻繁に変化するので、一箇所のデータベースで世界中の全ての
IPアドレスとドメインの割り当て表を管理する構造で作ることができません。
ドメインは『TLD:トップレベルドメイン』から 『SLD:第2レベルドメイン』・・と階層構造に管理されています。
そこで、各階層の名前ごとに、その名前を持つドメインを管理するデータベースが設けられているのです。
このデータベースを管理するサーバは、DNSサーバと呼ばれて、世界中に分散している構成になっています。
(このサーバーは単にネームサーバとも呼ばれます)そのサーバー群のイメージを下記に示します。
この例では、.jp のトップレベルドメインをの の部分を管理するのが、.jのpDNSサーバーです。
そして、.ne.jp のセカンドレベルドメインの の部分を管理するのが、.ne.jpのDNSサーバーです。
abc.ne.jpのドメインであれば、この.ne.jpのDNSサーバーに問い合わせをすれば判明できるように記憶しています。
以下で、このシステムを使ってブラウザのURLに記述したドメイン名からIPアドレスを調べて、Webページが見えるまで流れを
イメージで示します。『イメージの中のボタン』をクリック(最初だけダブルクリック)して動作の流れを見ましょう。
『すぐ見つからない』のボタンが現れたたら、
それもクリックしてみましょう。
リゾルバは、最初にデフォルトのDNSに対して問い合わせます。
UNIXでは、resolv.confファイルに記述される最初のネームサーバに対して問い合わせを行います。
Windowsでは、ネットワークプロパティ内で、TCP/IPのプロパティにデフォルトDNSの設定があります。
WindowsXPにおいての設定は、接続のプロパティから、TCP/IPを選択して、そのプロパティを出して行います。
上記のように、DNSサーバの設定項目が2つあります。
なおこの内容は、管理者権限がないと、変更できません。
DNSサーバは、リソースレコードと呼ばれるドメイン名とIPアドレスの対応するデータの集合を記憶、管理しています。 そして、リソースレコードの集合体であるデータベースは、一般的にゾーンファイルと呼ばれています。
レコードタイプ | タイプの意味 | 概要 |
---|---|---|
SOA | Start of Authority | ゾーンファイルの最初のリソースレコード。DNSサーバの以下各種管理情報の指定。 ドメインのDNSサーバ名、ドメイン管理者のメールアドレス、シリアル番号、更新間隔、転送再試行時間、レコード有効時間、否定的キャッシュ有効時間 |
A | Address |
ホスト名とIPアドレスを指定。
(例) abc.hij.xyz IN A 192.168.0.1 中心的なレコードで、ホスト名(abc.hij.xyz)からIPアドレス(192.168.0.1)の検索で使われる。 |
CNAME | Canonical NAME |
ホストの別名を指定。 (例) aaa.bb.cc. IN CNAME abc.hij.xyz. 構文は、「 エイリアス名 IN CNAME 本当のホスト名 」 |
NS | Name Server | ドメイン名と、そのドメイン名を管理するDNSサーバを対応付けたレコード。 DNSサーバ検索用のレコード |
MX | Mail exchange | ドメインのメールサーバを指定。 メールアドレスは通常、「ユーザーメールアカウント@ユーザが所属するドメイン名」で、ユーザが所属するドメインのサーバを探すためのもの |
PTR | Pointer | IPアドレスに対応するホスト名を指定。(逆引きで使用) |
TXT | text strings | ホストへのテキスト情報を指定。 |
SRV | SeRVice | SRVレコードとは、各種サービス名からサービスを提供するサーバのホスト名解決をおこなう。(rfc2782.txt) Windows 2000 Server以後のActive Directoryネットワークにおいて使われる拡張仕様で、 SRVレコードが存在しないと、クライアントはドメインにログオンすることができなくなる。 |