名前から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」で、内容を確認できます。

DNSの仕組み(IPアドレスとドメイン名関係を調べる)

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ページが見えるまで流れを イメージで示します。『イメージの中のボタン』をクリック(最初だけダブルクリック)して動作の流れを見ましょう。







『すぐ見つからない』のボタンが現れたたら、
それもクリックしてみましょう。

ほとんどのOS(オペレーティングシステム)には、 「ドメイン名に対応するIPアドレス」を、 DNSサーバーに問い合わせを行うクライアントプログラムが入っており、 このプログラムはリゾルバ(resolver)と呼ばれます。
つまり、リゾルバは最寄りのネームサーバ(DNS)のアドレスを知っており、 そのネームサーバに問い合わせを行い、返ってきたIPアドレスをアプリケーションに渡します。 以下でWebがIPパケットを作るまでの概要で流れを説明します。(abc.yyy.xx

上記の『最寄りのDNSサーバ』は、社内のDMZに配置したDNSサーバや、下記のデフォルトのDNSで示した「優先 DNSサーバー」を意味します。
『最寄りのDNSサーバ』からの問い合わせは、その『最寄りのDNSサーバ』自身のリゾルバが行います。

上記のように、IPアドレスが解決するまで、上位階層のDNSサーバから下位層のDNSサーバへと、次々再帰的な問い合わせを行う。
しかし、これではトラフィックの負荷が高まるので、ルートDNSサーバー、JP DNSサーバはDNSサーバの問い合わせで、「それを知っていそうなDNSのIPアドレス」を直接に返す働きがある。 これは『非再帰的な名前解決』と呼ばれる。しかし一般には再帰的な問い合わせが行われる。

なお一度問い合わせた内容は、キャッシュに一定期間だけ記憶されて、そこの情報がある場合は、DNSへの問い合わせを行いません。
また、逆にIPアドレスからドメイン名を調べることも可能です。

デフォルトのDNS (マシンのDNS設定)

リゾルバは、最初にデフォルトのDNSに対して問い合わせます。
UNIXでは、resolv.confファイルに記述される最初のネームサーバに対して問い合わせを行います。
Windowsでは、ネットワークプロパティ内で、TCP/IPのプロパティにデフォルトDNSの設定があります。

WindowsXPにおいての設定は、接続のプロパティから、TCP/IPを選択して、そのプロパティを出して行います。

上記のように、DNSサーバの設定項目が2つあります。
なおこの内容は、管理者権限がないと、変更できません。

DNS のゾーンファイル (リソースレコードの種類)

DNSサーバは、リソースレコードと呼ばれるドメイン名とIPアドレスの対応するデータの集合を記憶、管理しています。 そして、リソースレコードの集合体であるデータベースは、一般的にゾーンファイルと呼ばれています。

リソースレコードは、各サーバのドメイン名と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レコードが存在しないと、クライアントはドメインにログオンすることができなくなる。