为什么DNS递归请求名为递归?

为什么DNS递归请求名为递归?

这是将 FQDN 名称完全转换为 IP 地址的请求。与递归有什么联系?

答案1

递归 DNS 查询是指您向 DNS 解析器(例如 Google 公共 DNS)询问 DNS 条目时,它必须向上游提交完全相同的 DNS 查询才能找到答案。

递归是指传递完全相同的查询,但实际上您实际上只获得 1 级递归。您询问解析器,解析器可能必须询问权威服务器。

编辑,我好像理解错了。递归部分是询问根服务器,然后询问下一级,依此类推,直到解析器得到查询的答案。这比我理解的意思更有意义……

答案2

递归 DNS 服务器实现 DNS 递归。不多也不少。

DNS 递归是 DNS 服务器向权威 DNS 服务器询问尽可能多的问题以满足查询的过程。有关更多信息,建议阅读有关 DNS 的书籍。(任何进一步的详细信息都可以写成一篇关于 DNS 工作原理的文章)

答案3

当递归 DNS 解析器收到域名的 DNS 查询时,其缓存中并没有现成的答案。相反,它会通过向根 DNS 服务器发送查询来启动解析过程。这些根服务器会将查询转发给负责该域名扩展名(例如 .com、.org、.net)的相应顶级域名 (TLD) 服务器。

然后,递归解析器向 TLD 服务器发送另一个查询,而 TLD 服务器会将查询结果转发给负责所查询特定域的权威 DNS 服务器。递归解析器会遵循这些转发,向每一级权威服务器发送查询,直到收到最终答案 — 与所请求域名关联的 IP 地址。

使用“递归”一词是因为解析器以递归方式遵循从根服务器到权威服务器的引用链,本质上是逐步通过多个 DNS 层次结构,直到获得所需的结果。每次引用都使解析器更接近最终解析,每一步都建立在前一步的基础上。

这种递归解析过程允许 DNS 解析器处理复杂的 DNS 查询并解析域名,即使这些域名不在解析器的缓存中。通过递归查询多个 DNS 服务器,解析器可以获得完成解析所需的信息,并将 IP 地址或其他相关数据返回给发起 DNS 查询的客户端或应用程序。

相关内容