共计 1808 个字符,预计需要花费 5 分钟才能阅读完成。
递归DNS服务器查询过程
递归DNS服务器(也叫本地DNS解析器)的核心是替客户端完成全部DNS查询工作:客户端只需发送1次请求,就能直接拿到最终的IP地址,
无需自己逐级查询。以下是完整流程(以访问 www.yubbyo.top 为例):
完整查询步骤(从客户端到拿到IP)
1. 客户端发起请求
用户在浏览器输入 www.yubbyo.top ,操作系统先检查本地 hosts 文件和系统DNS缓存。如果没有对应记录,就向系统配置的递归DNS服务器(如运营商DNS、114.114.114.114、8.8.8.8)发送DNS查询请求。
2. 递归DNS查自身缓存
递归DNS先检查自己的缓存:
- 如果有 www.yubbyo.top 的A/AAAA记录且未过期(TTL有效),直接将IP返回给客户端,查询结束。
- 如果缓存无记录或已过期,开始逐级迭代查询(递归DNS对上层服务器用迭代查询)。
3. 查询根域名服务器
递归DNS向全球13组根域名服务器(A-M)发送请求:“请问 www.yubbyo.top 的IP是什么?”
根服务器不存储具体域名记录,但知道所有顶级域(TLD) 服务器的地址,因此返回 .com 顶级域服务器的IP列表。4. 查询顶级域(TLD)服务器
递归DNS向 .com 顶级域服务器发送同样的请求。
.com 服务器也不存储具体二级域名记录,但知道 example.com 的权威DNS服务器地址,因此返回该权威DNS的IP。5. 查询权威DNS服务器
递归DNS向 example.com 的权威DNS服务器发送请求。
权威DNS是域名所有者配置的、存储该域名所有DNS记录(A、CNAME、MX等)的服务器,它会直接返回 www.yubbyo.top 对应的IP地址。6. 返回结果并缓存
递归DNS将拿到的IP地址返回给客户端,同时将该记录存入自己的缓存(缓存时长由权威DNS设置的TTL值决定),供后续相同查询使用。
13台根服务器
a.root-servers.net 198.41.0.4, 2001:503:ba3e::2:30 Verisign, Inc.
b.root-servers.net 170.247.170.2, 2801:1b8:10::b University of Southern California,
Information Sciences Institute
c.root-servers.net 192.33.4.12, 2001:500:2::c Cogent Communications
d.root-servers.net 199.7.91.13, 2001:500:2d::d University of Maryland
e.root-servers.net 192.203.230.10, 2001:500:a8::e NASA (Ames Research Center)
f.root-servers.net 192.5.5.241, 2001:500:2f::f Internet Systems Consortium, Inc.
g.root-servers.net 192.112.36.4, 2001:500:12::d0d US Department of Defense (NIC)
h.root-servers.net 198.97.190.53, 2001:500:1::53 US Army (Research Lab)
i.root-servers.net 192.36.148.17, 2001:7fe::53 Netnod
j.root-servers.net 192.58.128.30, 2001:503:c27::2:30 Verisign, Inc.
k.root-servers.net 193.0.14.129, 2001:7fd::1 RIPE NCC
l.root-servers.net 199.7.83.42, 2001:500:9f::42 ICANN
m.root-servers.net 202.12.27.33, 2001:dc3::35 WIDE Project
NS记录
NS 代表“域名服务器”,域名服务器记录指示哪个 DNS 服务器对该域具有权威性(即,哪个服务器包含实际 DNS 记录)。
基本上,NS 记录告诉互联网可从哪里找到域的 IP 地址。
一个域通常会有多个 NS 记录,这些记录可指示该域的主要和辅助域名服务器。倘若没有正确配置的 NS 记录,
用户将无法加载网站或应用程序