IPv6とIPv4の名前解決は別々に行なわれるのか?なぜIPv6とIPv4の名前解決は別々に行なわれるのか?2017/6/5-1www.example.comなどの「名前」に対応するIPアドレスをDNSサーバに問い合わせるとき、IPv4とIPv6に関する名前解決を単一の問い合わせで行うことはできません。そのため、DNSサーバに対して、IPv4に関する問い合わせと、IPv6に関する問い合わせを、別々に2度行う必要があります。これは、DNSサーバに対しての問い合わせが単一のレコードに対してしか行えないためです。Aレコード(IPv4アドレス)の問い合わせと、AAAAレコード(IPv6アドレス)の問い合わせは、それぞれ別々のレコードに対する問い合わせなので、両方を同時には行えないのです。「IPv4とIPv6に関するDNSサーバへの問い合わせは別々に行わなければならない」というのは、事実上の話であって、「仕様上そうなっている」と言い切れるのかどうかは微妙かも知れません。1035を基本としています。1035に仕様が記載されています。1035がベースになるのです。1035に記載されていますが、そこに書いてある仕様上は、複数の問い合わせを1つのDNSメッセージで行えるようにも読めます。entries」と書いてあります。1)」という仕様を見ると、どうして良いのかわからなくなります。この「普段は1」という仕様は今も上書きされずにそのまま残っています。そもそも、QDCOUNTのQDが何の略であるかも書いてません。QはQuestionだと推測されますが、Dは何なのか明確に定義されていないので謎です。「普段は1」ということは、普段とは違う内容も明確に禁止しているわけではないので、RFCの仕様上は複数のQuestionを同時に送信できるようにも読めなくはないです。1035だけを読む限りは、QDCOUNTを2にしたうえで、QuestionセクションとしてIPv4用のAレコードとIPv6用のAAAAレコードを同時に送信できれば、IPv4とIPv6に関する問い合わせを同時にできなくはないとも思えるわけです。現時点ではQDCOUNTが1ではない値を受け付ける実装がありません。複数の問い合わせを同時に含むDNSメッセージを受け入れる実装が存在しないため、単一のDNSメッセージで行える問い合わせは事実上1つだけになっているのです。昔のRFCに謎仕様が残されていることも多いのですが、DNSというインターネットの根幹的な仕組みにおいても、修正されずに残っている謎仕様が存在し、それを元に世界中での運用が行われているのです。無断転載など、私的利用の範囲を逸脱した利用は禁止します.。