计网八股--DNS的域名解析过程?

发布时间:2026/8/3 3:21:27
计网八股--DNS的域名解析过程? 深入浅出DNS 域名解析全过程 —— 从输入网址到打开网页每次在浏览器输入网址按下回车背后都有一场精密的全球寻址接力赛。DNS 就是那张让人类记住名字、机器识得数字的全球电话簿。目录一、什么是 DNS二、域名空间结构三、DNS 解析完整过程四、DNS 缓存机制五、常见 DNS 记录类型六、常见问题与排查七、总结一、什么是 DNS1.1 为什么需要 DNS计算机之间通信靠的是IP 地址如223.5.5.5但人类根本记不住一串串数字。于是DNSDomain Name System域名系统登场了。记忆对象例子谁能记住域名www.baidu.com人类 ✅IP 地址110.242.68.66计算机 ✅核心观点DNS 就像手机的通讯录—— 你记名字域名它负责翻译成号码IP拨号的事情交给系统。1.2 DNS 的三个核心功能功能说明类比域名解析域名 → IP 查电话簿域名反向解析IP → 域名 倒查电话簿负载均衡一个域名映射多个 IP 客服分线二、域名空间结构2.1 树形分层的域名体系域名不是一坨字符串而是分层的树形结构从右往左逐级递进。根域 (.) └── 顶级域 .com / .cn / .org └── 二级域 baidu.com / google.com └── 三级域 www.baidu.com / blog.csdn.net以www.example.com为例从右往左层级部分含义根域.域名树的根全球共 13 组根服务器顶级域TLD.com商业机构、国家代码等二级域example组织自己注册的名称主机名www具体的服务器主机记住域名解析顺序是从右往左逐级查询先找根再找顶级再找二级最后定位到主机。三、DNS 解析完整过程3.1 递归查询 vs 迭代查询DNS 查询分两种角色配合完成查询类型谁是办事人特点递归查询客户端 → 本地 DNS 服务器只管要结果查不到层层转交迭代查询本地 DNS → 各级服务器被问者只回复该问谁逐级指路3.2 一次完整的解析流程访问 www.example.com浏览器你 本地DNS 根服务器 .com服务器 example服务器 │ ① 浏览器缓存查没有 │ │ │ │ │───────────────────▶ │ │ │ │ │ ② 系统/路由器缓存查没有 │ │ │ │ │───────────────────▶ │ │ │ │ │ ③ 递归查询 │ │ │ │ │───────────────────────────▶ │ ④ 迭代根服务器在哪 │ │ │ │ │──────────────────────▶ │ │ │ │ │ ⑤ 去问 .com 顶级域 │ │ │ │ │◀────────────────────── │ │ │ │ │──────────────────────▶ │ │ │ │ │ ⑥ 去问 example 权威 │ │ │ │ │◀────────────────────── │ │ │ │ │──────────────────────▶ │ │ │ │ │ ⑦ 返回 IP 并缓存 │ │ │ │◀─────────────────────────── │ │ │ │ │ ⑧ 浏览器拿到 IP建立连接发起请求 │ │ │步骤查询方被查询方结果①②浏览器/系统各级缓存未命中继续③浏览器本地 DNS递归委托本地 DNS 全权处理④本地 DNS根服务器告诉你 .com 服务器地址⑤本地 DNS.com 服务器告诉你 example 权威服务器⑥本地 DNSexample 权威服务器返回www的 IP⑦⑧本地 DNS浏览器缓存 返回 IP发起连接核心观点浏览器只做一次递归请求真正的跑腿全是本地 DNS 干的本地 DNS 与根/顶级/权威服务器之间是逐级指路的迭代查询。四、DNS 缓存机制4.1 五级缓存层层拦截每一次查询结果都会被各级留底下次直接命中不用再跑一次全球层级缓存位置命中速度说明①浏览器缓存最快你访问过的域名②操作系统缓存快系统级 hosts 文件等③路由器缓存中家用路由器的 DNS 记录④本地 DNS 缓存中ISP / 公共 DNS如 114.114.114.114⑤根 / 顶级服务器缓存慢最底层兜底4.2 TTL缓存的保质期每条 DNS 记录都带一个TTLTime To Live控制缓存存活时间www.example.com A 93.184.216.34 TTL300 └── 300 秒后过期需重新查询TTL效果适用大如 3600s查询快但改动生效慢稳定的域名小如 60s生效快但查询频繁频繁变动的服务⚠️ 常见坑改了 DNS 记录却不生效多半是旧缓存没过期—— 要么等 TTL要么清浏览器/系统缓存。五、常见 DNS 记录类型类型全称作用示例值AAddress域名 → IPv41.2.3.4AAAAAddress v6域名 → IPv6::1CNAMECanonical Name别名 → 另一个域名www → example.comMXMail Exchange邮件服务器10 mail.example.comNSName Server指定权威 DNS 服务器ns1.example.comTXTText任意文本验证、SPF 等vspf1 ...常见套路CNAME是转交A是直达。CDN 加速常靠CNAME把流量引向最近的节点。六、常见问题与排查6.1 高频故障与解决现象可能原因解决域名解析失败本地 DNS 挂了换公共 DNS114.114.114.114/8.8.8.8改记录不生效缓存未过期等 TTL / 清缓存 /ipconfig /flushdns能上微信不能开网页DNS 污染或劫持改用 HTTPS DNS / 加密 DNS时好时坏多个 IP 有故障节点检查负载均衡配置6.2 排查工具# Windows 下查看 / 刷新 DNS 缓存ipconfig /displaydns# 查看缓存ipconfig /flushdns# 清空缓存# nslookup交互式查询Windows / Linux 通用nslookupwww.example.comnslookupwww.example.com8.8.8.8# 指定 DNS 服务器查询# dig更详细的查询Linux / macOSdigwww.example.comdig8.8.8.8 www.example.com trace# 查看完整迭代路径工具平台亮点nslookup全平台简单快查digLinux/macOS支持trace追踪逐级解析七、总结7.1 核心要点DNS是域名与 IP 之间的翻译官全球树形分布式数据库域名层级根域 → 顶级域 → 二级域 → 主机名解析从右往左两种查询客户端递归、服务器迭代配合完成全流程五级缓存 TTL决定查询快慢与改动生效快慢常见记录A直达、CNAME转交、MX邮件、NS权威7.2 最后的话核心观点一次网页访问背后是 13 组根服务器 无数层级服务器共同完成的接力寻址。理解了解析流程与缓存排障与调优就都有了方向。记住排障三板斧nslookup、ipconfig /flushdns、换公共 DNS面试常考递归 vs 迭代、查询顺序、TTL 作用必背进阶方向DoH/DoT 加密 DNS、DNSSEC 安全扩展、HTTPDNS 移动端优化参考资料《计算机网络第7版》谢希仁 —— DNS 章节RFC 1034 / 1035 —— DNS 协议规范IANA 根区数据库 —— 根服务器与 TLD 权威数据标签计算机网络, DNS, 域名解析, 递归查询, 迭代查询, 排查工具