リゾルバは、ドメイン/ホスト名をリソースレコードに変換するアプリケーションプログラムによって呼び出されるプロシージャです。リゾルバーはLDNSと通信し、LDNSはドメイン名を検索してIPアドレスを取得します。NetScaler、DNSクエリをエンドツーエンドで解決できます。
再帰的解決では、Citrix ADCアプライアンスは異なるネームサーバーに再帰的にクエリを実行してドメインのIPアドレスにアクセスします。Citrix ADCはDNSリクエストを受信すると、キャッシュにDNSレコードがないかチェックします。レコードがキャッシュに存在しない場合は、ns.conf ファイルに設定されているルートサーバに問い合わせます。ルートネームサーバーは、セカンドレベルドメインに関する詳細情報を含む DNS サーバーのアドレスを報告します。この処理は、必要なレコードが見つかるまで繰り返されます。
Citrix ADCアプライアンスを初めて起動すると、13のルートネームサーバーがns.confファイルに追加されます。13 台のルートサーバの NS レコードと Address レコードも追加されます。ns.confファイルは変更できますが、Citrix ADCでは13個のレコードすべてを削除することはできません。アプライアンスが名前解決を実行するには、少なくとも 1 つのネームサーバエントリが必要です。次の図は、名前解決のプロセスを示しています。
図1:再帰的解決
図に示されているプロセスでは、ネームサーバーは s1.s2.s3.com のアドレスに関するクエリを受信すると、まず s1.s2.s3.com のルートネームサーバーをチェックします。ルートネームサーバーは、.com ネームサーバーのアドレスを報告します。s1.s2.s3.com のアドレスがネームサーバーで見つかると、適切な IP アドレスで応答します。それ以外の場合は、他のネームサーバに s3.com をクエリし、次に s2.s3.com に対してクエリを実行して s1.s2.s3.com のアドレスを取得します。この方法では、解決は常にルートネームサーバーから始まり、ドメインの権限のあるネームサーバーで終了します。
再帰的な解決機能を使用するには、キャッシュを有効にする必要があります。