IPv6をまだサポートしていないWebサイトにAAAAを掘ると、応答にはSOAレコードがあります。
サービスがIPv6をサポートしていない場合、AAAAクエリに応答してSOAレコードを保持する必要がありますか?
Dig quora.com AAAA
; <<>> Dig 9.9.5-3ubuntu0.6-Ubuntu <<>> quora.com AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8704
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;quora.com. IN AAAA
;; AUTHORITY SECTION:
quora.com. 976 IN SOA ns1.p28.dynect.net. zone-admin.dyndns.com. 2016031101 3600 600 604800 3600
;; Query time: 35 msec
;; SERVER: 10.0.2.3#53(10.0.2.3)
;; WHEN: Mon Mar 21 08:27:49 UTC 2016
;; MSG SIZE rcvd: 110
これが発生する理由は、ネガティブレスポンスキャッシングのためです。つまり、www.example.comに対してAAAAクエリを実行し、そのレコードが存在しない場合、そのレコードが存在しないという事実が中間サーバーのキャッシュに追加されます。
これらの中間サーバーがその応答をキャッシュする期間を知るには、SOAレコードが必要です。これは、TTLが定義されているためです。このプロセスは完全にプロトコルに依存しない、IPV4とIPV6(および IPV9 )は、additional
フィールドに含まれる同じ応答を取得します。
(以前の編集はかなり間違っていたようです!-これが実際の編集です)
その結果、SOAレコードがAuthorityセクションに挿入されます。
RFC 2308によると DNSクエリのネガティブキャッシング セクション3
ゾーンに対して権限のあるネームサーバーは、NXDOMAINを報告するとき、または要求されたタイプのデータが存在しないことを示すときに、応答の権限セクションにゾーンのSOAレコードを含める必要があります。これは、応答はキャッシュされる場合があります。
元のDNSRFC 1034 ドメインの概念と機能 は、SOAの2つの場所、権限セクション(セクション3.7)と追加セクション(最初に引用した)の記述に問題があったようです。セクション4.3.4)RFC2181セクション7.1 DNS仕様の説明 これを明確にしました。 RFC 2308 後でセクション4.3.4を完全に置き換えました。
概要
[RFC1034]は、否定的な応答をキャッシュする方法の説明を提供しました。ただし、ネームサーバーがキャッシュされた応答を他のリゾルバーに渡せないという根本的な欠陥があり、それによってキャッシュの影響が大幅に減少しました。このドキュメントは、経験に照らして提起された問題に対処し、[RFC1034セクション4.3.4]に代わるものです。