DNSサーバの動作について教えてください。


DNSサーバが反復問い合わせを行う中で、対象ドメインの権威を持っているDNSサーバ(NSレコード)を受け取ると思っています。

通常、NSレコードは複数設定されていると思いますが、反復問い合わせの中で受け取るNSレコードは、「設定されているすべてのNSレコード」を受け取るのでしょうか?
もしくは、「ラウンドロビンで1つだけ」を受け取るのでしょうか?

趣旨としては、2つ登録されているNSレコードのうち、1つが障害などでアクセスできない場合の影響を知りたいためです。

分かりにくい説明で申し訳ありませんが、よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/09/14 13:53:33
  • 終了:2011/09/21 13:55:02

回答(1件)

id:JULY No.1

JULY回答回数966ベストアンサー獲得回数2472011/09/14 14:37:04

ポイント100pt

反復問い合わせの中で受け取るNSレコードは、「設定されているすべてのNSレコード」を受け取るのでしょうか?

です。これは NS レコードだけではなく、A レコードなども同じです。


よく、DNS サーバに複数の A レコードを書いておけばラウンドロビンされる、という話がありますが、DNS サーバ側に特別な仕掛けがない限り、基本的にはクライアント側の処理になります。この辺にまつわる話は、手前味噌ですが、下記のページにあります。

DNS でラウンドロビンは当てにならない。 - JULYの日記


趣旨としては、2つ登録されているNSレコードのうち、1つが障害などでアクセスできない場合の影響を知りたいためです。

複数の NS レコードを取得した際にどうするかは、手元でパケットを見た感じだと、返ってきた NS のうちの1つに対して問い合わせをしています。恐らくは、応答が一定時間返ってこない場合には、もう片方の NS に問い合わせを行うことになると思います。


どの NS から問い合わせるか、という順番を決める手順があったかどうか...、昔、聞いたことがあったのですが、すみません、覚えてません(^^;。

id:naoto_izutsu

回答、ありがとうございます。

反復問い合わせの中では、「設定されているすべてのNSレコード」を受け取るんですね。大変参考になりました。

どのネームサーバから問い合わせるか、という順番を決める手順について、私なりに調べてみました。

どうやら、ラウンドトリップ時間(RTT)というものを用いているようです。

ネームサーバが他のネームサーバに問い合わせを行う際に応答時間を記録して、次回からは応答時間の早いものを選択し、初めて問い合わせるネームサーバについてはランダムなRTT値を割り当てているみたいです。

お忙しいところ回答していただき、ありがとうございました。

2011/09/15 12:43:47

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません