標籤:logs 網路 img 沒有 全球 配置 cal 控制 查詢
當我們開啟瀏覽器,輸入一個URL去請求我們需要的資源,但是URL是需要解析成對應的IP地址才能與遠程主機建立串連,如何將URL解析成IP就是DNS的工作範疇,即使作為開發人員,這個過程我們也感覺不到,但是它卻真實的存在,如果任何一台DNS伺服器壞掉都會導致非常嚴重的互連網災難。
DNS伺服器的解析過程如所示:
這個DNS解析大概有十個步驟:
第一步:瀏覽器會檢查緩衝中有沒有這個網域名稱對應的解析過的IP,如果緩衝中有,這個解析過程就將結束。所以很多時候因為瀏覽器的DNS緩衝的問題,導致訪問某個資源出現問題,是因為DNS的解析出問題了。
第二步:如果使用者的瀏覽器緩衝中沒有,瀏覽器會尋找作業系統緩衝中是否有這個網域名稱對應的DNS解析結果。
第三步:如何、怎麼知道網域名稱伺服器呢?我們的網路設定中都會有“DNS伺服器位址”這個選項,如果前面的兩個過程無法解析,則會把這個網域名稱發送給這裡設定的LDNS,也就是本地區的網域名稱伺服器。如所示:
一般這種專門的網域名稱解析器效能都會非常好,它們一般都會緩衝網域名稱解析結果,大約80%的網域名稱解析工作都到這裡就已經完成了,所以LDNS主要承擔了網域名稱的解析工作。
第四步:如果LDNS仍然沒有命中,就直接到Root Server網域名稱伺服器請求解析。
第五步:根據網域名稱伺服器返回給本地區名伺服器一個所查詢的主網域名稱伺服器(gLTD Server)地址。gLTD是國際頂級網域名稱伺服器,如.com、.cn、.org等,全球只有13台左右。
第六步:本地區名伺服器(Local DNS Server)再向上一步返回的gLTD伺服器發送請求。
第七步:接受請求的gLTD伺服器尋找並返回此網域名稱對應的Name Server網域名稱伺服器的地址,這個Name Server通常就是你註冊的網域名稱伺服器,例如你在某個網域名稱服務 (DNS)供應商申請的網域名稱,那麼這個網域名稱解析任務就由這個網域名稱供應商的伺服器來完成。
第八步:Name Server網域名稱伺服器會查詢儲存的網域名稱和IP的映射關係表,正常情況下根據網域名稱得到目標的IP記錄,連同一個TTL值返回給DNS Server網域名稱伺服器。
第九步:返回該網域名稱對應的IP和TTL值,Local DNS Server會緩衝這個網域名稱和IP的對應關係,緩衝的時間由TTL值控制。
第十步:把解析的結果返回給使用者,使用者根據TTL值緩衝在本地系統緩衝中,網域名稱解析過程結束。
清除緩衝的網域名稱:
在一般的windows環境下的命令如:
詳解Web請求中的DNS網域名稱解析