我试图通过 +trace 选项全面了解 DNS 解析过程的含义(以使解析器模拟 NS 默认服务器角色)。我从一个教学示例中获取了以下输出,然后添加了一些在不同上下文中发现的行(我确信这是一种可能的情况)。我添加的这些行是输出的最后 2 行(关于 XXX.mit.edu 和 WWW.YYY.ZZZ 的 NS)。
dig www.mit.edu +trace
; <<>> DiG 9.2.4 <<>> www.mit.edu +trace
;; global options: printcmd
. 2788 IN NS b.root-servers.net.
. 2788 IN NS c.root-servers.net.
. 2788 IN NS d.root-servers.net.
. 2788 IN NS e.root-servers.net.
. 2788 IN NS f.root-servers.net.
. 2788 IN NS g.root-servers.net.
. 2788 IN NS h.root-servers.net.
. 2788 IN NS i.root-servers.net.
. 2788 IN NS j.root-servers.net.
. 2788 IN NS k.root-servers.net.
. 2788 IN NS l.root-servers.net.
. 2788 IN NS m.root-servers.net.
. 2788 IN NS a.root-servers.net.
;; Received 276 bytes from 193.204.161.133#53(193.204.161.133) in 1 ms
edu. 172800 IN NS A3.NSTLD.COM.
edu. 172800 IN NS C3.NSTLD.COM.
edu. 172800 IN NS D3.NSTLD.COM.
edu. 172800 IN NS E3.NSTLD.COM.
edu. 172800 IN NS G3.NSTLD.COM.
edu. 172800 IN NS H3.NSTLD.COM.
edu. 172800 IN NS L3.NSTLD.COM.
edu. 172800 IN NS M3.NSTLD.COM.
;; Received 302 bytes from 192.228.79.201#53(b.root-servers.net) in 194 ms
mit.edu. 172800 IN NS STRAWB.mit.edu.
mit.edu. 172800 IN NS BITSY.mit.edu.
mit.edu. 172800 IN NS W20NS.mit.edu.
;; Received 138 bytes from 192.5.6.32#53(A3.NSTLD.COM) in 182 ms
www.mit.edu. 60 IN A 18.7.22.83
mit.edu. 21600 IN NS BITSY.mit.edu.
mit.edu. 21600 IN NS STRAWB.mit.edu.
mit.edu. 21600 IN NS W20NS.mit.edu.
mit.edu. 21600 IN NS XXX.mit.edu
mit.edu. 21600 IN NS WWW.YYY.ZZZ
;; Received 154 bytes from 18.71.0.151#53(STRAWB.mit.edu) in 150 ms
我理解在这些行之前发生的一切:“。” 信息由根名称服务器保存。根名称服务器列表由 193.204.161.133 给出,这是我的默认名称服务器。“edu”信息由“第二块”(XX.MSTLD.COM)中的名称服务器提供。这是由根名称服务器提供的信息。“mit.edu”信息由 STRAWB、BITSY 和 W20NS(mit.edu 的权威 NS)提供。这也很好。那么,在“最后一块”中:“XXX.mit.edu”和“WWW.YYY.ZZZ”是什么意思?他们也是 mit.edu 的自治 NS,但为什么之前没有将它们与其他 3 个自治 NS 一起列出?就像只有 STRAWB.mit.edu 知道有更多的 NS 包含与 mit.edu 区域相关的信息。
我希望我的问题很清楚。