Overview

DNS(Domain Name System)是負責將網址(domain name)轉換成 IP 位址的系統。 當使用者輸入 google.com 時,DNS 會查詢對應的 IP,讓瀏覽器能與正確的伺服器建立連線。

DNS 查詢流程(DNS Query Flow)

curl-transfer picture resource

本機查詢(Local Resolution)

  1. 使用者在瀏覽器輸入 https://google.com,系統首先查詢 /etc/hosts 檔案中是否有對應紀錄
  2. 若無命中則發送 DNS 查詢給 DNS Server(通常是 ISP 提供的)

遞迴查詢(Recursive Resolution)

  1. DNS Server(Recursive Resolver)若無快取資料,會向 Root Server 詢問 .com
  2. Root Server 回覆 TLD Server 的位址
  3. Resolver 再向 TLD Server 詢問 google.com
  4. TLD Server 回覆 Name Server 的位址
  5. Resolver 向該 Name Server 請求 google.com 的記錄

回傳結果與載入網頁(Resolution Result)

  1. Name Server 回傳 A 記錄(如 142.251.42.238
  2. Resolver 將該 IP 傳給瀏覽器
  3. 瀏覽器對該 IP 發出 HTTP 請求
  4. 顯示網站內容

常見 DNS 記錄類型(DNS Record Types)

記錄類型說明
AIPv4 位址
AAAAIPv6 位址
CNAME別名指向另一個域名
MX郵件交換伺服器
TXT任意文字,常用於驗證用途
NSName Server 的指定紀錄

References