1. 程式人生 > 其它 >DNS域名解析的過程

DNS域名解析的過程

比如你有一個網站要上線,你在域名註冊商那裡申請了abc.com,那麼你的域名A記錄就儲存在這個域名註冊商的DNS伺服器上,該DNS伺服器稱為權威域名伺服器。

1、當客戶端訪問abc.com時,先查詢瀏覽器DNS快取,沒有則查詢作業系統DNS快取,在這一階段是作業系統dns cache clinet 服務進行DNS快取的(你在工作管理員裡面可以看到一個dns客戶端程序,就是這玩意實現快取的)

2、如果還是沒有則查詢hosts檔案中的域名記錄。

3、然後依然沒有的話則訪問電腦上設定的DNS伺服器IP,比如三大營運商的dns伺服器,或者谷歌的8.8.8.8,此時這一層的DNS伺服器稱為“野生DNS快取伺服器”,也就是非權威域名伺服器。

4、如果還是沒有則去權威域名伺服器查詢 根域名伺服器-頂級域名伺服器-二級域名伺服器-權威域名伺服器 ,這樣客戶端就在權威域名伺服器上找到了abc.com對應的IP了;這個IP可以是多個,每次客戶端請求的時候域名伺服器會根據負載均衡演算法分配一個IP給你。

當DNS快取失效了,則重新開始新一輪的域名請求。

總結如下

瀏覽器快取 -> 作業系統 dns cache -> hosts檔案 -> 非權威域名伺服器 -> 根域名伺服器 -> 頂級域名伺服器 -> 二級域名伺服器 -> 權威域名伺服器。

其中非權威域名伺服器還包括LDNS(企業內網DNS伺服器),三大營運商DNS,谷歌公開的DNS 8.8.8.8,微軟公開的DNS 4.2.2.1 等。

DNS請求有兩種方式:遞迴查詢和迭代查詢,這方面大家可以網上了解一下。LDNS往後面查詢一般是遞迴查詢,因為公司內網是有防火牆的,全部請求通過LDNS來遞迴查詢然後把結果給內網使用者。

1)遞迴查詢

遞迴查詢是一種DNS 伺服器的查詢模式,在該模式下DNS 伺服器接收到客戶機請求,必須使用一個準確的查詢結果回覆客戶機。
如果DNS 伺服器本地沒有儲存查詢DNS 資訊,那麼該伺服器會詢問其他伺服器,並將返回的查詢結果提交給客戶機。

客戶機和伺服器之間的查詢是遞迴查詢

是遞迴查詢告訴客戶機IP

(2)迭代查詢

DNS 伺服器另外一種查詢方式為迭代查詢,DNS 伺服器會向客戶機提供其他能夠解析查詢請求的DNS 伺服器地址,當客戶機發送查詢請求時,DNS 伺服器並不直接回複查詢結果,而是告訴客戶機另一臺DNS 伺服器地址,客戶機再向這臺DNS 伺服器提交請求,依次迴圈直到返回查詢的結果為止。

伺服器之間的查詢是迭代查詢