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 步一图流)
- 🧑💻 浏览器输入
www.example.com
- 📤 客户端 → 本地 DNS:递归查询
- 🌍 本地 DNS → 根:迭代 拿到
.com地址
- 🏛️ 本地 DNS →
.com:迭代 拿到example.com权威地址
- 📚 本地 DNS → 权威:迭代 拿到
A记录
- 📥 本地 DNS 把 IP 返给客户端
- ⏳ 同时 缓存 结果,直到 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。
- 作者:NanKoYo
- 链接:https://blog.nakeu.cn/technology/how-dns-works-7steps-graphic
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
如果 DNS 是快递,你的网页就是次日达
