DNS=本地域名伺服器,當用戶訪問一個網址,計算機就會提出域名解析請求,並發給本地域名伺服器,本地域名伺服器收到請求後,查詢本地資源,如有記錄則返回查詢結果,如果資源較少會導致訪問網址載入速度變慢,此時可以換一個DNS。
第二步:當本地的域名伺服器收到請求後,就先查詢本地的快取,如果有該紀錄項,則本地的域名伺服器就直接把查詢的結果返回.
第三步:如果本地的快取中沒有該紀錄,則本地域名伺服器就直接把請求發給根域名伺服器,然後根域名伺服器再返回給本地域名伺服器一個所查詢域(根的子域)的主域名伺服器的地址.
第四步:本地伺服器再向上一步返回的域名伺服器傳送請求,然後接受請求的伺服器查詢自己的快取,如果沒有該紀錄,則返回相關的下級的域名伺服器的地址.
第五步:重複第四步,直到找到正確的紀錄.
第六步:本地域名伺服器把返回的結果保存到快取,以備下一次使用,同時還將結果返回給客戶機.
讓我們舉一個例子來詳細說明解析域名的過程.假設我們的客戶機如果想要訪問站點:www.linejet.com此客戶本地的域名伺服器是dns.company.com , 一個根域名伺服器是NS.INTER.NET , 所要訪問的網站的域名伺服器是dns.linejet.com,域名解析的過程如下所示.
(1)客戶機發出請求解析域名www.linejet.com的報文
(2)本地的域名伺服器收到請求後, 查詢本地快取, 假設沒有該紀錄, 則本地域名伺服器dns.company.com則向根域名伺服器NS.INTER.NET發出請求解析域名www.linejet.com
(3)根域名伺服器NS.INTER.NET收到請求後查詢本地記錄得到如下結果:linejet.com NS dns.linejet.com (表示linejet.com域中的域名伺服器為:dns.linejet.com ), 同時給出dns.linejet.com的地址,並將結果返回給域名伺服器dns.company.com
(4)域名伺服器dns.company.com 收到回應後,再發出請求解析域名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),並將結果返回給客戶本地域名伺服器dns.company.com
(6)客戶本地域名伺服器將返回的結果保存到本地快取,同時將結果返回給客戶機.
這樣就完成了一次域名解析過程.