18.3. 名稱解析

DNS 協助指定 IP 位址給一或多個名稱以及指定名稱給 IP 位址。在 Linux 中,這種轉換通常是由已知為 bind 的特殊類型軟體執行的。處理這個轉換的機器稱為「名稱伺服器」(name server)。名稱組成階層系統,其中每個名稱元件以點分隔。但是,名稱階層與上述的 IP 位址階層無關。

考慮使用完整名稱,如 earth.example.com,以 hostname.domain 格式來表示。完整名稱,也就是完整領域名稱 (Fully Qualified Domain Name,FQDN),是由主機名稱和領域名稱 (example.com) 組成的。後者也包含了「最上層領域」 (top level domain) 或 TLD (com)。

TLD 指定因為過去的緣故變得相當混淆。習慣上,美國使用三個字母的領域名稱。全世界的其他國家,則是使用兩個字母的 ISO 國際代碼為標準。除此之外,2000 年引入了較長的 TLD,代表特定活動範圍 (例如,.info.name.museum)。

在早期的網際網路 (1990 年前),是使用檔案 /etc/hosts 儲存網際網路上所有機器的代表名稱。這種方式,對於連接到網際網路連線、快速增長的電腦數量層面而言,很快就證實是不切實際的。基於此因素,又開發出分散式的資料庫,以廣泛分散的方式來儲存主機名稱。這種資料庫與名稱伺服器類似,沒有有關網際網路上所有主機的立即可用資料,但是可以分散要求到其他名稱伺服器。

階層的最上層是由「root 名稱伺服器」(root name server) 所使用。這些 root 名稱伺服器管理最上層領域,且由「網路資訊中心」(Network Information Center,NIC) 負責管理。每個 root 名稱伺服器知道負責指定最上層領域的名稱伺服器。有關最上層領域 NIC 的資訊可從 http://www.internic.net 取得。

DNS 的功能不只是解析主機名稱。名稱伺服器也知道哪個主機,即「郵件交換器」(Mail Exchanger,MX),負責接收該領域的電子郵件。

若要讓您的機器能夠解析 IP 位址,它必須知道至少一個名稱伺服器及其 IP 位址。透過 YaST 的幫助可以輕鬆指定這類名稱伺服器。如果您使用數據機撥接連線,完全不需要手動設定名稱伺服器。撥接通訊協定在連線建立時會提供名稱伺服器位址。關於使用 SUSE Linux 存取名稱伺服器的組態,在 章 20, 領域名稱系統 中有詳細的說明。

whois 通訊協定與 DNS 密切相關。利用此程式,可快速找出伺服器負責哪個指定領域。