DNS 解析是如何工作的

发布: (2026年1月31日 GMT+8 15:33)
6 分钟阅读
原文: Dev.to

Source: Dev.to

《DNS 解析是如何工作的》封面图

Souvik Guha Roy

在本博客中,我们将覆盖

  • 什么是 DNS 以及为什么会有名称解析
  • dig 命令是什么以及何时使用
  • 理解 dig . NS 与根名称服务器
  • 理解 dig com NS 与顶级域(TLD)名称服务器
  • 理解 dig twitter.com NS 与权威名称服务器
  • 理解 dig twitter.com 与完整的 DNS 解析流程

什么是 DNS(Domain Name System)?

DNS 代表 Domain Name System
它的主要工作是将人类友好的域名(例如:

www.example.com

)转换为计算机友好的 IP 地址(例如:

192.168.1.1

)。

可以把 DNS 看作是 互联网的电话簿——人们记住名字,计算机使用数字进行通信。DNS 弥合了这两者之间的差距。

为什么需要名称解析?

  • 人们可以轻松记住像 twitter.com 这样的名称。
  • 计算机理解像 192.8.1.1 这样的数字。

所以,DNS 充当 人类与机器之间的翻译器,让我们能够使用名称而不是记住 IP 地址来访问网站。

什么是 dig 命令?

dig 代表 Domain Information Groper
它是一个命令行工具,用于从 DNS 服务器检索信息。网络管理员和工程师通常使用 dig 来:

  • 执行 DNS 查询
  • 验证 DNS 配置
  • 排查 DNS 问题

何时使用 dig

  • 调试 DNS 解析问题
  • 检查哪个 DNS 服务器对某个域名具有权威性
  • 验证 DNS 记录,例如 AAAAACNAMEMX

基本语法

dig [server] [domain] [record_type]

示例

dig twitter.com A

DNS 解析工作原理(逐步说明)

让我们了解在浏览器中输入以下内容时实际发生了什么:

www.twitter.com

1. 根名称服务器

根名称服务器是 DNS 层级结构的起点

  • 共有 13 台逻辑根服务器(命名为 A 到 M)。
  • 每台逻辑服务器在全球有许多物理实例。
  • 根服务器 知道单个网站的 IP 地址;它们会将解析器指向处理相应顶级域(例如 “.com”)的服务器。

检查根名称服务器

dig . NS

该命令返回根名称服务器的列表。

根名称服务器列表

2. 顶级域(TLD)名称服务器

顶级域(TLD) 是域名的最后一部分,例如:

  • .com
  • .net
  • .org
  • .in

TLD 服务器同样 不返回 IP 地址;它们指向该特定域的 权威名称服务器

检查 .com 的 TLD 名称服务器

dig com NS

该命令返回负责所有 .com 域的权威名称服务器。

.com 顶级域名称服务器

此时,解析器已经 明确下一步该去哪里

3. 权威名称服务器

权威名称服务器保存 域名的实际 DNS 记录

运行:

dig twitter.com NS

会返回对 twitter.com 具有权威性的名称服务器列表。

twitter.com 的权威名称服务器

这些服务器包含的记录包括:

  • A(IPv4 地址)
  • AAAA(IPv6 地址)
  • CNAME(规范名称)
  • MX(邮件交换)

获取实际的 IP 地址

dig twitter.com A

twitter.com 最终 A 记录查询结果

该命令最终返回 twitter.com 的 IP 地址,完成 DNS 解析过程。

示例 IP 地址

172.66.0.227

现在浏览器知道该连接到哪里,并能够加载 Twitter 网站。

完整的 DNS 解析流程(摘要)

DNS resolution flow diagram

  1. 你在浏览器中输入 www.twitter.com
  2. 浏览器向 递归 DNS 解析器 发起请求。
  3. 解析器查询 根名称服务器
    • 根服务器的回应是:“去查询 .com 顶级域(TLD)服务器。”
  4. 解析器查询 顶级域(TLD)名称服务器
    • TLD 服务器的回应是:“这里是 twitter.com 的权威服务器。”
  5. 解析器查询 权威名称服务器
    • 这些服务器返回实际的 IP 地址。
  6. 浏览器连接到该 IP 并加载网站。

Final Notes

  • 根服务器 → 知道 TLD 所在位置
  • TLD 服务器 → 知道 哪些服务器是权威的
  • 权威服务器 → 知道 实际的 IP 地址
  • 递归 DNS 服务器客户端 执行整个查询 on behalf of the client

Image Credits:
https://www.indusface.com/learning/what-is-dns/

Back to Blog

相关文章

阅读更多 »