一文讀懂 DNS 的工作原理
DNS(Domain Name System)即域名系統,是一種用於將域名轉換爲 IP 地址的分佈式命名系統。它充當了互聯網上的 “電話簿”,將人類可讀的域名轉換爲計算機可理解的 IP 地址。今天,老魚跟大家聊一聊 DNS 的工作原理。
域名服務器的分類
DNS 系統由多個層級的域名服務器組成,每個服務器負責管理特定區域內的域名和 IP 地址映射。這些服務器主要包括:
-
根域名服務器:位於 DNS 層次結構的最高層,共有 13 個不同 IP 地址的根域名服務器分佈在全球各地。它們保存了頂級域名服務器的信息,負責管理頂級域名(如. com、.org、.net 等)的域名服務器的 IP 地址。
-
頂級域名服務器:負責管理特定頂級域(如. com、.org、.net 等)下的域名和其子域的映射。例如,.com 頂級域名服務器會存儲所有使用. com 域名結尾的域名映射信息。
-
權威域名服務器:每個特定域名的 “官方” 域名服務器,存儲着該域名與 IP 地址的映射信息。當本地域名服務器需要解析特定域名時,會向該域名的權威域名服務器發送查詢請求。
-
本地域名服務器:位於用戶的本地網絡中,通常由互聯網服務提供商(ISP)提供。當用戶發起域名查詢請求時,本地域名服務器首先被聯繫。如果本地域名服務器已經緩存了相應的映射信息,它會直接返回結果;否則,它會根據查詢的域名層級結構,通過遞歸查詢或迭代查詢的方式,向根域名服務器、頂級域名服務器和權威域名服務器發起查詢,以獲取所需的映射信息。
DNS 域名解析過程
DNS 域名解析過程包括遞歸查詢和迭代查詢兩種方式,但通常本地域名服務器會先嚐試遞歸查詢,如果無法解析,再轉爲迭代查詢。以下是 DNS 域名解析的詳細步驟:
-
本地查詢:當用戶在瀏覽器中輸入一個域名時,瀏覽器會發送域名解析請求到本地 DNS 服務器。本地 DNS 服務器會先從緩存中查找對應的 IP 地址,如果緩存中有,則直接返回 IP 地址;如果緩存中沒有,則進入下一步查詢。
-
遞歸查詢(或迭代查詢):
**遞歸查詢:**本地域名服務器向根域名服務器發送查詢請求,根域名服務器根據請求的域名信息返回頂級域名服務器的 IP 地址。本地域名服務器再向頂級域名服務器發送請求,獲取下一級域名服務器的 IP 地址,如此逐級向下查詢,直到找到對應的 IP 地址。整個過程中,本地域名服務器負責將查詢請求逐級轉發,並等待最終結果返回。
**迭代查詢:**在迭代查詢中,本地域名服務器逐級向上查詢,然後逐級向下查詢。它首先向根域名服務器發起查詢請求,根域名服務器回覆一個指向頂級域名服務器的 IP 地址。本地域名服務器再向頂級域名服務器發起新的查詢請求,頂級域名服務器回覆一個指向權威域名服務器的 IP 地址。本地域名服務器繼續向權威域名服務器發送查詢請求,最終獲取到域名對應的 IP 地址。整個過程中,本地域名服務器需要自行處理各級查詢的響應,並逐級向下查詢,直到獲得所需的 IP 地址。
-
查詢結果返回:一旦本地域名服務器獲取到了域名對應的 IP 地址,它會將這個結果保存在緩存中(以便下次查詢時可以直接返回結果,提高查詢速度),並將結果返回給用戶的瀏覽器。
-
建立連接:瀏覽器收到 IP 地址後,會向該 IP 地址發送 HTTP 請求,與服務器建立連接,並獲取網頁內容。
DNS 的其他功能
除了基本的域名解析功能外,DNS 還支持一些其他的功能,如:
-
負載均衡:通過 DNS 可以將一個域名解析到多個 IP 地址上,實現負載均衡,提高網站的可用性和性能。
-
反向解析:將 IP 地址解析爲域名,用於網絡安全、日誌分析等領域。
-
故障轉移:當某個服務器出現故障時,可以通過 DNS 將域名解析到其他正常的服務器上,實現故障轉移和容災備份。
結語
綜上所述,DNS 的工作原理是通過將域名映射到 IP 地址來實現域名解析的。它使用分層、分佈式的結構來管理域名與 IP 地址的映射關係,並通過遞歸查詢和迭代查詢的方式使得在互聯網上輕鬆地使用人類可讀的域名來訪問各種網絡資源。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/j_-1cpMRvwHHzeh8GcAXog