ネームサーバーとは、ディレクトリサービスに対するクエリに応答するネットワークサービスを実装するコンピュータアプリケーションです。ネームサーバーは、人間が理解しやすいテキストベースの識別子を、システム内部で使用される数値型の識別子またはアドレス指定コンポーネントに変換します。このサービスは、サービスプロトコル要求に応じてサーバーによって実行されます。
ネームサーバーの一例として、インターネットの中核となる名前空間であるドメインネームシステム(DNS)のサーバーコンポーネントが挙げられます。DNSサーバーの最も重要な機能は、人間が覚えやすいドメイン名とホスト名を、インターネット上でルーティング可能な対応する数値のインターネットプロトコル(IP)アドレスに変換(解決)することです。
インターネットは、ドメイン名階層[ 1 ]とIPアドレスシステム[ 2 ]という2つの主要な名前空間を維持しています。ドメインネームシステムは、ドメイン名前空間を維持し、これら2つの名前空間間の変換サービスを提供します。インターネットネームサーバーは、ドメインネームシステムを実装します[ 3 ] 。ドメインネームシステムの最上位階層は、インターネット割り当て番号公社(ICANN)の委任によって維持されるルートネームサーバーによって提供されます。世界中に配置されているDNSサーバーは、ドメイン名をIPアドレスに変換し、ユーザーが特定のドメインを介してアクセスできるサーバーを制御します。ルートの下、インターネットリソースは、それぞれのレジストラとドメイン名所有者によって管理されるドメインの階層に編成されています。DNSネームサーバーは、ドメイン名のアドレス(A、AAAA)レコード、ネームサーバー(NS)レコード、メールエクスチェンジャー(MX)レコードなどのDNSレコードを格納し(DNSレコードタイプのリストも参照)、データベースに対するクエリに応答するサーバーです。
ネームサーバーは通常、以下に説明するように、権威型または再帰型のいずれかです。
今日では一般的ではないが、ネームサーバーは、一部のゾーンのクエリに対して権威ある回答を提供するように構成され、他のすべてのゾーンに対してはキャッシュネームサーバーとして機能するように構成されていれば、権威的かつ再帰的であることができる。[ 4 ]
権威ネームサーバーとは、ゾーン内の名前に関する質問に対して回答を提供する責任を負うネームサーバーです。権威専用ネームサーバーは、管理者が設定したとおり、自身が責任を負うドメイン名に関するクエリに対してのみ回答を返します。
権威ネームサーバーは、プライマリサーバーまたはセカンダリサーバーのいずれかになります。ゾーンのプライマリサーバーは、そのゾーン内のすべてのレコードの確定バージョンを格納するサーバーです。これは、権限開始 (SOA) リソースレコードで識別されます。ゾーンのセカンダリサーバーは、自動更新メカニズムを使用して、ゾーンのプライマリサーバーのデータベースの同一のコピーを維持します。このようなメカニズムの例には、DNS ゾーン転送やファイル転送プロトコルなどがあります。DNS は、ゾーンの内容が変更されたときに、ゾーンのプライマリがそのゾーンの既知のすべてのセカンダリに通知できるメカニズムを提供します。ゾーンの内容は、管理者が手動で構成するか、ダイナミック DNSを使用して管理されます。[ 5 ]
すべてのドメイン名は、1 つ以上の権威ネーム サーバーによって提供されるゾーンに存在します。ゾーンの権威ネーム サーバーの完全修飾ドメイン名は、そのゾーンの NS レコードにリストされます。ゾーンのサーバーが親ゾーンの権威サーバーでもない場合、親ゾーンのサーバーにそのゾーンの委任を設定する必要があります。[ 6 ]
ドメインがドメイン名レジストラに登録されると、ゾーン管理者は、そのドメインを含むゾーンに対して権威を持つネームサーバーのリスト(通常は冗長性のために少なくとも 2 つ[ 7 ] )を提供します。レジストラは、これらのサーバーの名前を、そのゾーンを含むトップレベルドメインのドメインレジストリに提供します。ドメインレジストリは、そのトップレベルドメインの権威ネームサーバーを、ゾーンの各サーバーに対する委任とともに構成します。ゾーン内のいずれかのネームサーバーの完全修飾ドメイン名が存在する場合、ゾーン管理者はさらにそのネームサーバーの IP アドレスを提供し、それらは親ゾーンにグルー レコードとしてインストールされます。そうでない場合、委任はそのゾーンの NS レコードのリストのみで構成されます。[ 8 ]
ネームサーバーは、自身が権威を持つ名前に対するクエリへの応答で権威応答(AA)ビットを設定することにより、その応答が権威を持つことを示します。権威を持たない名前に対する応答を提供するネームサーバー(例えば、親ゾーンのネームサーバーや再帰リゾルバなど)は、AAビットを設定しません。[ 3 ]
再帰リゾルバ(再帰ネームサーバーと呼ばれることもある)は、クライアント(スタブリゾルバを使用しているクライアント)から再帰クエリ(下記参照)を受け取り、過去の結果のキャッシュから、または1つ以上の権威サーバーに問い合わせることによって、それらのクエリを解決するDNSネームサーバーです。
ネームサーバーが、DNS キャッシュにホストのエントリが含まれていないためクエリに応答できない場合、階層の上位にあるネームサーバーに再帰的にクエリを実行することがあります。[ 9 ]これは再帰クエリまたは再帰ルックアップとして知られています。再帰クエリを提供するサーバーは、再帰ネームサーバーとして知られています。
原則として、権威ネームサーバーがあればインターネットの運用には十分である。しかし、権威ネームサーバーのみが稼働している場合、すべてのDNSクエリはドメインネームシステムのルートゾーンへの再帰クエリから開始する必要があり、各ユーザーシステムは再帰処理が可能なリゾルバソフトウェアを実装しなければならない。
キャッシュネームサーバー、またはDNSキャッシュは通常、再帰リゾルバであり、各ドメイン名レコードの設定(有効期限)で定められた期間、DNSクエリの結果を保存します。DNSキャッシュは、インターネット上のDNSトラフィックを削減し、権威ネームサーバー、特にルートネームサーバーへの負荷を軽減することで、DNSの効率を向上させます。また、クエリへの応答速度が向上するため、DNSを使用するエンドユーザーアプリケーションのパフォーマンスも向上します。
キャッシュネームサーバーは、多くの場合、再帰ネームサーバーでもあります。つまり、受信したすべての DNS クエリに応答するために必要なすべての手順を実行します。そのためには、ネームサーバーは DNS ルートゾーンから始めて、各権威ネームサーバーに順番にクエリを実行します。クエリ対象のドメイン名を含むゾーンの権威サーバーに到達するまで、この処理を続けます。そのサーバーは質問に対する回答を提供するか、回答できないことを明確に伝え、キャッシュリゾルバはこの応答を質問したクライアントに返します。権威、解決、キャッシュ機能はすべて DNS サーバーの実装に含まれている可能性がありますが、必須ではありません。DNS サーバーは、これらの機能のいずれかを単独で実装し、他の機能を実装する必要はありません。
インターネットサービスプロバイダは通常、顧客向けにキャッシングリゾルバを提供しています。さらに、多くの家庭用ネットワークルーターも、ローカルネットワークの効率を向上させるためにキャッシングリゾルバを実装しています。
システムによっては、nscd(名前サービスキャッシュデーモン)が包括的な名前キャッシュメカニズムを提供する。[ 10 ]
ファイル
やネットワークデータベースの同等物
から情報にアクセスするライブラリルーチンもラップします。passwdgroup