当我把AAAA挖掘到一个不支持IPv6的网站时,这个答案就有了一个SOAlogging。
当服务不支持IPv6时,是否需要具有SOAlogging来响应AAAA查询?
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
发生这种情况的原因是负面响应caching。 即如果您为www.example.com执行AAAA查询,并且该logging不存在,那么它不存在的事实将被添加到中间服务器的caching中。
为了使这些中间服务器知道需要多长时间来caching这个响应,因为他们需要SOAlogging,因为这是TTL定义的地方。 这个过程完全是协议不可知的,IPV4和IPV6(以及IPV9 )在additional字段中获得相同的响应。
(看来我以前的编辑是相当不正确的 – 所以这是真正的)
因此SOAlogging被插入到Authority部分。
根据RFC 2308 DNS查询的负面caching第3节
当一个区域报告一个NXDOMAIN或者没有请求types的数据时,区域名称服务器必须在响应的权限部分包含该区域的SOAlogging。 这是必需的,以便响应可以被caching。
似乎最初的DNS RFC 1034 域概念和设施在描述SOA的两个位置,权限部分(在第3.7节)和附加部分(我最初在第4.3.4节中引用)中描述了一个问题RFC 2181第7.1节对DNS规范的澄清澄清了这一点。 RFC 2308后来完全取代了第4.3.4节。
抽象
[RFC1034]提供了如何caching否定响应的描述。 然而,它有一个根本的缺陷,就是它不允许名称服务器把这些caching的响应交给其他的parsing器,从而大大减less了caching的效果。 本文件根据经验解决问题并取代[RFC1034第4.3.4节]。