web-dev-qa-db-ja.com

パブリックネームサーバーは実際に何をしますか?

パブリックDNSネームサーバー(SOAではなくパブリック、8.8.8.8など)の目的を理解しようとしています。

Dig +traceコマンドを実行しましたが、私が知る限り、ネームサーバーが使用されるのは、ルートドメイン.のSOAを見つけるときだけです。その後、階層内の各ドメインのSOAが照会されます。

私の仮定では、パブリックネームサーバーは次の目的で使用されます。

  • ルートドメインのSOAを識別するため、クライアントにハードコーディングする必要はありません。
  • プロセスとキャッシングの分散化。したがって、ドメインのSOAがダウンした場合、別のサーバーがクライアントをガイドできます。
  • sOAの負荷を軽減します。別のサーバーがリコアを認識している場合は、SOAにクエリを実行する必要はありません。

私は3つの質問があります:

  • 私の仮定は正しいですか?

  • これらがネームサーバーが実行する唯一のことである場合、キャッシュを必要とせず、自分で再帰クエリを実行する意思がある場合、ネームサーバーの使用を停止できますか?

  • SOAは、実行するリクエストが多すぎる場合、特定のネームサーバーからのクエリへの応答を拒否できますか?
4
David Bryant

あなたの仮定は正しくありません。 +traceオプションは、Digに各ドメインのSOAサーバーを照会するように指示します。これは通常の動作ではありません。通常のDNSルックアップでは、パブリック再帰DNSサーバーなどの構成済みDNSサーバーがすべて使用されます。そのルックアップの。

IPアドレスのみを使用する準備ができていない限り、ネームサーバーの使用を停止することはできません。ただし、クライアントソフトウェアと同じマシンで、独自の再帰ネームサーバーを実行できます。その場合、パブリック再帰ネームサーバーの使用を停止できます。

7
Mike Scott

マイクスコットの答え ..への小さな追加として.

パブリックネームサーバーの主な目的は(定義したとおり)次のとおりです。

  1. 個人が自分のネームサーバーを実行する必要がないようにします。

  2. ドメインを解決するプロセスを(潜在的に)スピードアップするのに役立ちます。

あなたの「3つの仮定」に関するいくつかのメモ

  • 一部のネームサーバーは、不明な要求のルックアップを他の再帰リゾルバー(パブリックネームサーバーなど)に転送するだけです。パブリックネームサーバーは再帰的なルックアップを行うために ルートヒントファイル を保持するため、これはこのファイルがこれらの転送専用で不要であることを意味します-)ネームサーバー。ただし、これは「クライアント」とは何の関係もありません(私があなたの意味を理解している限り)。

  • パブリックネームサーバーは、(おそらく)分散化とキャッシュに役立ちます。同様に、DNSシステム全体に堅牢性を提供できる可能性があります。しかし、これらは副次的な利点です。

  • パブリックDNSサーバーは、権威ネームサーバーの負荷を軽減できますが、これも、これらのサーバーをバイパスする主な理由ではありません。キャッシュされた情報は、信頼できるネームサーバーにその情報を要求するよりも早く返されるという考え方です。

5
Anaksunaman

パブリックリゾルバー(「ネームサーバー」という用語に注意してください。ネームサーバーにはリゾルバーと権限のある2種類があり、ほとんど共通点はありません)は、ISPや自分で実行するリゾルバーのような単なるリゾルバーです。ネットワーク上で。他のサービスと同様に、デフォルトのサービスよりも高速または低速で、多かれ少なかれ信頼性があり、いくつかの追加の良い機能または悪い機能がありますが、特定のことは何もしません。

0
bortzmeyer