18.3. 名称解析

DNS 有助于将 IP 地址指派给一个或多个名称,并将名称指派给 IP 地址。在 Linux 中,这种转换通常由一种特殊的称为 bind 的软件来完成。负责这种转换的计算机称为名称服务器。这些名称构成了分级系统,各个名称组成部分之间用圆点分隔。不过,这个名称层次与上述 IP 地址层次无关。

考虑以 hostname.domain 格式书写的完整名称,如 earth.example.com。完整名称,即完全限定的域名 (FQDN),由主机名和域名 (example.com) 组成。后者还包含顶级域或 TLD (com)。

TLD 的指派由于历史原因已经变得十分混乱。传统的指派方法是美国所用的三字母域名,而世界其它地方采用的标准是双字母 ISO 国家/地区代码。此外,2000 年还引进了较长的 TLD,表示特定的活动领域(例如 .info.name.museum)。

在因特网发展的早期阶段(1990 年之前),文件 /etc/hosts 被用来储存因特网上表示的所有计算机的名称。后来事实证明随着接入因特网的计算机与日俱增,这种方法很快就行不通了。为此人们开发了一个分散式数据库,以十分分散的方式储存主机名。这个数据库类似名称服务器,它并不储存与因特网上的所有主机相关的数据,但可以向其它名称服务器发送请求。

位于层次顶级的是根名称服务器。这些根名称服务器管理顶级域,并由网络信息中心 (NIC) 运行。每个根名称服务器都了解负责特定顶级域的名称服务器。有关顶级域 NIC 的信息,请参见 http://www.internic.net

DNS 不仅可以解析主机名,还能够为整个域识别出负责接收电子邮件的主机,即邮件交换器 (MX)

为解析 IP 地址,您的计算机必须了解至少一个名称服务器及其 IP 地址。借助 YaST 可以轻松指定这样的名称服务器。如果建立的是调制解调器拨号连接,则根本无需手工配置名称服务器。拨号协议可以在建立连接后提供名称服务器的地址。有关如何在 SUSE Linux 中配置针对名称服务器的访问,请参见第 20 章 域名系统

whois 协议与 DNS 密切相关。使用此程序可以快速找出负责特定域的服务器。