因此,据我了解,DNS 提供商(例如 Google 的 8.8.8.8)向根名称服务器查询顶级域名服务器(例如“com”)后,它会向顶级名称服务器询问 google.com 名称服务器的域名。顶级名称服务器返回类似 ns1.google.com 的内容。那么,DNS 提供商如何找出 ns1.google.com 的 IP 地址?我读过的所有解释似乎都掩盖了这个主题。
答案1
这被称为胶水记录并且存在于比相关域名更高的注册级别。
https://serverfault.com/questions/309622/what-is-a-glue-record
来自链接的 SF 答案:
粘合记录是指由对区域不具有权威性的 DNS 服务器提供的记录,用于避免 DNS 区域出现无法建立依赖关系的情况。
假设我拥有 example.com 的 DNS 区域。我希望拥有托管此域的权威区域的 DNS 服务器,以便我可以实际使用它 - 添加域根、www、邮件等的记录。因此,我将名称服务器放入注册中以委托给它们 - 这些始终是名称,因此我们将输入 ns1.example.com 和 ns2.example.com。
这里有诀窍。TLD 的服务器将委托给 whois 记录中的 DNS 服务器 - 但它们位于 example.com 内。它们尝试查找 ns1.example.com,询问 .com 服务器,然后被转回... ns1.example.com。
粘合记录的作用是允许 TLD 服务器在响应 example.com 区域查询时发送额外信息 - 也发送为名称服务器配置的 IP 地址。它不是权威的,但它是指向权威服务器的指针,允许解决循环。
答案2
DNS 响应成对出现。它返回域名和相应的 IP 地址。在您的例子中,除了 ns1.google.com 之外,还会返回其相应的 IP。
顶级名称服务器不返回 ns1.google.com。返回的内容如下:
- 您 -> 8.8.8.8(询问 www.google.com 的 IP)
- 8.8.8.8 -> 根服务器:返回 .com 的 IP
- 8.8.8.8 -> .com:返回 google.com 的 IP
- 8.8.8.8 -> google.com:返回 ns1.google.com 的 IP(ns2、ns3、ns4……也一样)
- 8.8.8.8 -> ns1.google.com:返回 www.google.com 的 IP
- 8.8.8.8 -> 您(现在您可以访问 www.google.com)