-
- ●ホスト名とIPアドレスを変換するしくみ
では,コンピュータの中では,どのようにしてホスト名からIPアドレスへの変換を行っているのでしょうか?
Webブラウザで,あるURLにアクセスしたときの例を図4に示します.まず,ユーザーがWebブラウザに閲覧したいURLを指定します.するとWebブラウザは,URLを解析してプロトコル,ホスト名,パス名,ポート番号に変換します.
次にWebブラウザは,リゾルバと呼ばれるソフトウェアにホスト名をIPアドレスに変換するように依頼します.リゾルバは,後述する複数の方法を用いてホスト名をIPアドレスに変換し,Webブラウザに回答します.
Webブラウザは,ホスト名がIPアドレスに変換できましたので,IPアドレスとポート番号を指定して,TCPソフトウェアに信頼性のあるコネクションの確立を依頼します.コネクションを確立できれば,WebブラウザとWebサーバが通信できる状態になります.
最後にWebブラウザは,Webサーバからデータを取得し画面に表示します.
リゾルバソフトウェアは,アプリケーションから依頼を受けて,ホスト名をIPアドレスに変換する機能を果たすソフトウェアです.このようにリゾルバソフトウェアは,TCP/IP通信おいて非常に重要な役割を行っていますので,通常はTCP/IPソフトウェアの一部として扱われます.
ネットワーク機能を持ったUNIX系やWindows95/NT系のオペレーティングシステムでは,TCP/IPソフトウェアがオペレーティングシステムの一部となっていますので,リゾルバソフトウェアは,オペレーティングシステムのライブラリとして提供されます.
リゾルバソフトウェアは,おもに 1.hostsファイル,2.NIS,3.DNS
の3つの方法でホスト名をIPアドレスに変換しています.
次に,それぞれについて解説します.
〔図4〕Webブラウザに入力されたURLからWebサーバと通信するまでの流れ
- 1. hostsファイル
- hostsファイルは,ホスト名とIPアドレスの関係をそれぞれのコンピュータの中にファイルとして保存しておきます.リゾルバは,このファイルを参照してホスト名をIPアドレスに変換します.
各オペレーティングシステムにおける参照ファイルは,
UNIX系の場合は
/etc/hosts
Windows95系は
c:\Windows\hosts
WindowsNT系は
c:\Winnt\system32\drivers\etc\hosts
となります.hostsファイルの例を図5に示します.各行が1つのIPアドレスに対応する行で,最初にIPアドレスがあり,それ以降にホスト名を記述します.あるIPアドレスが複数のホスト名を持つ場合は,スペース区切りで並べることができます.
hostsファイルは,各コンピュータにそれぞれ存在しますので,新しいホスト名を定義したいときには,すべてのコンピュータのhostsファイルに定義を追加しなくてはいけません.また,IPアドレスが変わったり,ホスト名が変わったりするたびに,すべてのコンピュータのhostsファイルを変更しなくてはなりません.
このように,hostsファイルを使う場合は非常に管理の手間がかかります.そのため現在では,変更の可能性がほとんどなく,かつ2.や3.の手段を使えないホスト名の定義だけをhostsファイルに記述します.
〔図5〕hostsファイルによるホスト名→IPアドレス変換
|