通常ほとんどの DNS 参照では、クライアントは、ホスト (A) リソース レコードに格納されている他のコンピューターの DNS 名に基づいて検索を行う前方参照を実行します。この種類のクエリでは、IP アドレスがリソース データとして返されることを想定しています。

DNS では、逆引き参照処理を行うこともできます。逆引き参照を利用すると、クライアントは、既知の IP アドレスを使用し、そのアドレスに基づいてコンピューター名を参照することができます。逆引き参照は、「IP アドレス 192.168.1.20 を使用しているコンピューターの DNS 名を教えてくれますか」というような質問の形式で行われます。

当初、DNS は、この種類のクエリをサポートするようには設計されていませんでした。逆引きクエリ プロセスをサポートする際の問題の 1 つは、DNS 名前空間で名前を構成してインデックスを付ける方法と IP アドレスが割り当てられる方法との間に相違があることです。上記の質問に答える唯一の方法が、DNS 名前空間内のすべてのドメインで検索を実行することであれば、逆引きクエリは時間がかかりすぎて、必要とされる処理が多すぎるため、役に立ちません。

この問題を解決するために、DNS 標準では in-addr.arpa ドメインという特殊なドメインが定義され、インターネット DNS 名前空間内に確保されています。これが逆引きクエリを実行するための実用的で信頼性の高い手段になります。逆引き名前空間を作成するために、IP アドレスのドット区切り 10 進表記の数字の順序を逆にして、in-addr.arpa ドメイン内部にサブドメインを形成します。

このドメインの各オクテット値の順序を逆にしなければならないのは、DNS 名とは異なり、IP アドレスを左から右へ読むと逆方向に解釈が行われるためです。IP アドレスを左から右の方向に読むときは、アドレスの先頭の最も一般的な情報 (IP ネットワーク アドレス) から、末尾のオクテットにある、より固有な情報 (IP ホスト アドレス) へと進んでいきます。

このため、in-addr.arpa ドメイン ツリーを構築するときは、IP アドレスのオクテットの順序を逆にする必要があります。DNS の in-addr.arpa ツリーの IP アドレスは、インターネットで定義されているアドレス クラス内の特定のまたは限られた IP アドレスを割り当てられているため、企業に委任できます。

最終的に、in-addr.arpa ドメイン ツリーを DNS の中に組み込むと、ポインター (PTR) リソース レコードという別な種類のリソース レコードを定義する必要が生じます。このリソース レコードを使用して、通常は前方参照ゾーンに格納されたホストの DNS コンピューター名のホスト (A) 名前付きリソース レコードに対応するマッピングを、逆引き参照ゾーン内に作成します。

in-addr.arpa ドメインは、Internet Protocol Version 4 (IPv4) アドレス表記法に基づくすべての TCP/IP ネットワークでの使用に適用されます。新しいゾーン ウィザードでは、新しい逆引き参照ゾーンを作成するときに、このドメインが使用されているものと自動的に想定します。

DNS をインストールし、Internet Protocol Version 6 (IPv6) ネットワーク用の逆引き参照ゾーンを構成するときは、新しいゾーン ウィザードで、正確な名前を指定できます。これにより、逆引き参照ゾーンを DNS マネージャー内に作成し、それを使って、異なる特殊なドメイン名 ip6.arpa ドメインを使用する IPv6 ネットワークをサポートすることができます。

Request for Comments (RFC) 3596「DNS Extensions to support IP version 6」には、ip6.arpa ドメイン名の作成方法および使用方法を示す例を含む、IPv6 および DNS に関する追加情報が記載されています。詳細については、RFC Editor の Web サイト (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=240) から入手できるこの RFC を直接参照してください。

例 : 逆引きクエリ (IPv4 ネットワーク用)

次の図は、他のホスト (host-a) の IP アドレス 192.168.1.20 に基づいて、そのホストの名前を取得するために DNS クライアントが開始する逆引きクエリの例を示しています。

例:DNS 逆引き参照

逆引きクエリは、次の手順で行われます。

  1. クライアントが、host-a の IP アドレス 192.168.1.20 に対応するポインター (PTR) リソース レコードを求めるクエリを DNS サーバーに対して発行します。

    クエリがポインター (PTR) リソース レコードを求めるものであるため、リゾルバーはアドレスを逆にして、逆にしたアドレスの末尾に in-addr.arpa ドメインを追加します。これにより、逆引き参照ゾーン内での検索に使用される完全修飾ドメイン名 (FQDN) (20.1.168.192.in-addr.arpa.) が形成されます。

  2. 20.1.168.192.in-addr.arpa に対して権限のある DNS サーバーが見つかれば、その DNS サーバーがポインター (PTR) リソース レコード情報を返すことができます。その情報には host-a の DNS ドメイン名が挿入され、逆引き参照処理が完了します。

照会された逆引き名を DNS サーバーから取得できない場合は、通常の DNS 解決 (再帰または反復) を利用して、逆引き参照ゾーンに対して権限があり、照会された名前を保有する DNS サーバーを検索できます。この点では、逆引き参照で使われる名前解決は、前方参照の名前解決と同じです。

逆クエリ

逆クエリは、当初 DNS 標準の一部として提唱された、ホストの IP アドレスに基づいてホスト名を参照する旧式の手段です。逆クエリは、標準外の DNS クエリ操作を使用し、DNS サーバー サービスのトラブルシューティングとテストのためのコマンド ライン ユーティリティである Nslookup の一部の古いバージョンでのみ使用されます。

DNS サーバー サービスは、逆クエリ メッセージを認識して受け付け、疑似逆クエリ応答を返します。Windows NT® Server 4.0 を実行している DNS サーバーでは、サーバー コンピューターが Service Pack 4 (SP4) 以降にアップデートされていれば、既定でこのサポートが利用可能です。

逆引きクエリによってホストを特定するためのポインター (PTR) リソース レコードと逆引き参照ゾーンの構成は、DNS の標準実装のオプションにすぎません。一部のネットワーク アプリケーションでは、セキュリティ チェックの実行に逆引き参照ゾーンが使われることがありますが、逆引き参照ゾーンを使用することは必須ではありません。


目次