DNS 解析过程
100%

DNS · 第 3 课

DNS 解析过程

了解存根解析器和递归解析器如何利用缓存、转介、粘合记录与权威来回答 DNS 查询。

普通应用程序会询问操作系统的存根解析器;存根解析器先查询本地名称服务策略,再向已配置的解析器发送递归查询。只有在仍然有效的缓存无法回答问题时,递归解析器才会遍历 DNS 层级。

从本地策略和缓存开始

系统解析器可以按照配置的顺序查询 /etc/hosts、DNS 和其他来源。搜索后缀可能把一个短名称转换成多个候选名称。递归解析器随后会先检查正面和否定缓存条目,再决定是否发送上游流量。

为什么递归解析器可能完全不联系任何权威服务器?

查询根服务器

缓存未命中时,递归解析器可以查询根服务器。DNS 根拥有 A 到 M 共 13 个具名服务器标识,并通过任播等弹性部署技术由许多物理实例提供服务。其响应通常会把解析器转介给相关顶级域的权威服务器,而不是直接返回最终主机地址。

对于未缓存的 www.example.com 查询,根服务器通常会返回什么?

跟随顶级域与权威转介

解析器询问 com 权威服务器,后者返回 example.com 受委派的权威名称服务器。如果需要访问名称位于受委派子区域内的服务器,转介中可以包含粘合地址记录。随后,解析器向一台权威服务器查询所请求的记录。

DNS 粘合记录帮助解决什么问题?

跟随别名与记录类型

回答中可能包含需要再次查询名称的 CNAME 别名,也可能包含会引发更多查询的应用专用记录。查询 A 只会返回 IPv4 地址记录及相关链路数据;必须另行查询 AAAA 才能获取 IPv6 地址。最终响应会带有 NOERRORNXDOMAINSERVFAIL 等状态,而这些状态各有不同含义。

NXDOMAIN 表示什么?

验证、缓存与应用程序使用

执行验证的递归解析器可以使用 DNSSEC 签名和信任链,验证经认证的否定回答或记录完整性。DNSSEC 不会加密查询,也无法证明返回地址上的应用程序值得信任。

解析器按照 TTL 规则缓存结果并将其返回给存根解析器。应用程序随后选择一个地址,并尝试自己的网络协议与安全协议。

DNSSEC 验证不提供什么?

课程已完成

你已完成 DNS 解析过程

现在,你可以追踪一次递归 DNS 查询从本地策略到缓存最终响应的全过程。

  • 先检查本地来源和解析器缓存。

  • 跟随根与顶级域的转介。

  • 使用粘合记录访问适当的受委派服务器。

  • 区分别名、无数据回答和名称不存在。

  • 将 DNSSEC 完整性与传输机密性区分开来。

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
下一节
返回 DNS