Skip to content

DNS 解析

域名层级、递归与迭代、缓存、常见问题。

Updated View as Markdown
For humans

DNS 解析

DNS 把域名翻译成 IP,是互联网的通讯录。面试主线:域名结构、解析流程、缓存、故障排查。

域名层级

www.example.com.
│   │    │    └─ 根(.)
│   │    └────── 顶级域(com)
│   └─────────── 二级域(example)
└──────────────── 主机名(www)
  • 层级从右到左:根 → TLD → 权威域
  • 每层有对应服务器:根服务器(13 组)、TLD 服务器、权威 DNS(域名所有者配置)

解析流程

解析: 本地缓存 → 递归 → 逐级迭代

  • 递归查询:本地 DNS 替客户端跑完整个查询
  • 迭代查询:本地 DNS 逐级问(根 → TLD → 权威),每级只指路
  • 权威 DNS 返回的 IP 会逐级缓存(TTL 控制)

缓存与 TTL

层级 缓存 影响
浏览器 本机
操作系统 本机
本地 DNS 按 TTL 区域用户
权威 无(源) 变更源头
  • TTL 决定变更生效速度:改 DNS 记录后要等旧 TTL 过期(改 IP 前先降 TTL 是标准操作)
  • DNS 缓存污染:缓存了错误记录(劫持/配置错),排查“改了 DNS 不生效”先清缓存

常见问题

现象 排查
域名解析慢 dig/nslookup 看耗时,换本地 DNS
改了记录不生效 等 TTL 或清缓存
解析到错误 IP 缓存污染、被劫持(换 DNS over HTTPS)
域名被墙 检测 + 换解析(国内网络话题,面试少考)

面试追问

  1. 递归和迭代查询? 递归是本地 DNS 全包(对客户端只问一次),迭代是逐级问(每级只指路)
  2. DNS 为什么有缓存? 根/TLD 查询昂贵,缓存按 TTL 加速。代价是变更生效延迟
  3. 改 DNS 多久生效? 取决于旧记录 TTL(几分钟到几天)。先降 TTL 再改是标准流程
  4. DNS 污染是什么? 缓存了错误解析(配置错/攻击)。清缓存、用加密 DNS(DoH)
  5. CDN 怎么用 DNS? 权威 DNS 按用户位置返回最近节点 IP(智能解析)。见 CDN 篇
Navigation

Type to search…

↑↓ navigate↵ selectEsc close