DNS 解析全流程

DNS 在项目里最常以"问题"的形式出现:

  • 域名突然解析到旧 IP,变更半天不生效
  • 同一个域名,你本机能访问,同事/线上机器访问不了
  • DNS 被污染/劫持,解析到奇怪的地址
  • ping 域名 失败,但 ping IP 又能通

这篇我用"知识分享 + 可验证"的方式讲清楚:

  • DNS 这条链路到底怎么走
  • 缓存/TTL 为什么会让变更延迟
  • 出问题时你怎么用命令把证据抓出来

目录(按排查顺序)

    1. DNS 到底解决什么问题
    1. 递归 vs 迭代:谁在替你跑腿
    1. 解析全链路:www.example.com 到底经历了哪些节点
    1. 缓存与 TTL:为什么变更不会立刻生效
    1. 实战:常用命令与排障闭环
    1. 最后总结

1. DNS 到底解决什么问题

  • DNS(Domain Name System)负责把 域名 解析为 IP 地址

人类记域名更容易,网络通信最终要靠 IP。


2. 递归查询 vs 迭代查询

面试里你可以这样说:

  • 递归:你问一个"代办",它帮你查到最终答案再回来给你。
  • 迭代:你问一个"指路人",它告诉你下一站去哪,你自己再去问下一站。

典型链路:

  • 你的机器 -> 本地 DNS(递归)
  • 本地 DNS -> 根/顶级/权威 DNS(多为迭代)

3. DNS 解析全链路(按步骤讲)

以访问 www.example.com 为例。

第 1 步:浏览器/系统先查本地缓存

常见缓存位置:

  • 浏览器 DNS 缓存
  • 操作系统 DNS 缓存
  • hosts 文件(最高优先级之一)

如果命中,直接得到 IP。

第 2 步:请求本地 DNS 服务器(递归)

如果本地没有命中,就把域名发给本地 DNS(通常是运营商/公司内网 DNS)。

第 3 步:本地 DNS 开始向外查询(迭代)

本地 DNS 会按层级去问:

  • 问根服务器:.com 的服务器是谁?
  • .com 顶级域名服务器:example.com 的权威服务器是谁?
  • example.com 权威服务器:www.example.com 的 A/AAAA 记录是多少?

最后拿到 IP。

第 4 步:本地 DNS 返回结果并缓存

  • 把 IP 返回给你的机器
  • 同时按照 TTL 缓存

4. 缓存与 TTL:为什么变更不会立刻生效

因为会把根域名打爆。

缓存层级很多:

  • 本机缓存
  • 本地 DNS 缓存
  • 各级 DNS 服务器缓存

这就是为什么:

  • 有时候你改了域名解析,但要等一段时间才生效(TTL)。

5. 实战:常用命令与排障闭环

5.1 TTL 是什么

  • TTL(Time To Live)是 DNS 记录的缓存时间。
  • TTL 越大:解析更快但变更生效慢。
  • TTL 越小:变更更快但查询压力更大。

5.2 DNS 劫持/污染

表现:

  • 访问某域名被解析到错误 IP

应对方向:

  • 使用可信 DNS(如公司内网 DNS、公共 DNS)
  • HTTPS 能降低劫持造成的内容篡改风险(但 DNS 本身仍可能被影响)

5.3 快速排障命令(Windows)

  • nslookup 域名
  • ping 域名
  • tracert 域名(Windows)

如果你怀疑是"本机缓存导致解析不一致",可以:

bash 复制代码
ipconfig /displaydns
ipconfig /flushdns

核心思路(尽量按这个顺序缩小范围):

  • 先确认"域名能不能解析到 IP"
  • 再确认"IP 能不能通"
  • 再确认"端口服务是否可用"

6. 最后总结

6.1 你可以这样总结(写在脑子里的版本)

DNS 的作用是把域名解析成 IP。解析时客户端会先查浏览器/系统/hosts 等本地缓存,未命中则请求本地 DNS 服务器做递归查询。本地 DNS 通常通过迭代方式依次询问根服务器、顶级域名服务器和权威服务器,最终拿到域名的 A/AAAA 记录并按 TTL 缓存,返回给客户端。TTL 决定缓存时间,也解释了为什么解析变更不会立刻全网生效。

相关推荐
the sun343 小时前
计算机网络:数据链路层协议(2)
网络·网络协议·计算机网络
Striver-Diligent14 小时前
GenNP: 一种低门槛且功能强大的网络性能数据生成器
网络·计算机网络·并行·网络仿真·网络性能估计·离散事件仿真
一直都在57218 小时前
计算机网络面经
计算机网络
Wasim40419 小时前
QAM 调制原理流程
计算机网络·星座图·qam·通信原理·信号调制
尘世壹俗人20 小时前
知识点1--计算机网络基础
计算机网络·智能路由器
自在极意功。1 天前
TCP三次握手与四次挥手
网络·网络协议·tcp/ip·计算机网络·三次握手·四次挥手
the sun341 天前
计算机网络:数据链路层协议
网络·网络协议·计算机网络
小涛不学习1 天前
计算机网络核心知识总结(面试 + 基础原理全解析)
计算机网络·面试·职场和发展
小糖学代码1 天前
计算机网络理论:1.概述
网络·计算机网络·智能路由器