四種不同類型的 DNS 伺服器必須協同工作來提供單個網頁。
閱讀本文後,您將能夠:
相關內容
訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!
複製文章連結
所有 DNS 伺服器都屬於四個類別之一:遞迴解析程式、根名稱伺服器、TLD 名稱伺服器和權威名稱伺服器。在典型 DNS 尋找中 (當沒有正在進行的快取時),這四個 DNS 伺服器協同工作來完成將指定網域的 IP 位址提供給用戶端的任務 (用戶端通常是一個存根解析程式 - 內建於作業系統的簡單解析程式)。
遞迴解析程式(亦稱為 DNS 遞迴程式)是 DNS 查詢中的第一站。遞迴解析程式作為用戶端與 DNS 名稱伺服器之間的中間人來運作。收到來自網頁用戶端的 DNS 查詢後,遞迴解析程式將會回應快取資料,或將要求傳送至根名稱伺服器,接著再將另一個要求傳送至 TLD 名稱伺服器,然後最後一個要求則傳送至權威名稱伺服器。收到來自權威名稱伺服器(其中含有要求的 IP 位址)的回應後,遞迴解析程式就會將回應傳送至用戶端。
在此過程中,遞迴解析程式將會快取從權威名稱伺服器接收的資訊。當一個用戶端請求的網域名稱 IP 位址是另一個用戶端最近請求的 IP 位址時,解析程式可繞過與名稱伺服器進行通訊的過程,並僅從第二個用戶端的快取記憶體中為第一個用戶端提供所請求的記錄。
大多數網際網路使用者使用他們 ISP 提供的遞迴解析程式,但還有其他可用選擇;例如 Cloudflare 的 1.1.1.1。
每個遞迴解析程式都知道 13 個 DNS 根名稱伺服器,這是遞迴解析程式搜尋 DNS 記錄的第一站。根伺服器接受包含網域名稱的遞迴解析程式的查詢,根名稱伺服器根據該網域的副檔名(.com、.net、.org 等),透過將遞迴解析程式定向到 TLD 名稱伺服器進行回應。根名稱伺服器由稱為網際網路名稱與數字位址分配機構 (ICANN) 的非營利組織來監督。
注意,儘管有 13 個根名稱伺服器,但這並不意味著根名稱伺服器系統中只有 13 台電腦。根名稱伺服器有 13 種類型,但在世界各地每個類型都有多個副本,它們使用 Anycast 路由來提供快速回應。如果您將根名稱伺服器的所有執行個體加在一起,您將有 600 多不同的伺服器。
TLD 名稱伺服器維護共用通用網域副檔名的所有網域名稱的資訊,例如 .com、.net 或 url 中最後一個點之後的任何內容。例如,.com TLD 名稱伺服器包含每個以「.com」結尾之網站的資訊。若使用者搜尋 google.com,則在收到來自根名稱伺服器的回應後,遞迴解析程式就會將查詢傳送至 .com TLD 名稱伺服器,這會指向該網域的權威名稱伺服器(見下文)以便回應。
TLD 名稱伺服器的管理由 Internet 編號分配機構 (IANA) 加以處理,其為 ICANN 的一個分支機搆。IANA 會將 TLD 伺服器分為兩個主要群組:
實際上有適用於基礎結構網域的第三個類別,但這幾乎從不使用。此類別是為 .arpa 網域建立的,該網域是在建立新式 DNS 時使用的過渡網域;就現今而言,其主要是具有歷史意義。
當遞迴解析程式收到來自 TLD 名稱伺服器的回應時,該回應會將解析程式定向到權威名稱伺服器。權威名稱伺服器通常是解析程式尋找 IP 位址過程中的最後一步。權威名稱伺服器包含特定於其伺服器名稱的資訊 (例如,google.com)權威名稱伺服器包含特定於其所服務的網域名稱的資訊 (例如 google.com),並且它可為遞迴解析程式提供在 DNS A 記錄中找到的伺服器的 IP 位址,或者如果該網域具有 CNAME 記錄 (別名),它將為遞迴解析程式提供一個別名網域,這時遞迴解析程式將必須執行全新 DNS 尋找,以便從權威名稱伺服器獲得記錄 (通常為包含 IP 位址的 A 記錄)。Cloudflare DNS 分發權威名稱伺服器,這些名稱伺服器帶有 Anycast 路由,可使其變得更可靠。