TCP/IP TOP  |  nslookup  |  再帰クエリの体験  |  HOSTSファイル  |  Domain Name System

DNSの名前解決

TCP/IPではコンピューターはお互いにIPアドレスで通信相手を確認します。しかし、ユーザーが一般的に使用するのは、URLとして入力する ホスト名+ドメイン名(FQDN:Fully Qualified Domain Name)です。

IPアドレスは単純な32ビット長のビット列("."ドットで区切られた4ブロックの0〜255からなる10進数で表現することが多い)なので、ほとんどの状況では、「どこのどのマシンか?」という特定が困難です。TCP/IPネットワークでは管理するネットワーク単位毎の組織名(ドメイン名)を用意し、ホスト名と組み合わせてユーザーにとって判りやすい系統的な管理の方法が考えられました。これがドメイン名空間FQDNです。

(ここで言う「ドメイン」はWindows NTの「ドメイン」とは異なります。)

DNSサーバは、ホスト名(host name)とIPアドレスの対応付けを管理します。ネームサーバとも呼ばれます。

  1. ユーザーはIPアドレスではなくホスト名でコンピューターをオペレーションできます。
  2. DNSサーバはユーザーが入力したホスト名と対応したIPアドレスをコンピューターに返します。
  3. コンピューター同士はIPアドレスで通信相手を確認します。

インターネットに公開されているDNSサーバはDNSサーバ自身がインターネット上の全ホストのエントリを管理する必要はなく、ドメイン名空間のツリー構造を利用し、自身が管理していないFQDNの名前解決クエリはターゲットのホストを管理しているDNSサーバに問合せる分散データベースシステムです。

名前解決をしたいホストを管理しているDNSサーバにも直接問合せられることはめったにありません。

  1. リゾルバ(DNSクライアント)は、TCP/IPパラメータで設定したDNSサーバ(通常はローカルネットワークのDNSサーバ、もしくはISPのDNSサーバ)に問い合わせます。@(再帰クエリ)
  2. ローカルDNSサーバはインターネット上に13台のみのroot-serverの一台に問合せ、ターゲットのDNSサーバを管理しているトップレベルドメインのDNSサーバを解決します。A・B(反復クエリ)
  3. 次にトップレベルドメイン(GTLD)のサーバに問合せ、ツリー構造のトップレベルから一段下のレベルのDNSサーバを解決します。C・D(反復クエリ)
  4. このような繰返しでターゲットホストを管理しているDNSサーバを解決しE・F(反復クエリ)、ターゲットホストの名前解決が可能になります。G(再帰クエリ)
※ sample.co.jpの様に、国別のドメインレベルがある場合、DとEのプロセスの間に、もう一段階、クエリのプロセスがあります。

ネームサーバに問合せるルーチン、及びクライアントをリゾルバ(resolver)と呼びます。DNS Domain Name SystemはDNSサーバとDNSクライアント(リゾルバ)からなる、クライアントサーバシステムです。

ネームサーバへの問い合わせには、ホスト名からIPアドレスを要求する「順(正)引き」とIPアドレスからコンピュータ名を要求する「逆引き」があります。


TCP/IP TOP  |  nslookup  |  再帰クエリの体験  |  HOSTSファイル  |  Domain Name System
Copyright (C) 2003 by Yasumaro. All rights reserved.
 ↑ ご意見・ご感想・ご要望・苦情はこちらまで。↑
最終更新日2003年07月22日
HIEDA.NET