DNS 根伺服器是 DNS 查閱中的第一站。
閱讀本文後,您將能夠:
複製文章連結
Domain Name System (DNS) 的管理透過包含不同受管理分區或「區域」的階層進行,其根區域位於該階層的最頂部。根伺服器是在根區域中運作的 DNS 名稱伺服器。這些伺服器可以直接回答針對根區域內儲存或快取的記錄的查詢,還可以將其他請求引向相應的頂層網域 (TLD) 伺服器。TLD 伺服器是 DNS 階層中比根伺服器低一級的 DNS 伺服器群組,它們是解析 DNS 查詢的必要部分。
在未快取的 DNS 查詢期間,每當使用者在瀏覽器中輸入網址時,此動作都會觸發 DNS 查閱,而且所有 DNS 查閱都會從根區域開始。在到達根區域後,查閱將沿著 DNS 系統的階層向下移動,先存取 TLD 伺服器,然後存取特定網域(可能是子網域)的伺服器,直到最終到達正確網域的權威名稱伺服器,其中包含正在尋找的網站的數字 IP 位址。然後將此 IP 位址傳回給用戶端。有趣的是,儘管所需的步驟數量很多,但此過程可能會很快進行。
根伺服器是網際網路基礎結構的基本部分;如果沒有它們,Web 瀏覽器和許多其他網際網路工具將無法運作。有 13 個不同的 IP 位址服務於 DNS 根區域,全球有數百個備援根伺服器來處理對根區域的請求。
一個常見的誤解是,世界上只有 13 個根伺服器。實際上還有很多,但仍然只有 13 個 IP 位址用於查詢不同的根伺服器網路。DNS 原始架構的限制要求根區域中最多只能有 13 個伺服器位址。在網際網路的早期,13 個 IP 位址中的每一個都只有一個伺服器,其中大部分位於美國。
現在,13 個 IP 位址中的每一個都有多個伺服器,它們使用 Anycast 路由來根據負載和接近程度分配請求。目前,地球上每個人口稠密的大陸都有 600 多個不同的 DNS 根伺服器。
Internet Corporation for Assigned Names and Numbers (ICANN) 為根區域中的 13 個 IP 位址之一運作伺服器,並將另外 12 個 IP 位址委派給各種組織,包括 NASA、馬里蘭大學和 Verisign(這是唯一運作兩個根 IP 位址的組織)。Cloudflare 幫助向名為 F-Root 的根伺服器提供 DNS Anycast 服務;Cloudflare 根據與 ISC(F-Root 營運者)的合約提供其他 F-Root 執行個體。瞭解有關 Cloudflare 如何支援 F-Root 的更多資訊。
由於 DNS 根區域位於 DNS 階層的頂端,因此在 DNS 查閱中無法將遞迴解析程式導向它們。因此,每個 DNS 解析程式都有一個內建在其軟體中的 13 IP 根伺服器位址的清單。每當啟動 DNS 查閱時,遞迴程式的第一次通訊就是與這 13 個 IP 位址之一的通訊。
由於使用 Anycast 路由和大量備援,根伺服器非常可靠。但在極少數情況下,根伺服器將不得不更新其 IP 位址。在這種情況下,遞迴解析程式可以繼續使用根區域中的其他 12 個 IP 位址來執行 DNS 查詢,直到它們的軟體更新為擁有全部 13 部伺服器的正確位址。由於解析程式會一直重試,直到到達工作中的根伺服器,因此當一部根伺服器關閉時,網際網路的正常作業不會中斷。進一步瞭解 Cloudflare DNS 如何使用 Anycast 路由來提高可靠性。