1. 程式人生 > 實用技巧 >域名解析服務之DNS查詢型別

域名解析服務之DNS查詢型別

在實際應用中DNS查詢主要分為兩種方式查詢:1.遞迴查詢;2.迭代查詢

一般情況下:為了減少資源的消耗,網路中客戶端與所屬的本地DNS伺服器查詢方式通常為遞迴查詢,本地DNS伺服器與外部的公共DNS伺服器間的查詢方式為迭代查詢。

1. 什麼遞迴查詢

如下所示為DNS遞迴查詢的過程:

域名解析服務之DNS查詢型別

查詢過程如下:

Step A:客戶端向本地DNS伺服器查詢某個域名解析(這裡以"example.microsoft.com"為例);

Step B:本地DNS伺服器先查詢快取查詢不到,然後查詢本地區域檔案還是找不到,則通過根提示檔案向負責.com頂級域的根名稱DNS伺服器查詢;

Step C:根DNS伺服器收到請求後直接將下屬的.com的權威DNS伺服器IP地址返回給本地DNS伺服器;

Step D:本地DNS伺服器收到根域名伺服器發出的DNS資訊後直接向.com的權威DNS伺服器查詢;

Step E:.com權威名稱伺服器收到客戶端DNS查詢請求後,發現無此域名的解析就直接將下一級的二級權威名稱伺服器的DNS的IP(這裡指microsoft.com的權威名稱伺服器的IP)發給本地DNS伺服器;

Step F:本地DNS收到.com發出的microsoft.com權威DNS伺服器後,直接向microsoft.com權威DNS發出解析請求;

Step G:microsoft.com權威DNS收到解析請求後,發現是自己負責的域名,並且存在該主機記錄,然後將對應的ip資訊發給本地DNS,本地DNS快取該解析,並響應客戶端查詢,至此整個查詢過程結束;

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

2. 什麼迭代查詢

如下所示為DNS迭代查詢的過程:

域名解析服務之DNS查詢型別

查詢過程如下:

Step A:客戶端向本地DNS伺服器查詢某個域名解析(這裡以"example.microsoft.com"為例)

Step B:本地DNS伺服器先查詢本地快取,如果找不到,則直接將本地DNS的根名稱域名(13臺根域名伺服器隨機選擇一臺)資訊發給客戶端;

Step C:客戶端根據本地DNS伺服器發出的DNS報文直接查詢根域名伺服器;

Step D:根域名伺服器查詢自己的DNS區域檔案,然後將負責.com域名解析的權威DNS告訴客戶端,客戶端再次查詢負責.com解析的DNS伺服器;

Step E:.com權威名稱伺服器收到客戶端DNS查詢請求後,發現無此域名的解析就直接將下一級的二級權威名稱伺服器的DNS的IP(這裡指microsoft.com的權威名稱伺服器的IP)發給DNS客戶端;

Step F:客戶端直接查詢microsoft.com的權威名稱DNS,microsoft.com權威名稱伺服器收到DNS查詢後發現為自己負責的域名解析,並且存在該域名的A記錄,直接反饋給DNS客戶端,至此整個查詢過程結束;

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


轉載於:https://blog.51cto.com/blief/2135412