DNS 解析的作用就是将主机名转换为 IP 地址,那么 DNS 解析过程是怎么样的,DNS 服务器又是如何快速响应全球用户的请求的呢?
DNS 解析原理
在解释 DNS 解析原理前首先需要知道的是,DNS 服务器只是一种统称,实际上 DNS 服务器的不同类型负责完全不同的功能,这对于后续理解整个原理具有非常关键的作用。下面根据 DNS 服务器功能不同主要分为 4 种类型:
根域名服务器:根域名服务器负责维护顶级域名(如
.com
,.net
,.org
等)对应的 TLD 域名服务器地址,即当客户端向其发送 DNS 解析请求时,根域名服务器会返回其顶级域名对应的 TLD 域名服务器地址。目前全球的根域名服务器的任播(Anycast)地址共有 13 个TLD 域名服务器(顶级域名服务器):不同顶级域名由不同的托管商负责,在根域名服务器响应了 TLD 域名服务器后的域名后,用户可以在 TLD 域名服务器获取到定向到权威服务器的信息,比如返回
zzcoder.cn
所在的权威服务器域名权威服务器:权威服务器维护了特定顶级域名下的所有子域名(比如
zzcoder.cn
)的 DNS 记录。比如用户在域名注册商(如DNSPod
)下注册zzcoder.cn
实际上就是在权威服务器添加各类 DNS 记录(A 记录,CNAME 记录等等)递归解析器:递归解析器也称为 DNS 解析器。递归解析器作为客户端与 DNS 域名服务器的中间人,是面向客户端最近的一站,它负责接收客户端的 DNS 查询,并分别向根域名服务器,TLD 域名服务器,权威服务器发送解析请求,然后将最终的响应返回给客户端。常见的公开的 DNS 解析器有 Google 的 8.8.8.8, Cloudflare 的 1.1.1.1
每个递归解析器都会内置 DNS 根域名服务器的 13 个 任播地址