30.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 的幫助可以輕鬆指定這類名稱伺服器。如果您使用數據機撥接連線,完全不需要手動設定名稱伺服器。撥接通訊協定在連線建立時會提供名稱伺服器位址。

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