缓存 DNS。它如何选择要查询的 DNS 服务器?

缓存 DNS。它如何选择要查询的 DNS 服务器?

我有一个本地缓存 DNS 服务器(名为)。

假设我想解析 blizzard.com 域名。我的本地 DNS 如何找到正确的服务器来查询此域名?它是否有其他 DNS 服务器的列表?我可以更改它们吗(比如更改为 Google 的 8.8.8.8)?

谢谢你!

答案1

我的本地 DNS 如何找到正确的服务器来查询该域名?

它问道。

它是否有其他 DNS 服务器的列表?

是的,根列表或上游列表。使用根列表,它将向“.”根服务器(其中之一)询问域的服务器com.,然后询问blizzard.com.相关服务器的服务器,依此类推。

答案2

DNS 是一个定义明确的协议,而缓存并不是一个神奇的黑匣子——所有行为都是有精确定义的。

如果您的缓存服务器需要检索新的 RR,它将像任何 DNS 服务器一样迭代遍历层次结构(假设您没有配置转发器,但您不应该这样做),然后向 blizzard.com 的权威名称服务器请求 RR。
此值用于 RR 的 TTL 字段中给出的持续时间。

Sundry 在这里更详细地解释道:http://www.zytrax.com/books/dns/ch2/和这里:http://en.wikipedia.org/wiki/Domain_Name_System#DNS_resolvers

答案3

运行以下命令将让您很好地了解正在发生的事情。

dig +trace example.com

维护根服务器的官方列表这里。这是大多数递归服务器将用来找出从哪里开始查找域的“提示”文件。它很少改变。我记得最近的大多数更改只是为 IPv6 添加了 AAAA 记录。

有关根级别发生情况的更多详细信息,请参阅大量文档这里

相关内容