了解 DNS 解析過程
當我們在瀏覽器中輸入網址時,瀏覽器會將網域名稱解析為 IP 位址,這個過程稱為 DNS 解析。 但瀏覽器是如何將網域名稱解析為 IP 位址的呢?以下是解析過程:
步驟 1:檢查瀏覽器 DNS 快取
如果瀏覽器已經快取了結果,它會立即返回快取的資訊,但快取會在一段時間後過期/清除,或當瀏覽器關閉時清除。 通常,瀏覽器有自己的 DNS 快取機制。
步驟 2:檢查作業系統 DNS 快取
如果瀏覽器的 DNS 快取中沒有結果,它會檢查作業系統的 DNS 快取。這個快取由作業系統上的所有應用程式共享,生命週期比瀏覽器的 DNS 快取更長。
步驟 3:查詢 ISP DNS 伺服器
如果在步驟 1 和步驟 2 中沒有結果,瀏覽器將查詢 ISP DNS 伺服器,在這個階段,ISP DNS 伺服器會遞迴查詢網域名稱的 DNS 伺服器,它會經過以下 DNS 伺服器:
步驟 3.1:根 DNS 伺服器
- 根 DNS 伺服器是 DNS 階層的根區域。全球有 13 個根 DNS 伺服器。
- 它儲存了所有 TLD(頂級網域) DNS 伺服器的位址,例如:.com、.net、.org 等。
- 它告訴瀏覽器應該查詢哪個 TLD DNS 伺服器。
參考資料: Root Servers
步驟 3.2:TLD DNS 伺服器
- 它管理 TLD 的所有 DNS 記錄,例如:.com、.net、.org 等。
- 它儲存了 TLD 下第二層的 DNS 伺服器位址,例如:.com 有 a.iana-servers.net、b.iana-servers.net、c.iana-servers.net 等。
步驟 3.3:權威 DNS 伺服器
- 它負責最終的 DNS 解析。
- 它儲存了網域名稱的 DNS 記錄,例如:www.google.com 的 IP 位址是 172.217.14.206。
- 它告訴瀏覽器網域名稱的 IP 位址。
結論
當我們在瀏覽器中輸入網址時,有幾個步驟來將網域名稱解析為 IP 位址:
- 檢查瀏覽器 DNS 快取,如果沒有結果,進入步驟 2。
- 檢查作業系統 DNS 快取,如果沒有結果,進入步驟 3。
- 查詢 ISP DNS 伺服器,它會遞迴經過根 DNS 伺服器、TLD DNS 伺服器和權威 DNS 伺服器來獲取網域名稱的 IP 位址,然後更新快取。
- 將 IP 位址返回給瀏覽器。
詞彙表
- DNS: 網域名稱系統 (Domain Name System)
- ISP: 網際網路服務提供商 (Internet Service Provider)
- TLD: 頂級網域 (Top-Level Domain)
回到部落格 🏃🏽♀️