了解 DNS 域查找机制

can*_*lin 5 networking domain-name-system subdomain nameserver resolve

导致我尝试取消此过程的具体查询是:

assets.example.com如果父域example.com已经被解析,DNS 查找子域(例如 )是否会更快?

以我(幼稚)的理解,将域名转换为 IP 地址的基本过程非常简单。十三根服务器,谁知道如何解决像顶级域的地址comnet,有效很难在网络硬件编码。在查找 的情况下example.com,我们的本地 DNS 服务器(可能是我们的路由器)会查询这些根服务器中的其中一台以查找相关域,并被称为 的顶级名称服务器com。然后它会询问此名称服务器是否知道如何解析example. 如果是,我们就完成了,如果不是,我们就被转介到另一台服务器上。这个过程中的一些服务器可能正在缓存,所以我们的本地路由器现在可以临时知道在哪里寻找comexample

尽管如此,我还是不太明白。

  • 我知道还有其他中间 DNS 服务器,例如 ISP 提供的那些。他们在什么时候被查询?
  • 如果com我们所指的TLD 名称服务器不知道如何解析example,那么说这就是行尾是否正确:example.com无法解析?
  • 当我注册域并配置名称服务器时,我实际上是否在为该 TLD 的名称服务器使用的数据库中的子域编辑一组 NS 记录?注册商本身是否维护“代理”名称服务器?

维基百科解释说,一些 DNS 服务器将缓存与递归查询实现相结合,这使它们能够提供缓存命中并可靠地解决缓存未命中。我不明白这些服务器是如何被查询的,或者解析算法是如何(甚至广泛地)工作的。com例如,所有权威名称服务器都是精确镜像,还是解析器必须依次尝试每个?

回顾我最初的问题,假设 A 记录都在同一个名称服务器上,我可能会非常投机性地选择“否”。我将非常感谢任何可以减少我的无知的人!

mgo*_*ven 3

如果父域 example.com 已被解析,则子域(例如 assets.example.com)的 DNS 查找是否会更快?

假设场景中有缓存服务器,是的。这是因为为了找到 example.com 中任何内容的 A 记录,需要 example.com 的名称服务器。必须被知道。当请求 asset.example.com 时。成为 example.com 的名称服务器。应该已经被缓存,因此唯一的查询是针对 assets.example.com。本身。

我知道还有其他中间 DNS 服务器,例如 ISP 提供的服务器。他们在什么时候被询问?

这些通常是缓存或递归名称服务器。它们代表您完成艰苦的工作(遍历树的多个请求),然后缓存结果以加快以后对同名的查询。

例如,所有权威 com 名称服务器都是精确镜像吗?还是解析器必须依次尝试每个名称服务器?

是的,它们包含相同的信息。解析器只需找到一个实际工作的解析器即可。

如果我们提到的 com TLD 名称服务器不知道如何解析 example,是否可以说这就是行尾:example.com 无法解析?

如果 .com. 名称服务器响应并显示 example.com。不存在,那么结果就是该名称不存在。如果 .com. 名称服务器不响应查询,解析器应尝试不同的 .com。名称服务器。

当我注册域并配置域名服务器时,我实际上是否在该 TLD 的域名服务器使用的数据库中编辑我的子域的一组 NS 记录?注册商本身是否维护“代理”名称服务器?

正确的。当您注册域时,您提供要插入父域中的 NS 记录(如果需要粘合,还提供一些 A 记录)。注册商本身不一定运行这些名称服务器,但有一种修改这些名称服务器的数据库的机制。