認識 DNS 網域名稱系統

簡介

網域名稱系統(DNS)就像是網際網路的電話簿。人們透過例如 google.com 或 youtube.com 等網域名稱線上存取資訊。瀏覽器透過 IP 位址進行互動。DNS 將網域名稱轉換為 IP 位址,以便瀏覽器能夠載入網際網路資源。

連接到網際網路的每一個裝置都有一個唯一的 IP 位址,其他電腦可使用該 IP 位址尋找此裝置。DNS 伺服器使人們無需儲存例如 192.168.1.1(IPv4)等 IP 位址,或更複雜的 IP 位址,例如 2400:cb00:2048:1::c629:d7a2(IPv6)。

解析過程

DNS 解析過程牽涉將主機名稱(例如 www.example.com)轉換為便於電腦使用的 IP 位址(例如 192.168.1.1)。網際網路上的每個裝置都被分配了一個 IP 位址,必須有該位址才能找到相應的網際網路裝置。若使用者想要載入網頁,使用者在網頁瀏覽器中輸入的內容(example.com)與機器方便使用的位址之間必須進行轉譯,才能讓機器找到 example.com 網頁。

對於瀏覽器而言,DNS 查詢是「在幕後」發生的,除了初始要求外,不需要從使用者的電腦進行任何交互。

載入網頁涉及 4 個 DNS 伺服器有:

  • DNS 遞迴程式
  • 根名稱伺服器
  • TLD 名稱伺服器
  • 權威名稱伺服器

DNS 尋找的 8 個步驟:

  1. 使用者在網頁瀏覽器中鍵入「example.com」,查詢傳輸到網際網路中,然後 DNS 遞迴解析程式接收該查詢。
  2. 接著該解析程式查詢 DNS 根名稱伺服器(.)。
  3. 然後根伺服器使用儲存其網域資訊的頂層網域(TLD)DNS 伺服器(例如 .com 或 .net)的位址回應該解析程式。搜尋 example.com 時,我們的請求會指向 .com TLD。
  4. 然後該解析程式向 .com TLD 發出請求。
  5. TLD 伺服器隨後使用該網域的名稱伺服器 example.com 的 IP 位址進行回應。
  6. 最後,遞迴解析程式將查詢傳送到該網域的名稱伺服器。
  7. 接著 example.com 的 IP 位址從名稱伺服器傳回該解析程式。
  8. 然後 DNS 解析程式使用最初請求的網域的 IP 位址回應網頁瀏覽器。

DNS 尋找的這 8 個步驟傳回了 example.com 的 IP 位址後,瀏覽器便能夠發出對該網頁的請求:

  1. 瀏覽器向該 IP 位址發出 HTTP 請求。
  2. 位於該 IP 的伺服器傳回將在瀏覽器中轉譯的網頁。

資源紀錄

DNS server 內的每一個網域名稱都有自己的檔案,這個檔案一般會稱為區域檔案(zone file)。區域檔案是由多個記錄所組成的,每一個記錄稱為資源記錄(Resource Record,簡稱 RR)。

SOA

指定有關 DNS 區域的權威性資訊,包含主要名稱伺服器、域名管理員的電子郵件位址、域名的流水式編號、和幾個有關重新整理區域的定時器。

A

可將 DNS 網域名稱對應到 IPv4 的 32 位元位址。

AAAA

可將 DNS 網域名稱對應到 IPv6 的 128 位元位址。

NS

委託 DNS 區域(DNS zone)使用已提供的權威域名伺服器。不可以 IP 位址表示。

CNAME

為同一部主機設定的別名。

MX

電子郵件交寄設定,郵件交換紀錄會將網域的電子郵件導向至該網域使用者帳戶的代管伺服器。

TXT

任意可讀的文字 DNS 記錄。用途包含驗證網域擁有權,以及實作電子郵件安全措施。

參考資料