1687 字
8 分钟

一文看懂DNS:域名解析的全过程与工作原理

2026-05-31
gemini-aiAI 摘要

什么是 DNS?#

DNS(Domain Name System,域名系统)是互联网的核心基础服务之一,可以将其理解为一本全球通用的“电话簿”。它的主要功能是将人类易于记忆的域名(例如 www.aliyun.com)翻译成机器用于通信的 IP 地址(例如 106.11.226.155)。当然也有反向解析的功能,也就是:将 IP 地址翻译成域名。不过通常用在邮件等方面,我们日常建站来说用不到。

总之这样,我们就无需记忆枯燥的数字串了,可以用类似 baidu.commi.comqq.com 等直观的域名来访问互联网服务。

域的层级划分#

域名的结构并非扁平,而是呈树状的层级划分。从上至下主要分为:根域顶级域二级域子域

Loading Mermaid...

根域#

  • DNS 树的最顶端,是所有域名的最终归属。
  • 虽然我们在浏览器输入网址时通常会省略这个点,但完整的格式其实是 www.example.com.
  • 例如,完整的域名 www.aliyun.com. 末尾的 . 即代表根域。

顶级域#

  • 直接位于根域之下,分为两类:
    • 通用顶级域 (gTLD):如 .com.org.net.io 等。
    • 国家及地区顶级域 (ccTLD):如 .cn(中国)、.uk(英国)、.jp(日本)等。
  • aliyun.com 中,.com 就是其顶级域。

二级域#

  • 注册在顶级域之下的名称,就是你能实际买到的域名。
  • 你可能还会见过com.cn这样后缀的域名。实际上你可以理解为cn管理机构自己注册了com.cn然后把com.cn的三级子域开放出来给大家注册购买。但在架构上,com 就是 .cn 顶级域下的一个二级域(所以你也不要想着通过注册 com.cn 来创建新的顶级域了)。

子域#

  • 你作为一个域名所有者,可以为自己的域名创建子域。
  • 例如,www.aliyun.com 中的 www,以及我的 blog.tianhw.top 中的 blog 都是子域。
  • 理论上你可以创建无限个二级域名,如 1.2.3.4.example.com。同理一个二级域名可以解析无限个三级域名,无限套娃。然而在实际操作中,用户解析域名过多会严重影响DNS服务器的性能。所以你能实际添加的子域名数量是受到云服务商限制的
  • 子域可以拥有独立的 NS(域名服务器)记录,从而实现分离管理。当递归解析器在查询中发现子域存在专属的 NS 服务器时,会将查询转向该服务器继续递归。

DNS 服务器#

在 DNS 解析网络中,根据所处位置和功能,服务器主要分为以下五种角色。日常配置中最常接触的是前两种。

角色主要功能典型例子/位置
DNS 转发器接收客户端请求,简单转发给上游递归服务器,自身不具备递归解析能力。通常用于局域网内分发 DNS 配置。家用路由器(如 192.168.1.1
递归 DNS 服务器DNS 系统的核心引擎。接收用户请求后,负责完成从根到权威的完整查询流程(“跑腿”),并将最终结果返回给用户。同时会缓存结果以提升效率。公共DNS服务,如阿里云DNS(223.5.5.5)、腾讯云DNS(119.29.29.29)、114DNS(114.114.114.114
根 DNS 服务器整个DNS查询的起点,负责告知递归服务器去哪里寻找顶级域(TLD)服务器的信息。全球共13个逻辑标识。a.root-servers.netm.root-servers.net
TLD 权威服务器管理特定顶级域(如 .com, .cn)下所有二级域的权威服务器地址。相当于“片区派出所”,知道该找哪位“户籍警”。管理 .com 的服务器知道 aliyun.com 该找谁查询
权威 DNS 服务器持有特定域名(如 aliyun.com)最终、最准确的解析记录(如A, AAAA记录)。是解析流程的“终审法官”。由域名所有者自行配置或托管于云服务商(如阿里云、腾讯云、AWS)

DNS 查询流程#

假设你的电脑连接家用路由器,路由器上游 DNS 为 223.5.5.5。当你在浏览器输入 www.aliyun.com 时,一次完整的 DNS 解析过程如下:

  1. 发起查询:你的设备(假设没有本地缓存)向家里的路由器发送请求解析 www.aliyun.com
  2. 请求转发:路由器直接将请求打包转发给上游的递归 DNS(如阿里云DNS(223.5.5.5)、腾讯云DNS(119.29.29.29)、114DNS(114.114.114.114)。
  3. 查询根域(缓存未命中时):如果递归 DNS 自己没有这条记录的缓存,它就会先去找根 DNS 服务器,询问:“管理 .com 的 TLD 权威服务器在哪里?”
  4. 根域指路:根 DNS 服务器返回 .com 的 TLD 服务器列表,同时贴心地附加上这些服务器的 IP 地址。
  5. 查询 TLD:递归 DNS 拿到地址后,向 .com 的 TLD 权威服务器发起查询:“管理 aliyun.com 的权威服务器在哪里?”
  6. TLD 指路:TLD 权威服务器返回 aliyun.com 的 NS 服务器及其对应 IP。
  7. 查询权威服务器:递归 DNS 终于找到了正主,向 aliyun.com 的权威服务器发问:“www.aliyun.com 的 A 记录是多少?”
  8. 权威答复:权威服务器给出最终答案,返回相应的 A 记录(如 106.11.226.155),并带有一个用于缓存的 TTL。
  9. 返回与缓存:递归 DNS 收到结果后自己缓存一份,然后将这个 IP 地址返回给路由器,最终交回给你的设备。下次访问时,递归 DNS 就会直接从缓存中获取结果,省去一次完整的查询过程。
  10. 建立连接:你的设备使用这个获取到的 IP 地址,成功与阿里云服务器建立了连接。

常见解析记录类型#

DNS 不仅解析IP地址,还承载多种网络服务配置信息。以下是常用的记录类型:

记录类型全称用途说明
AAddress将域名指向一个 IPv4 地址。
AAAAIPv6 Address将域名指向一个 IPv6 地址。
CNAMECanonical Name将一个域名指向另一个域名(别名)。注意:CNAME记录不能与其他记录(如MX, TXT)共存于同一主机名下。
NSName Server指定该域名由哪些权威服务器进行解析。
MXMail Exchange指定处理该域名电子邮件的服务器。搭建企业邮箱必备。
TXTText存储任意文本信息。广泛用于域名所有权验证、SPF(发件人策略框架)、DMARC(域名消息认证)等邮件安全协议。

结尾#

希望能够对DNS有所理解。

一文看懂DNS:域名解析的全过程与工作原理
https://blog.tianhw.top/posts/dns-guide/
作者
THW
发布于
2026-05-31