DNS解析過程是重點也是難點,下面我按自己的理解一步步來解釋,可能有錯誤之處,歡迎指正。以下步驟中,將DNS緩存中存在域名對應IP則DNS解析成功,用戶計算機將直接訪問服務器,若DNS服務器緩存中不存在域名對應IP,則自動進入下一步。
1.瀏覽器緩存
當用戶通過瀏覽器訪問某域名時,瀏覽器首先會在自己的緩存中查找是否有該域名對應的IP地址 (如曾經訪問過該域名並且沒有清空緩存便存在);
2.系統緩存
當瀏覽器緩存中無域名對應IP則會自動檢查用戶計算機系統Hosts文件DNS緩存是否有該域名對應IP;
3.路由器緩存
當瀏覽器及系統緩存中均無域名對應IP則進入路由器緩存中檢查,以上三步均爲客服端的DNS緩存;一般是家用的ADSL路由器。
4.ISP(互聯網服務提供商)DNS緩存
當在用戶客戶端查找不到域名對應IP地址,則將進入ISP DNS緩存中進行查詢。比如你用的是網通的網絡,則會進入網通的DNS緩存服務器中進行查找; 如北京網通的:202.106.0.20
5.根域名服務器
當以上均未完成,則進入根服務器進行查詢。全球僅有13臺根域名服務器,1個主根域名服務器,其餘12爲輔根域名服務器。根域名收到請求後會查看區域文件記錄,若無則將其管轄範圍內頂級域名(如.com)服務器IP告訴本地DNS服務器;
6.頂級域名服務器
頂級域名服務器收到請求後查看區域文件記錄,若無則將其管轄範圍內主域名服務器的IP地址告訴本地DNS服務器;
7.主域名服務器
主域名服務器接受到請求後查詢自己的緩存,如果沒有則進入下一級域名服務器進行查找,並重復該步驟直至找到正確紀錄;通常正常的域名直接就會返回結果。
8.保存結果至緩存