DNS 简单解释:互联网的电话簿

· 12分钟阅读

目录

每次您在浏览器中输入网站地址时,一个名为 DNS 的系统会悄悄地将这个人类可读的名称转换为计算机友好的 IP 地址。如果没有 DNS,您将不得不记住像 142.250.80.46 这样的数字,而不是简单地输入"google.com"。

本指南用简单、非技术性的语言解释 DNS,让任何人都能理解它的工作原理、为什么重要以及如何解决常见问题。

🔍 亲自尝试:使用我们的免费 DNS 查询工具立即查看 DNS 的实际运作。

什么是 DNS?

DNS 代表域名系统。它本质上是互联网的电话簿,但它不是将名称转换为电话号码,而是将域名(如 google.com)转换为计算机用于通信的 IP 地址(如 142.250.80.46)。

这样想:当您想给某人打电话时,您会在联系人中查找他们的名字,而不是记住他们的电话号码。DNS 对网站做同样的事情。

为什么创建 DNS

DNS 由 Paul Mockapetris 于 1983 年发明,用于解决一个日益严重的问题。在互联网(当时称为 ARPANET)的早期,有一个名为 hosts.txt 的单一文本文件,它将每台计算机的名称映射到其 IP 地址。该文件由斯坦福研究所维护,并分发到网络上的每台计算机。

随着互联网的发展,这个系统变得完全无法管理。想象一下,每次有人添加新网站时都要更新一个文件,然后将该文件分发到全球数百万台计算机。DNS 通过创建一个分布式、分层系统解决了这个问题,其中没有单一实体控制所有信息。

DNS 解决的问题

计算机使用 IP 地址进行通信——像 192.168.1.1(IPv4)或 2001:0db8:85a3:0000:0000:8a2e:0370:7334(IPv6)这样的数字标签。这些数字对机器来说精确高效,但对人类来说很难记住。

DNS 通过让我们使用易记的名称来弥合这一差距,而计算机在幕后继续使用它们首选的数字地址。

DNS 如何工作(分步说明)

当您在浏览器中输入"example.com"并按回车键时,一个复杂但极快的过程就开始了。以下是具体发生的事情:

步骤 1:浏览器缓存检查

您的浏览器首先检查其自己的内存,看看它最近是否查找过这个域名。现代浏览器会在短时间内(通常是 60 秒到几分钟)缓存 DNS 结果,以加快重复访问的速度。

如果浏览器找到缓存结果且尚未过期,它会立即使用该 IP 地址。这就是为什么重新访问网站通常比第一次访问更快。

步骤 2:操作系统缓存检查

如果浏览器没有答案,它会询问您的操作系统。Windows、macOS 和 Linux 都在系统级别维护自己的 DNS 缓存。

您可以在 Windows 上使用命令 ipconfig /displaydns 查看操作系统缓存,或使用 ipconfig /flushdns 清除它。

步骤 3:递归解析器查询

如果两个缓存都没有答案,您的计算机会将请求发送到递归解析器。这通常由您的互联网服务提供商(ISP)或公共 DNS 服务(如 Google(8.8.8.8)或 Cloudflare(1.1.1.1))运营。

递归解析器充当中间人。它的工作是代表您查询其他 DNS 服务器来追踪答案。

步骤 4:根名称服务器查询

递归解析器首先询问 13 个根名称服务器之一:"谁处理 .com 域名?"这些根服务器不知道您特定查询的答案,但它们知道哪些服务器负责每个顶级域(TLD),如 .com、.org 或 .net。

根服务器会响应相应 TLD 名称服务器的 IP 地址。

快速事实:实际上并不只有 13 台物理根服务器。通过一种称为任播的技术,这 13 个 IP 地址分布在全球数百台服务器上,以实现冗余和速度。

步骤 5:TLD 名称服务器查询

然后递归解析器联系 TLD 名称服务器(在本例中为 .com 服务器)并询问:"我在哪里可以找到有关 example.com 的信息?"

TLD 服务器会响应 example.com 的权威名称服务器的 IP 地址——拥有最终答案的服务器。

步骤 6:权威名称服务器查询

最后,递归解析器查询 example.com 的权威名称服务器。该服务器拥有实际的 DNS 记录,并响应 IP 地址。

步骤 7:响应和缓存

递归解析器接收 IP 地址,根据 TTL 值将其缓存以供将来请求使用,并将其发送回您的计算机。您的操作系统和浏览器也会缓存此结果。

您的浏览器现在可以连接到该 IP 地址的 Web 服务器并加载网站。整个过程通常不到 100 毫秒。

可视化摘要

以下是完整的 DNS 解析路径:

  1. 浏览器缓存 → 操作系统缓存 → 递归解析器
  2. 递归解析器 → 根服务器 → TLD 服务器 → 权威服务器
  3. 权威服务器 → 递归解析器 → 您的计算机
  4. 浏览器使用 IP 地址连接到网站

DNS 记录类型解释

DNS 不仅仅是将域名转换为 IP 地址。该系统使用各种记录类型存储许多不同类型的信息。每种记录类型都有特定的用途。

常见 DNS 记录类型

记录类型 用途 示例
A 将域名映射到 IPv4 地址 example.com → 93.184.216.34
AAAA 将域名映射到 IPv6 地址 example.com → 2606:2800:220:1:248:1893:25c8:1946
CNAME 创建指向另一个域名的别名 www.example.com → example.com
MX 指定域名的邮件服务器 example.com → mail.example.com(优先级 10)
TXT 存储文本信息(验证、SPF、DKIM) "v=spf1 include:_spf.google.com ~all"
NS 指定权威名称服务器 example.com → ns1.example.com
SOA 包含有关区域的管理信息 主服务器、管理员电子邮件、序列号
PTR 反向 DNS 查找(IP 到域名) 93.184.216.34 → example.com
SRV 指定服务的位置 用于 VoIP、即时消息等

A 记录与 AAAA 记录

A 记录是最基本的 DNS 记录类型。它直接将域名映射到 IPv4 地址。当您访问网站时,您几乎总是使用 A 记录查找。

AAAA 记录(发音为"quad-A")执行相同的操作,但用于 IPv6 地址。随着互联网从 IPv4 过渡到 IPv6,AAAA 记录变得越来越重要。大多数现代网站同时拥有 A 和 AAAA 记录。

CNAME 记录:创建别名

CNAME 记录创建指向另一个域名而不是直接指向 IP 地址的别名。当您希望多个域名指向同一位置时,这很有用。

例如,您可能将 www.example.com 作为指向 example.com 的 CNAME。这样,如果 IP 地址更改,您只需要更新 example.com 的 A 记录。

专业提示:您不能在根域级别(example.com)使用 CNAME 记录。这是 DNS 协议的限制。请改用 A 记录或 ALIAS 记录。

MX 记录:电子邮件路由

MX 记录(邮件交换)告诉电子邮件服务器将邮件发送到您域名的何处。每个 MX 记录都包含一个优先级编号——数字越小优先级越高。

例如,Google Workspace 使用具有不同优先级的多个 MX 记录以实现冗余。如果主邮件服务器宕机,电子邮件会自动路由到备份服务器。

TXT 记录:验证和安全

TXT 记录存储任意文本数据,用途非常广泛。常见用途包括:

DNS 服务器类型

DNS 系统依赖于几种不同类型的服务器,每种服务器在解析过程中都有特定的角色。

1. 递归解析器(DNS 解析器)

这些是您的计算机直接与之通信的服务器。它们被称为"递归",因为它们会递归查询其他 DNS 服务器,直到找到答案。

您的 ISP 通常会自动提供递归解析器,但您可以选择使用公共 DNS 服务:

2. 根名称服务器

有 13 个根名称服务器地址(标记为 A 到 M),它们构成 DNS 层次结构的顶部。这些服务器不知道特定查询的答案,但它们知道将查询定向到哪些 TLD 服务器。

根服务器由包括 Verisign、NASA、马里兰大学和 ICANN 在内的各种组织运营。它们每天处理数十亿次查询。

3. TLD 名称服务器

顶级域服务器负责特定的域名扩展,如 .com、.org、.net 或国家代码,如 .uk 或 .jp。

例如,Verisign 运营 .com 和 .net 域名的 TLD 服务器。这些服务器维护有关哪些权威名称服务器处理每个二级域名的信息。

4. 权威名称服务器

这些服务器拥有最终

We use cookies for analytics. By continuing, you agree to our Privacy Policy.