DNS 服务器根据域名的层级,进行分级查询。需要明确的是,每一级域名都有自己的 NS 记录,NS 记录指向该级域名的域名服务器。这些服务器知道下一级域名的各种记录。所谓"分级查询",就是从根域名开始,依次查询每一级域名的 NS 记录,直到查到最终的 IP 地址,过程大致如下。
从"根域名服务器"查到"顶级域名服务器"的 NS 记录和 A 记录(IP地址)
从"顶级域名服务器"查到"次级域名服务器"的 NS 记录和 A 记录(IP地址)
从"次级域名服务器"查出"主机名"的 IP 地址
仔细看上面的过程,你可能发现了,没有提到 DNS 服务器怎么知道"根域名服务器"的IP地址。
回答是"根域名服务器"的 NS 记录和 IP 地址一般是不会变化的,所以内置在 DNS 服务器里面。
下面是内置的根域名服务器 IP 地址的一个例子。
上面列表中,列出了根域名(.root)的三条 NS 记录 A.ROOT-SERVERS.NET、B.ROOT-SERVERS.NET和C.ROOT-SERVERS.NET,以及它们的 IP 地址(即 A 记录)198.41.0.4、192.228.79.201、192.33.4.12。
另外,可以看到所有记录的 TTL 值是 3600000 秒,相当于 1000 小时。也就是说,每 1000 小时才查询一次根域名服务器的列表。
目前,世界上一共有十三组根域名服务器,从 A.ROOT-SERVERS.NET 一直到 M.ROOT-SERVERS.NET。