DNS 根服务器

DNS 根服务器是 DNS 查找的第一站。

学习目标

阅读本文后,您将能够:

  • 定义 DNS 根服务器
  • 了解 13 个根服务器网络在全球的分布情况
  • 概述解析器与根服务器通信的方式

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

所有 Cloudflare 计划中均包含免费 DNS

什么是 DNS 根服务器?

域名系统 (DNS) 的管理通过使用不同的受管理分区或“区域”的层次结构构造,其根区域位于该层次结构的最顶部。根服务器是在根区域中运行的 DNS 域名服务器。这些服务器可以直接回答针对根区域内存储或缓存的记录的查询,还可以将其他请求引向相应的顶级域 (TLD) 服务器。TLD 服务器是 DNS 层次结构中比根服务器低一级的 DNS 服务器组,它们是解析 DNS 查询的必要部分。

DNS 层次结构

在未缓存的 DNS 查询期间,每当用户在浏览器中输入网址,该操作都会触发 DNS 查找,并且所有 DNS 查找都从根区域开始。查找到达根区域后,将沿 DNS 系统的层次结构向下移动,首先到达 TLD 服务器,然后到达特定域(可能还有子域)的服务器,直到最终到达权威性名称服务器,以查到正确的域名,其中包含要搜索的网站的数字 IP 地址。然后,该 IP 地址被返回给客户端。有趣的是,尽管需要许多步骤,但此过程仍可以非常快速地进行。

根服务器是 Internet 基础设施的重要组成部分;没有它们,Web 浏览器和许多其他 Internet 工具将无法工作。有 13 个不同的 IP 地址为 DNS 根区域提供服务,并且全球有数百个冗余根服务器来处理对根区域的请求。

为什么只有 13 个 DNS 根服务器地址?

一个普遍的误解是,世界上只有 13 台根服务器。实际上根服务器有许多,但只有 13 个 IP 地址用于查询不同的根服务器网络。DNS 原始架构的限制要求根区域中最多只能有 13 个服务器地址。在 Internet 面世之初,这 13 个 IP 地址的每一个都只有一台服务器,其中大多数位于美国。

如今,这 13 个 IP 地址中的每一个都有多个服务器,这些服务器使用 Anycast 路由基于负荷和距离分发请求。目前,地球上每座有人生活的大陆上都分布着 600 多台 DNS 根服务器。

谁在操作 DNS 根服务器?

互联网名称和数字地址分配机构 (ICANN) 为根区域中 13 个 IP 地址之一操作服务器,并将其他 12 个 IP 地址的操作委托给包括 NASA、马里兰大学和 Verisign(唯一运营两个根 IP 地址的组织)在内的多个组织。Cloudflare 帮助向名为 F-Root 的根服务器提供 DNS Anycast 服务;Cloudflare 根据与 ISC(F-Root 运营商)的合同提供其他 F-Root 实例。了解有关 Cloudflare 如何支持 F-Root 的更多信息。

解析器如何找到 DNS 根服务器?

由于 DNS 根区域位于 DNS 层次结构的顶部,因此递归解析器无法在 DNS 查找中被引导到这些位置。因此,每个 DNS 解析器都在其软件中内置了 13 个 IP 根服务器地址的列表。每次发起 DNS 查找时,递归器的第一个通信就是与这 13 个 IP 地址之一进行的。

如果 DNS 根服务器不可用怎么办?

由于使用了 Anycast 路由并具备高冗余性,根服务器非常可靠。但是在极少数情况下,根服务器将必须更新其 IP 地址。在这种情况下,递归解析器可以继续使用根区域中的其他 12 个 IP 地址执行 DNS 查找,直到它们的软件更新为所有 13 台服务器的正确地址为止。由于解析器会重试,直到它们到达工作的根服务器,所以当一个根服务器关闭时,不会中断互联网的正常运行。详细了解 Cloudflare DNS 如何使用 Anycast 路由来提高可靠性。