在大多数域名系统 (DNS) 查找中,客户端通常执行正向查找,即基于另一台计算机的 DNS 名称(当存储在主机 (A) 资源记录中时)的搜索。此类型的查询预期将 IP 地址作为应答响应的资源数据。

DNS 还提供反向查找过程,在此过程中,客户端使用已知的 IP 地址并根据其地址查找计算机名称。反向查找采用问题的形式,如“是否可以告诉我使用 IP 地址 192.168.1.20 的计算机的 DNS 名称?”

DNS 最初的设计不支持此类型的查询。支持反向查询过程的一个问题就是 DNS 命名空间对名称的组织和索引方式与 IP 地址的指定方式之间的差异。如果回答以前问题的唯一方法就是在 DNS 命名空间的所有域中进行搜索,则反向查询会持续太长时间并且需要使用太多的处理。

为解决此问题,已在 DNS 标准中定义了特殊的域,即 in-addr.arpa 域,并将其保留在 Internet DNS 命名空间中,以提供一种用于执行反向查询的可行且可靠的方式。为创建反向命名空间,通过对 IP 地址点分十进制表示法形式的数字进行反向排序,可以形成 in-addr.arpa 域中的子域。

必须对每个八进制值进行域的此反向排序,因为与 DNS 名称不同,当从左到右读取 IP 地址时,将按照相反的方式对其进行解释。当从左到右读取 IP 地址时,将从地址第一部分中的最通用信息(IP 网络地址)到最后一个八进制值中所含的最具体信息(IP 主机地址)来查看该地址。

出于此原因,在构建 in-addr.arpa 域树时,IP 地址八进制值的顺序必须是反向的。在为组织指定 Internet 定义的地址类中特定或有限的 IP 地址集时,可以将 DNS in-addr.arpa 树的 IP 地址委派给组织。

最后,in-addr.arpa 域树(已在 DNS 中构建时)需要定义其他的资源记录类型(指针 (PTR) 资源记录)。此资源记录将在反向查找区域中创建映射,通常该区域与其正向查找区域中的主机的 DNS 计算机名称的已命名主机 (A) 资源记录对应。

in-addr.arpa 域适用于基于 Internet 协议版本 4 (IPv4) 寻址的所有 TCP/IP 网络。新建区域向导会自动假定您在创建新的反向查找区域时使用此域。

如果您正在为 Internet 协议版本 6 (IPv6) 网络安装 DNS 并配置反向查找区域,则可以在新建区域向导中指定一个实际名称。这样,您便可以在支持 IPv6 网络的 DNS 管理器中创建反向查找区域,该区域使用另一个特殊域名,即 ip6.arpa 域。

有关 IPv6 和 DNS 的其他可用信息(包括如何创建和使用 ip6.arpa 域名的示例),请参阅征求意见文档 (RFC) 3596“支持 IP 版本 6 的 DNS 扩展”。有关详细信息,请直接参阅位于 RFC 编辑器网站 (https://go.microsoft.com/fwlink/?LinkId=240)(可能为英文网页)中的此 RFC。

示例:反向查询(适用于 IPv4 网络)

下图显示了 DNS 客户端为根据其 IP 地址了解另一台主机名称 (host-a) 而启动的反向查询示例: 192.168.1.20.

示例:DNS 反向查找

反向查询过程按下列步骤执行:

  1. 客户端查询 DNS 服务器,以找到映射到 host-a 的 192.168.1.20 IP 地址的指针 (PTR) 资源记录。

    由于该查询针对指针 (PTR) 资源记录,因此解析程序会将地址反向,并将 in-addr.arpa 域附加到反向地址的结尾。这将形成要在反向查找区域中搜索的完全限定的域名 (FQDN) (20.1.168.192.in-addr.arpa.)。

  2. 找到后,20.1.168.192.in-addr.arpa 的权威 DNS 服务器会使用指针 (PTR) 资源记录信息做出响应。此信息包括完成反向查找过程的 host-a 的 DNS 域名。

请记住,如果查询的反向名称无法从 DNS 服务器应答,则可以使用正常的 DNS 解析方法(递归或迭代)来查找对反向查找区域具有权威且包含查询名称的 DNS 服务器。在这种情况下,反向查找中使用的名称解析过程与正向查找的名称解析过程相同。

反向查询

使用反向查询是一种过时的做法,最初建议作为 DNS 标准的一部分,以根据其 IP 地址查找主机名。这些查询使用非标准的 DNS 查询操作,而且其使用限于某些较早版本的 Nslookup,即用于 DNS 服务器服务疑难解答和测试的命令行实用程序。

DNS 服务器服务可以识别并接受反向查询消息,进而使用伪造的反向查询响应对其进行应答。对于在 Windows NT(R) Server 4.0 中运行的 DNS 服务器,如果服务器计算机已更新到 Service Pack 4 (SP4) 或更高版本,则默认情况下提供此支持。

注意

严格地说,用于通过反向查询识别主机的指针 (PTR) 资源记录和反向查找区域的配置是 DNS 标准实施的一个可选部分。尽管对于某些联网的应用程序,需要使用反向查找区域来执行安全检查,但是您不需要使用反向查找区域。


目录