跳到主要内容
约 4 分钟4 张卡

DNS

DNS 是分层、分布式的名称查询系统。本文负责资源记录、解析流程和缓存失效。

1. 面试核心​

先记住这几条,再读正文
  • 记录类型。 A 和 AAAA 分别提供 IPv4 和 IPv6 地址,CNAME 指向别名目标。
  • 解析过程。 递归解析器利用缓存和逐级委派获取完整答案。卡 · 面试核心
  • 缓存与切流。 TTL 限制记录的缓存时间,已有连接仍可使用旧地址。
  • 负缓存。 NXDOMAIN 表示名称不存在,NODATA 表示缺少所查类型的记录。卡 · 负缓存
  • 传输协议。 DNS 同时支持 UDP 和 TCP,截断响应可触发 TCP 重查。卡 · DNS 传输

2. 资源记录​

类型含义
A / AAAA名称对应的 IPv4 / IPv6 地址。
CNAME名称的别名目标,解析器继续查询目标记录。
NS区域的权威服务器。
MX邮件服务器及其优先级。
SOA区域管理信息,包括负缓存所需参数。

CNAME 的目标是名称。解析器要继续取得目标的 A 或 AAAA 记录。别名和目标记录各有自己的 TTL。

3. 递归与迭代查询​

应用调用系统解析接口。系统按自身配置检查 hosts 或本地缓存。需要查询 DNS 时,客户端向递归解析器请求完整答案。

递归解析器优先使用有效缓存。缓存未命中时,它沿委派关系查询:

客户端 → 递归解析器
→ 根:返回顶级域的委派
→ 顶级域:返回目标区域的委派
→ 权威服务器:返回记录或别名

递归查询要求对方代为完成解析。迭代查询允许对方返回下一步的服务器。根和顶级域的委派也能缓存,因此查询可跳过这些步骤。

4. 缓存与服务切换​

假设旧地址的 TTL 为 300 秒。权威端改成新地址后,缓存仍能在剩余时间内返回旧值。提前降低 TTL,需要等待旧 TTL 先过期。

DNS 更新后,连接池仍可复用旧连接。因此切流还要处理连接寿命和旧实例排空。新旧端点需要保留一段重叠服务时间。

5. 负缓存​

NXDOMAIN 表示查询名称不存在。NODATA 表示名称存在,但没有请求的记录类型。两者都可以进入负缓存。

RFC 2308 用 SOA 的 TTL 与 MINIMUM 的较小值控制负缓存时长。解析器还可施加本地上限。新增记录后,客户端仍需等已有负缓存失效。

例如名称已有 A,却没有 AAAA。AAAA 查询的 NODATA 不应被解释成整个名称不存在。

6. DNS 传输​

传统 DNS 在 UDP 和 TCP 上都使用 53 端口。UDP 响应设置 TC 位时,客户端可改用 TCP 取得完整答案。完整 DNS 实现需要支持 TCP。

未使用 EDNS 时,UDP DNS 消息限制为 512 字节。EDNS 可声明更大的 UDP 接收能力。超过 512 字节并非一律改用 TCP。AXFR 区域传送使用 TCP。

7. 使用边界​

DNSSEC 验证签名数据的来源与完整性。DoT 和 DoH 加密客户端到解析服务的传输。记录验证与通道加密各有用途。

解析成功只完成地址发现。后续还要经过建连、TLS 和 HTTP 处理。

8 · 面试题卡片​

本页题目与参考回答

8.1 访问域名时 DNS 如何解析,修改记录后为什么可能仍访问旧地址?​

考察重点:递归解析、权威委派和缓存 TTL 对地址变更的影响。

相关内容:面试核心、递归与迭代查询、使用边界。

参考回答

递归解析器利用缓存和逐级委派取得地址。

缓存有效时直接返回;失效后再查询权威体系。旧记录可在剩余 TTL 内继续使用。连接池复用旧连接也会延长切流时间。因此需要提前调整 TTL,并安排旧实例排空。

8.2 新增域名后仍收到 NXDOMAIN,应检查什么?​

考察重点:负缓存类型、SOA 参数和缓存层次。

相关内容:负缓存。

参考回答

应检查客户端和递归解析器中的负缓存。

权威端已有记录时,旧 NXDOMAIN 仍可留到负缓存到期。负缓存时长取 SOA TTL 与 MINIMUM 的较小值。还要区分名称不存在和某种记录缺失。

8.3 DNS 什么时候使用 TCP,超过 512 字节就必须切换吗?​

考察重点:TC 位、EDNS 与 TCP 支持。

相关内容:DNS 传输。

参考回答

截断响应可触发 TCP 重查,AXFR 也使用 TCP。

512 字节是未使用 EDNS 的 UDP 消息限制。启用 EDNS 后,可协商更大的 UDP 接收能力。判断重查时应结合 TC 位和网络可达性。

8.4 DNSSEC 与 DoH、DoT 分别提供什么保护?​

考察重点:记录验证与传输加密的边界。

相关内容:使用边界。

参考回答

DNSSEC 验证签名记录的来源和完整性。

DoH、DoT 加密到解析服务的传输。加密通道仍需信任解析服务提供的答案。记录签名与通道加密解决不同问题。

9. 参考资料​