人気ブログランキング | 話題のタグを見る

DNSの名前解決の優先順について

自宅のPCなんかでは、DNSサーバは、自宅のルータのみを向いていることが、一般的かもしれないけど、設定画面を見ると「優先」と「代替」を設定できることがわかかる。(代替は複数設定可能)
※この例では、優先にGoogle Public DNS(8.8.8.8)、代替に自宅のルータを設定している。
DNSの名前解決の優先順について_a0012319_11142584.png
で、実施の名前解決については、まず優先で解決を試みて、応答が得られない場合に代替が使われると考えていた。

が、実際に、Wiresharkでキャプチャしながら、Windows10のブラウザ(IE)でアクセスしてみると、こんな結果が出た。
DNSの名前解決の優先順について_a0012319_11151663.png
最初から、優先、代替両方にクエリを出しているように見える。
 (※追記※これ参考サイトでいうところの「3.再クエリー」に当たるのかな?優先DNSから応答が遅延すると起こりうる)
結果、それぞれから応答が戻ってきているのもわかる。
さらに、代替からのほうが応答が速いのもわかる。
(応答は、どちらも www.discas.net: type A, class IN, addr 61.213.172.34 でした)

では、実際のwebへのアクセスってどっちを使っているんだろうか。。。

表示のフィルタを外して、他の通信も見てみます。
DNSの名前解決の優先順について_a0012319_11184258.png
黒くなっている部分は、DNSの名前解決の部分です。
これからわかるように、192.168.11.1から応答があった後、61.213.172.34にアクセスしていることがわかります。
(8.8.8.8からの応答はそのあと来ている)

ということで、少なくともWindows10のブラウザ(IE)では、優先に問い合わせてNGの場合に代替・・という動きではなく、同時に問い合わせて、早く来た応答を利用してアクセスしていうことがわかると思います。

一般的には、応答は同じはずなので、大きな問題にはなりませんが、内部DNSなどで、優先と代替でzoneファイルの内容が異なるような(DNSの優先・代替の切り替えで接続先を切り替えるようなことを考えている)場合、優先・代替の応答の速さで接続先が変わってしまうので注意が必要そうです。

この辺の仕様ってどうなんですかね。まあ、遅延を短くするためであれば同時のメリットはあるわけですが。

# 3つ目を追加してみましたが、3つ目には同時に問い合わせにはいかなかったので、同時2つまでなのかもしれません。Windows10のIEでは。





補足(追加情報)

IE以外のソフトウェアでどのような動きをするのかも確認してみました。
・Teraterm(4.97):優先のみ

と、IEも再度ためしたところ、優先のみに問い合わせるようになってました

なんなんだ。。。


by star_no2 | 2018-09-01 11:26 | ネット | Trackback | Comments(0)