- 第一階段:本地主機上
- 在瀏覽器中輸入www.xxx.com域名,檢查瀏覽器緩存、檢查本地hosts文件是否有這個網址的映射,如果有,就調用這個IP地址映射,解析完成。
- 如果hosts里沒有這個域名的映射,則查找本地DNS解析器緩存,是否有這個網址映射關系,如果有,直接返回,完成域名解析。
- 第二階段:本地服務器上
- 如果hosts與本地DNS解析器緩存都沒有相應的網址映射關系,首先會找TCP/ip參數中設置的首選DNS服務器,在此我們叫它本地DNS服務器,此服務器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。如果要查詢的域名不由本地DNS服務器區域解析,但服務器緩存了此網址的映射關系,返回解析結果,查詢結束,此解析不具有權威性。
- 第三階段:網絡服務器之間
- 如果本地DNS服務器也失效:如果未采用轉發模式(迭代),本地DNS就把請求發至13台根DNS,根DNS服務器收到請求后,會判斷這個域名(如.com)是誰來授權管理,並返回一個負責該頂級域名服務器的IP,本地DNS服務器收到頂級域名服務器IP信息后,繼續向該頂級域名服務器IP發送請求,該服務器如果無法解析,則會找到負責這個域名的下一級DNS服務器(如http://baidu.com)的IP給本地DNS服務器,循環往復直至查詢到映射,將解析結果返回本地DNS服務器,再由本地DNS服務器返回解析結果,查詢完成。如果采用轉發模式(遞歸),則此DNS服務器就會把請求轉發至上一級DNS服務器,如果上一級DNS服務器不能解析,則繼續向上請求。最終將解析結果依次返回本地DNS服務器,本地DNS服務器再返回給客戶機,查詢完成。

