什么是 DNS 服務器?域名系統 (DNS) 服務器是專門用于將網站主機名與其相應的 Internet 協議或 IP 地址匹配的服務器。DNS 服務器包含一個公共 IP 地址及其相應域名的數據庫。根據 IPv4 或 IPV6 協議,連接到 Internet 的每個設備都有一個唯一的 IP 地址,有助于識別它。托管網站的 Web 服務器也是如此。
DNS 服務器幫助我們避免在 IP 地址中記憶如此長的數字(在 IPV6 系統中甚至是更復雜的字母數字),因為它們會自動將我們在瀏覽器地址欄中輸入的網站名稱轉換為這些數字,以便服務器可以加載正確的網頁。
域名系統簡介
要了解 DNS 服務器的作用,了解域名系統非常重要。域名系統本質上是互聯網的電話簿。就像電話簿如何將個人與電話號碼相匹配一樣,DNS 將網站名稱與其對應的 IP 地址相匹配。
什么是 DNS?
DNS 是一個域名和 IP 地址記錄系統,它允許瀏覽器找到與輸入的主機名 URL 對應的正確 IP 地址。當我們嘗試訪問一個網站時,我們通常會在網絡瀏覽器中輸入他們的域名。然而,Web 瀏覽器需要知道確切的 IP 地址才能為網站加載內容。DNS 將域名轉換為 IP 地址,以便可以從網站的服務器加載資源。
有時,網站可以有多個 IP 地址對應一個域名。例如,像谷歌這樣的大型網站會讓用戶從世界遙遠的地方查詢服務器。即使在瀏覽器中輸入的站點名稱相同,來自新加坡的計算機嘗試查詢的服務器也可能與來自多倫多的不同計算機嘗試訪問的服務器不同。這就是 DNS 緩存的用武之地。
DNS緩存
DNS 緩存是將 DNS 數據存儲在更靠近請求客戶端的 DNS 記錄上以便能夠更早地解析 DNS 查詢的過程。這避免了進一步查詢的問題,并改善了網頁加載時間并減少了帶寬消耗。
DNS 記錄存儲在 DNS 緩存中的時間稱為生存時間或 TTL。這段時間很重要,因為它決定了 DNS 記錄的“新鮮程度”以及它是否與最近對 IP 地址的更新相匹配。DNS 緩存可以在瀏覽器級別或操作系統(操作系統級別)完成。
瀏覽器 DNS 緩存
由于 Web 瀏覽器通常將 DNS 記錄存儲一段時間,因此它通常是用戶創建 DNS 記錄時首先檢查的地方。在瀏覽器上,檢查 DNS 緩存和向 IP 地址發出 DNS 請求所涉及的步驟較少。
操作系統 (OS) 級別的 DNS 緩存
一旦 DNS 查詢離開最終用戶的計算機,尋找匹配的下一站就是操作系統級別。操作系統內部的一個稱為“存根解析器”的進程會檢查它自己的 DNS 緩存以查看它是否有記錄。如果不是,則查詢將在本地網絡之外發送到 Internet 服務提供商 (ISP)。
DNS如何工作?
DNS 負責將主機名(我們通常稱為網站或網頁名稱)轉換為 IP 地址。輸入域名的行為稱為 DNS 查詢,查找相應 IP 地址的過程稱為 DNS 解析。
DNS查詢可以分為三種類型:遞歸查詢、迭代查詢或非遞歸查詢。
- 遞歸查詢——這些查詢是 DNS 服務器必須響應請求的資源記錄。如果找不到記錄,則必須向 DNS 客戶端顯示錯誤消息。
- 迭代查詢——這些查詢是 DNS 客戶端將繼續請求來自多個 DNS 服務器的響應,直到找到最佳響應,或者發生錯誤或超時。如果 DNS 服務器無法為查詢找到匹配項,它將引用域名稱空間的較低級別的 DNS 服務器權威。然后 DNS 客戶端會查詢此引用地址,并且此過程會繼續使用其他 DNS 服務器。
- 非遞歸查詢——當請求的資源可用時,這些查詢由 DNS 解析器解析,這可能是由于服務器具有權威性,也可能是因為資源已存儲在緩存中。
不同類型的 DNS 服務器
輸入 DNS 查詢后,它會在解析之前通過幾個不同的服務器,無需任何最終用戶交互。
1、DNS 遞歸器
這是專門設計用于接收來自客戶端計算機的查詢的服務器。它跟蹤 DNS 記錄并發出其他請求以滿足來自客戶端的 DNS 查詢。當請求的資源在查找過程的早期返回給遞歸器時,可以通過 DNS 緩存減少請求的數量。
2、根名稱服務器
該服務器負責將人類友好的主機名轉換為計算機友好的 IP 地址。根服務器接受遞歸器的查詢,并在下一階段將其發送到 TLD 名稱服務器,具體取決于查詢中看到的域名。
3、頂級域 (TLD) 名稱服務器
TLD 名稱服務器負責維護有關域名的信息。例如,它們可能包含有關以“.com”或“.org”結尾的網站等國家級域名的信息。TLD 名稱服務器將從根服務器獲取查詢并將其指向與查詢的特定域名關聯的權威 DNS 名稱服務器。
4、權威域名服務器
在最后一步中,權威的 DNS 名稱服務器會將 IP 地址返回給可以將其中繼給客戶端的 DNS 遞歸器。這個權威的 DNS 名稱服務器是保存 DNS 記錄的查找過程底部的服務器。將這些視為過程中的最后一站或最終權威的真相來源。
DNS 查找與 DNS 解析器
DNS 服務器返回 DNS 記錄的過程稱為 DNS 查找。它涉及從 Web 瀏覽器查詢主機名到 DNS 服務器上的 DNS 查找過程,然后再返回。DNS 解析器是處理 DNS 查找過程中第一步的服務器,它啟動一系列步驟,最終將 URL 轉換為用于加載網頁的 IP 地址。
首先,用戶輸入的主機名查詢從 Web 瀏覽器傳輸到 Internet,并由 DNS 遞歸解析器接收。然后,遞歸 DNS 服務器查詢 DNS 根服務器,該服務器以 .TLD 服務器的地址響應負責存儲域名的 TLD 服務器。
然后解析器向相應域名的 TLD 發出 DNS 請求,并接收域名服務器的 IP 地址。作為最后一步,遞歸 DNS 服務器查詢域名服務器并返回 IP 地址以發送到 Web 瀏覽器。在這個 DNS 查找過程完成之后,瀏覽器可以通過 HTTP 請求請求單個網頁。
這些步驟構成了一個標準的 DNS 查找過程,但可以通過 DNS 緩存來縮短它們。DNS 緩存允許在瀏覽器、操作系統或遠程 DNS 基礎設施上本地存儲 DNS 查找信息,這允許跳過某些步驟以加快加載速度。