域名解析詳解
DNS 域名解析過程DNS 解析過程及原理第一步:客戶機提出域名解析請求, 并將該請求發(fā)送給本地的域名服務器。第二步:當本地的域名服務器收到請求后, 就先查詢本地的緩存, 如果有該紀錄項, 則本地的域

DNS 域名解析過程
DNS 解析過程及原理
第一步:客戶機提出域名解析請求, 并將該請求發(fā)送給本地的域名服務器。
第二步:當本地的域名服務器收到請求后, 就先查詢本地的緩存, 如果有該紀錄項, 則本地的域名服務器就直接把查詢的結(jié)果返回。
第三步:如果本地的緩存中沒有該紀錄, 則本地域名服務器就直接把請求發(fā)給根域名服務器, 然后根域名服務器再返回給本地域名服務器一個所查詢域(根的子域) 的主域名服務器的地址。
第四步:本地服務器再向上一步返回的域名服務器發(fā)送請求, 然后接受請求的服務器查詢自己的緩存, 如果沒有該紀錄, 則返回相關的下級的域名服務器的地址。
第五步:重復第四步, 直到找到正確的紀錄。
第六步:本地域名服務器把返回的結(jié)果保存到緩存, 以備下一次使用, 同時還將結(jié)果返回給客戶機。
讓我們舉一個例子來詳細說明解析域名的過程. 假設我們的客戶機如果想要訪問站點:www.linejet.com , 此客戶本地的域名服務器是dns.company.com , 一個根域名服務器是NS.INTER.NET , 所要訪問的網(wǎng)站的域名服務器是dns.linejet.com, 域名解析的過程如下所示:
(1)客戶機發(fā)出請求解析域名www.linejet.com 的報文
(2)本地的域名服務器收到請求后, 查詢本地緩存, 假設沒有該紀錄, 則本地域名服務器dns.company.com 則向根域名服務器NS.INTER.NET 發(fā)出請求解析域名www.linejet.com
(3)根域名服務器NS.INTER.NET 收到請求后查詢本地記錄得到如下結(jié)果:linejet.com NS dns.linejet.com (表示linejet.com 域中的域名服務器為:dns.linejet.com ), 同時給出
,dns.linejet.com 的地址, 并將結(jié)果返回給域名服務器dns.company.com 。
(4)域名服務器dns.company.com 收到回應后, 再發(fā)出請求解析域名www.linejet.com 的報文。
(5)域名服務器 dns.linejet.com 收到請求后, 開始查詢本地的記錄,找到如下一條記錄:www.linejet.com A 211.120.3.12 (表示linejet.com 域中域名服務器dns.linejet.com 的IP 地址為:211.120.3.12), 并將結(jié)果返回給客戶本地域名服務器dns.company.com 。
(6)客戶本地域名服務器將返回的結(jié)果保存到本地緩存, 同時將結(jié)果返回給客戶機。 這樣就完成了一次域名解析過程
查詢響應類型
DNS 服務器對于客戶請求的答復具有多種類型,常見的有以下四種:
權威答復:權威答復是返回給客戶的正向答復,并且設置了DNS 消息中的權威位。此答復代表從具有權威的DNS 服務器處發(fā)出;
正向答復:正向答復包含了匹配客戶端解析請求的資源記錄;
參考答復:參考答復只在DNS 服務器工作在迭代模式下使用,包含了其他有助于客戶端解析請求的信息。例如,當DNS 服務器不能為客戶端發(fā)起的解析請求找到某個匹配值時,則向DNS 客戶端發(fā)送參考回復,告訴它有助于解析請求的信息;
否定答復:否定答復指出權威服務器在解析客戶端的請求時可能遇到了以下兩種情況之一:
權威DNS 服務器報告客戶端查詢的名字不存在; 權威DNS 服務器報告存在對應的名字但是不存在指定類型的資源記錄。 無論正向答復還是否定答復,DNS 客戶端都將結(jié)果保存在自己的本地緩存中。