跳轉到內容

網際網路技術/域名

來自華夏公益教科書,開放的書籍,開放的世界

域名系統,通常簡稱為DNS,是網際網路的核心功能。它是一個分散式資料庫,負責處理主機名(域名)與數字網際網路地址之間的對映,主機名對人類來說更方便。例如,www.wikipedia.org是一個域名,而130.94.122.199是其對應的數字網際網路地址。域名系統就像一本自動電話簿,這樣你就可以“撥打”www.wikipedia.org,而不是130.94.122.199。因此,它將人類友好的名稱(如“www.wikipedia.org”)轉換為計算機友好的(IP)地址(如130.94.122.199)。它也可以處理反向對映,這意味著我們可以查詢130.94.122.199的名稱,返回larousse.wikipedia.org

DNS 最初是由Paul Mockapetris於 1983 年發明的;原始規範在RFC 882 中進行了描述。1987 年,釋出了RFC 1034RFC 1035,它們更新了 DNS 規範,並使RFC 882RFC 883過時。此後,釋出了許多 RFC,這些 RFC 針對核心協議提出了各種擴充套件。

DNS 透過允許將名稱空間的一部分(稱為區域)的名稱服務“委派”給名稱伺服器,以實現分層名稱空間。DNS 還提供其他資訊,例如系統的別名、聯絡資訊以及哪些主機充當系統或域組的郵件集線器。

當前對域名長度的限制為 63 個字元,不包括www..com或其他擴充套件。域名也限於ASCII字元的子集,阻止許多語言正確地表示其名稱和單詞。基於PunycodeIDNA系統,它將Unicode字串對映到有效的 DNS 字元集,已獲得ICANN的批准,並被一些註冊機構採用作為一種解決方法。

DNS 系統由各種 DNS 軟體實現,包括

  • BIND(Berkeley Internet Name Domain),這是最常用的名稱守護程序。
  • DJBDNS(Dan J Bernstein 的 DNS 實現)
  • MaraDNS
  • NSD(名稱伺服器守護程序)
  • PowerDNS

任何IP計算機網路都可以使用 DNS 來實現自己的私有名稱系統。但是,術語“域名”最常用於指公共網際網路 DNS 系統中實現的域名。這是基於全球十三臺“根伺服器”,其中除三臺之外,其餘都在美利堅合眾國。從這十三臺根伺服器開始,網際網路 DNS 名稱空間的其餘部分被委派給其他 DNS 伺服器,這些伺服器為 DNS 名稱空間的特定部分提供服務。

可以查詢WHOIS資料庫以查詢域名的“所有者”:對於大多數頂級域名 (TLD) 而言,基本的 WHOIS 由 ICANN 持有,而詳細的 WHOIS 由控制該域的域名註冊機構維護。對於 240 多個國家程式碼頂級域名 (ccTLD),情況通常是註冊機構作為其眾多功能的一部分,持有該擴充套件的所有權威 WHOIS。

目前控制主要 DNS 系統的方式經常受到批評。人們指出的最常見問題是,它被VeriSign Inc. 等壟斷或準壟斷企業濫用,以及頂級域名分配方面存在問題。

也有人聲稱,許多 DNS 伺服器軟體的實現無法與動態分配的 IP 地址很好地協作,儘管這是特定實現的錯誤,而不是協議本身的錯誤。

DNS 使用TCPUDP 53。大多數 DNS 查詢(例如名稱解析請求)使用 UDP 連線,因為傳輸的資料量很小,而會話建立開銷會引入不必要的流量和負載到名稱伺服器。名稱伺服器對等體之間的 DNS 區域檔案傳輸使用 TCP 連線,因為傳輸的資料量可能大得多。

DNS 域名定義(有時稱為“區域檔案”)由單個 DNS 記錄組成。在常見的使用中,有幾種記錄型別

  • SOA 或起始授權記錄包含域名定義本身的引數。
  • A 記錄將名稱解析為 IP 地址
  • PTR 記錄將 IP 地址解析為名稱
  • NS 記錄定義域的權威名稱伺服器。
  • CNAME 或規範名稱記錄允許將一個名稱別名為另一個名稱。
  • MX 或郵件交換記錄定義與域或 A 記錄關聯的郵件伺服器。
  • HINFO 或硬體資訊記錄可用於儲存有關特定裝置的描述性文字。

幾乎所有現代作業系統和網路應用程式都包含解析庫或例程,用於查詢 DNS 服務。但是,作業系統通常提供用於查詢 DNS 伺服器的命令列介面。Windows NT 系列作業系統提供“nslookup”命令。基於 Unix 的作業系統也可能提供“nslookup”或“dig”工具。

nslookup 可以以互動式或非互動式方式使用。以下是一個非互動式使用示例。在此示例中,我們從客戶端的預設名稱伺服器收集 www.wikipedia.org 的 A 記錄

nslookup www.wikipedia.org

Nslookup 以互動式方式使用時功能更強大。以下是一個示例。在此示例中,我們查詢域 wikipedia.org 的郵件伺服器

nslookup

> set q=MX

> wikipedia.org

非權威答案

wikipedia.org MX 優先順序 = 50,郵件交換器 = mormo.org

wikipedia.org MX 優先順序 = 10,郵件交換器 = mail.wikimedia.org

>

另請參見:網路蹲點動態 DNSICANNDNSSEC

[編輯 | 編輯原始碼]
華夏公益教科書