-
发布时间:
浏览次数:次
-
作者:时代互联
域名系统(DNS,Domain Name System)是互联网的「电话本」,负责把人类可读的域名翻译成机器通信所需的 IP 地址。理解 DNS 解析的完整流程与缓存机制,是站长排查「改了记录不生效」「网站无法访问」等问题的关键。本文从 DNS 的分层架构出发,梳理一次完整解析的流程、常见记录类型,以及 TTL 缓存机制对解析生效时间的影响。
一、DNS 的四层架构
DNS 采用分层的分布式架构,一次查询通常涉及四类服务器:
- 递归解析器(Recursive Resolver):查询的起点,由运营商或公共 DNS(8.8.8.8、1.1.1.1 等)提供
- 根服务器(Root Server):全球 13 组集群(每组含多台冗余服务器),负责指引查询到对应顶级域
- 顶级域服务器(TLD Server):管理 .com、.cn、.net 等顶级域,返回域名的权威服务器地址
- 权威服务器(Authoritative Server):存储域名实际的解析记录,给出最终答案
二、一次完整的解析流程
从用户在浏览器输入域名到获得 IP,大致经历以下步骤:
- 本地缓存检查:操作系统与浏览器优先查询本地缓存
- 请求递归解析器:本地无缓存时,将请求交给递归解析器
- 递归解析器查询根服务器:获取对应顶级域的服务器地址
- 查询顶级域服务器:获取该域名的权威服务器地址
- 查询权威服务器:获取域名对应的 IP 记录
- 返回结果并缓存:各级服务器按 TTL 缓存结果,后续请求直接命中
一次从零开始的完整查询通常在几十毫秒内完成;命中缓存时可在 1 毫秒内返回。查询分为递归查询(客户端到递归解析器)与迭代查询(递归解析器到根、顶级域、权威服务器)两种模式。
三、常见记录类型
A 记录:将域名指向 IPv4 地址
AAAA 记录:将域名指向 IPv6 地址
CNAME 记录:将域名指向另一个域名(别名)
MX 记录:指定负责接收邮件的服务器
TXT 记录:存储文本信息,用于 SPF、域名所有权验证等
NS 记录:指定该域的权威域名服务器四、TTL 缓存机制与解析生效时间
每条 DNS 记录都带有一个 TTL(Time To Live,存活时间),以秒为单位,决定各级服务器缓存该记录的时长。
修改解析记录后,全球各地的递归解析器仍持有旧值,会持续返回旧结果,直到各自的 TTL 到期才重新查询权威服务器。因此,所谓「DNS 传播」并不存在,更新并非被主动推送,而是「旧缓存逐步过期」的过程。
实操建议:在计划迁移服务器前,提前 24 小时将 TTL 降至 300 秒(5 分钟),待旧缓存过期后再切换,即可使新记录在几分钟内生效。切换稳定后,再将 TTL 调回较长值以降低查询负载。
五、常见误区
误区一:CNAME 可用于根域名。
根域名(如 now.cn)只能使用 A 记录,CNAME 仅可用于子域名(如 http://www.now.cn),这是 DNS 标准的规定。
误区二:修改记录需等待 48 小时。
生效时间由旧 TTL 决定。若原 TTL 为 5 分钟,则几分钟内即可生效;仅当 TTL 设为一天时,才可能需等待较长时间。
理解 DNS 解析的分层流程与 TTL 缓存机制,有助于快速定位「改了不生效」「部分区域无法访问」等问题。对于域名持有人而言,合理设置 TTL、在迁移前提前降低 TTL,是保障网站平稳切换的基础。
相关服务:
域名注册(https://www.now.cn/domain/):注册与管理域名,配置解析记录
云虚拟主机(https://www.now.cn/vhost/):域名解析后配套建站托管
云服务器(https://www.now.cn/fcloud/highcloud.php):部署业务源站,配合域名解析上线
搜索








微博
微信