DNS 服务器有哪些不同类型?
所有 DNS 服务器都属于以下四个类别之一:递归解析器、根域名服务器、TLD 域名服务器和权威性域名服务器。在典型 DNS 查找中(当没有正在进行的高速缓存时),这四个 DNS 服务器协同工作来完成将指定域的 IP 地址提供给客户端的任务(客户端通常是一个存根解析器 - 内置于操作系统的简单解析器)。
什么是 DNS 递归解析器?
递归解析器(也称为 DNS 解析器)是 DNS 查询中的第一站。递归解析器作为客户端与 DNS 域名服务器的中间人。从 Web 客户端收到 DNS 查询后,递归解析器将使用缓存的数据进行响应,或者将向根域名服务器发送请求,接着向 TLD 域名服务器发送另一个请求,然后向权威性域名服务器发送最后一个请求。收到来自包含已请求 IP 地址的权威性域名服务器的响应后,递归解析器将向客户端发送响应。
在此过程中,递归解析器将缓存从权威性域名服务器收到的信息。当一个客户端请求的域名 IP 地址是另一个客户端最近请求的 IP 地址时,解析器可绕过与域名服务器进行通信的过程,并仅从第二个客户端的缓存中为第一个客户端提供所请求的记录。
大多数 Internet 用户使用他们 ISP 提供的递归解析器,但还有其他可用选择;例如 Cloudflare 的 1.1.1.1。
什么是 DNS 根域名服务器?
每个递归解析器都知道 13 个 DNS 根域名服务器,它们是递归解析器搜寻 DNS 记录的第一站。根服务器接受包含域名的递归解析器的查询,根域名服务器根据该域的扩展名(.com、.net、.org 等),通过将递归解析器定向到 TLD 域名服务器进行响应。根域名服务器由一家名为 Internet 名称与数字地址分配机构(ICANN)的非营利组织进行监督。
注意,尽管有 13 个根域名服务器,但这并不意味着根域名服务器系统中只有 13 台计算机。根域名服务器有 13 种类型,但在世界各地每个类型都有多个副本,它们使用 Anycast 路由来提供快速响应。如果您将根域名服务器的所有实例加在一起,您将有 632 台不同的服务器(截至 2016 年 10 月)。
什么是 TLD 域名服务器?
TLD 域名服务器维护共享通用域扩展名的所有域名的信息,例如 .com、.net 或 url 中最后一个点之后的任何内容。例如,.com TLD 域名服务器包含以“.com”结尾的每个网站的信息。如果用户正在搜索 google.com,则在收到来自根域名服务器的响应后,递归解析器将向 .com TLD 域名服务器发送查询,后者将通过针对该域的权威性域名服务器(见下文)进行响应。
TLD 域名服务器的管理由 Internet 编号分配机构(IANA)加以处理,其为 ICANN 的一个分支机构。IANA 将 TLD 服务器分为两个主要组:
- 通用顶级域:这些是非特定国家/地区的域,一些最知名的通用 TLD 包括 .com、.org、.net、.edu 和 .gov。
- 国家/地区代码顶级域:这些包括特定于某个国家/地区或州的任何域。例如,uk、.us、.ru 和 .jp 等。
对于基础设施域实际上存在第三个类别,但该类别几乎从不使用。此类别是为 .arpa 域创建的,该域是在创建新式 DNS 时使用的过渡域;其当今主要是具有历史意义。
什么是权威性域名服务器?
当递归解析器收到来自 TLD 域名服务器的响应时,该响应会将解析器定向到权威性域名服务器。权威性域名服务器通常是解析器查找 IP 地址过程中的最后一步。权威名称服务器包含特定于其服务域名的信息(例如,google.com)权威性域名服务器包含特定于其所服务的域名的信息(例如 google.com),并且它可为递归解析器提供在 DNS A 记录中找到的服务器的 IP 地址,或者如果该域具有 CNAME 记录(别名),它将为递归解析器提供一个别名域,这时递归解析器将必须执行全新 DNS 查找,以便从权威性域名服务器获取记录(通常为包含 IP 地址的 A 记录)。Cloudflare DNS 分发权威性域名服务器,这些域名服务器带有 Anycast 路由,可使其变得更可靠。