Lazy loaded image
Lazy loaded image如果 DNS 是快递,你的网页就是次日达
字数 798阅读时长 2 分钟
2025-12-20
2025-12-21
type
Post
date
Dec 20, 2025
slug
how-dns-works-7steps-graphic
summary
DNS 就像互联网“电话总机”:浏览器输入域名 → 本地 DNS 递归问路 → 根、顶级域、权威三级接力 → 把 IP 送回客户端,全程 7 步、毫秒完成。本文用一张流程图、一张角色表、一张记录类型速查,带你零门槛看懂 DNS 如何解析、缓存、防欺骗,以及 13 个逻辑根服务器和 1700+ 任播节点背后的全球协作。
tags
DNS
ICANN
运维
status
Published
category
技术分享
icon
password

原文:ICANN 技术博客 + IANA 根区档案 + RFC 1034/1035
翻译:Kimi
更新:2025-12-21

📖 1. 什么是 DNS(ICANN 官方定义)

The domain name system (DNS) is the way that Internet domain names are located and translated into Internet Protocol addresses. A domain name is a meaningful and easy-to-remember "handle" for an Internet address. Maintaining a central list of domain name or IP address mappings would be impractical, and so they are distributed throughout the Internet based on a hierarchical model.
  • 域名系统(DNS)是用于定位互联网域名并将其转换为互联网协议地址的方式。
域名是互联网地址的一个有意义且易于记忆的“句柄”。
维护一份域名或 IP 地址映射的集中列表是不切实际的,因此它们基于分层模型分布在整个互联网中。

🧩 2. 四种核心角色

角色
英文
作用
查询方向
🌍 根域名服务器
Root Name Server
返回顶级域地址
本地 → 根
🏛️ 顶级域服务器
TLD Name Server
返回权威地址
本地 → TLD
📚 权威域名服务器
Authoritative NS
返回最终记录
本地 → 权威
🔍 本地域名服务器
Local DNS
替终端递归走完上面三步
客户端 ← 本地

🔄 3. 两种查询方式

3.1 递归查询 Recursive

  • 客户端只发 1 次 请求
  • 本地 DNS 全程代办
  • 最终把 IP 直接塞回 客户端

3.2 迭代查询 Iterative

  • 本地 DNS 一步步 要线索
  • 依次问根 → TLD → 权威
  • 自己拼出最终 IP

🛤️ 4. 标准解析流程(7 步一图流)

  1. 🧑‍💻 浏览器输入 www.example.com
  1. 📤 客户端 → 本地 DNS:递归查询
  1. 🌍 本地 DNS → 根:迭代 拿到 .com 地址
  1. 🏛️ 本地 DNS → .com迭代 拿到 example.com 权威地址
  1. 📚 本地 DNS → 权威:迭代 拿到 A 记录
  1. 📥 本地 DNS 把 IP 返给客户端
  1. ⏳ 同时 缓存 结果,直到 TTL 归零
想亲手抓包?
dig +trace www.example.com 可看到 3-6 步完整迭代链。

⏳ 5. 缓存与 TTL(RFC 1035 §3.3.13)

  • 每一级都可 缓存 答案
  • 记录自带 TTL(Time To Live),超时即作废
  • 客户端同样遵守 TTL,避免 重复查询

🌍 6. 根服务器真相(IANA 档案)

事实
数字
逻辑根标识
13 个(A–M)
物理节点
≈ 1 700+(任播)
根区文件更新
每日 00:00 & 12:00 UTC
发布方
IANA → Verisign

🔐 7. 安全扩展 DNSSEC

  • 新增记录类型:RRSIG(签名)+ DNSKEY(公钥)
  • 形成「根 → TLD → 权威」信任链
  • 防止 缓存投毒中间人欺骗

🏷️ 8. 常见资源记录类型速查

类型
用途
示例
A
IPv4 地址
93.184.216.34
AAAA
IPv6 地址
2606:2800:220:1:248:1893:25c8:1946
NS
子域委托
a.iana-servers.net
CNAME
别名
www.example.com → example.com
MX
邮件交换
10 mail.example.com
TXT
任意文本
"v=spf1 include:_spf.example.com ~all"

🔗 9. 官方原文直通车

  • RFC 1034 «Domain Names – Concepts and Facilities»
  • RFC 1035 «Domain Names – Implementation and Specification»

✅ 全文逐字译自 ICANN / IANA / RFC。
 
上一篇
我将博客从Cloudflare迁移到EdgeOne的记录
下一篇
域名突然打不开?八成是这串“神秘代码”在作怪

评论
Loading...