ISP 如何解析或确定特定区域的根服务器?

ISP 如何解析或确定特定区域的根服务器?

假设我正在尝试找出 superuser.com 的委托子域名

当我执行 dig +trace 时,我得到了以下结果:

dig +trace superuser.com A

; <<>> DiG 9.2.1 <<>> +trace superuser.com A
;; global options:  printcmd
.                       6245    IN      NS      g.root-servers.net.
.                       6245    IN      NS      j.root-servers.net.
.                       6245    IN      NS      k.root-servers.net.
.                       6245    IN      NS      m.root-servers.net.
.                       6245    IN      NS      l.root-servers.net.
.                       6245    IN      NS      f.root-servers.net.
.                       6245    IN      NS      c.root-servers.net.
.                       6245    IN      NS      e.root-servers.net.
.                       6245    IN      NS      a.root-servers.net.
.                       6245    IN      NS      b.root-servers.net.
.                       6245    IN      NS      h.root-servers.net.
.                       6245    IN      NS      i.root-servers.net.
.                       6245    IN      NS      d.root-servers.net.
;; Received 505 bytes from x.x.x.x#53(x.x.x.x) in 1 ms

com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
;; Received 491 bytes from 192.x.x.x#53(g.root-servers.net) in 231 ms

superuser.com.          172800  IN      NS      ns-245.awsdns-30.com.
superuser.com.          172800  IN      NS      ns-1699.awsdns-20.co.uk.
superuser.com.          172800  IN      NS      ns-cloud-d1.googledomains.com.
superuser.com.          172800  IN      NS      ns-cloud-d2.googledomains.com.
;; Received 269 bytes from 192.y.y.y#53(e.gtld-servers.net) in 137 ms

superuser.com.          300     IN      A       151.x.x.x
superuser.com.          300     IN      A       151.y.z.a
superuser.com.          300     IN      A       151.y.1.a
superuser.com.          300     IN      A       151.y.z.b
superuser.com.          172800  IN      NS      ns-1699.awsdns-20.co.uk.
superuser.com.          172800  IN      NS      ns-245.awsdns-30.com.
superuser.com.          172800  IN      NS      ns-cloud-d1.googledomains.com.
superuser.com.          172800  IN      NS      ns-cloud-d2.googledomains.com.
;; Received 229 bytes from 205.z.z.z#53(ns-245.awsdns-30.com) in 15 ms

l.gtld-servers.net
e.gtld-servers.net
b.gtld-servers.net

ISP 如何确定需要查询哪些根服务器?这里它选择了 g.root-servers.net。这是随机的吗?类似的逻辑也适用于通用顶级域名吗?

答案1

同一区域的所有权威服务器内容相同。因此您不需要确定任何事情;您只需选择一个 NS 记录并使用它即可。

(不要认为根区域或 TLD 区域是特殊的。它们是具有普通 NS 记录的普通区域,其权威服务器的工作方式相同。根区域看起来像这样。

因此,无论你问的是 A 根、G 根还是 L 根,都无关紧要:如果问题是“谁是该com.区域的权威”,他们全部会给你正确的答案。


(不过,正如你所看到的另一条线索@Anakasunaman 链接到的,许多递归解析器最终将选择“最快”的服务器 - 但是,这纯粹是出于性能原因,并不影响最终结果。一次性工具不会dig考虑这一点。)

相关内容