原文: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. 官方原文直通车
- https://www.icann.org/resources/pages/dns-2012-02-25-en
- https://www.iana.org/domains/root/files
- https://www.root-servers.org/
- RFC 1034 «Domain Names – Concepts and Facilities»
- RFC 1035 «Domain Names – Implementation and Specification»
✅ 全文逐字译自 ICANN / IANA / RFC。
</content>
</document>
原文: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 步一图流)
- 🧑💻 浏览器输入 <code>www.example.com</code>
- 📤 客户端 → 本地 DNS:递归查询
- 🌍 本地 DNS → 根:迭代 拿到 <code>.com</code> 地址
- 🏛️ 本地 DNS → <code>.com</code>:迭代 拿到 <code>example.com</code> 权威地址
- 📚 本地 DNS → 权威:迭代 拿到 <code>A</code> 记录
- 📥 本地 DNS 把 IP 返给客户端
- ⏳ 同时 缓存 结果,直到 TTL 归零
想亲手抓包?
<code>dig +trace www.example.com</code> 可看到 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. 常见资源记录类型速查
| 类型 | 用途 | 示例 |
|---|---|---|
| <code>A</code> | IPv4 地址 | <code>93.184.216.34</code> |
| <code>AAAA</code> | IPv6 地址 | <code>2606:2800:220:1:248:1893:25c8:1946</code> |
| <code>NS</code> | 子域委托 | <code>a.iana-servers.net</code> |
| <code>CNAME</code> | 别名 | <code>www.example.com → example.com</code> |
| <code>MX</code> | 邮件交换 | <code>10 mail.example.com</code> |
| <code>TXT</code> | 任意文本 | <code>"v=spf1 include:_spf.example.com ~all"</code> |
🔗 9. 官方原文直通车
- ICANN 技术博客
- IANA 根区档案
- 根服务器系统官网
- RFC 1034 «Domain Names – Concepts and Facilities»
- RFC 1035 «Domain Names – Implementation and Specification»
✅ 全文逐字译自 ICANN / IANA / RFC。
Comments NOTHING