整個過程大體描述如下,其中前兩個步驟是在本機完成的,后8個步驟涉及到真正的域名解析服務器:
瀏覽器會檢查緩存中有沒有這個域名對應的解析過的IP地址,如果緩存中有,這個解析過程就結束。瀏覽器緩存域名也是有限制的,不僅瀏覽器緩存大小有限制,而且緩存的時間也有限制,通常情況下為幾分鐘到幾小時不等,域名被緩存的時間限制可以通過TTL屬性來設置。這個緩存時間太長和太短都不太好,如果時間太長,一旦域名被解析到的IP有變化,會導致被客戶端緩存的域名無法解析到變化后的IP地址,以致該域名不能正常解析,這段時間內有一部分用戶無法訪問網站。如果設置時間太短,會導致用戶每次訪問網站都要重新解析一次域名。
如果用戶瀏覽器緩存中沒有數據,瀏覽器會查找操作系統緩存中是否有這個域名對應的DNS解析結果。其實操作系統也有一個域名解析的過程,在Windows中可以通過C:WindowsSystem32driversetchosts文件來設置,在Linux中可以通過/etc/hosts文件來設置,用戶可以將任何域名解析到任何能夠訪問的IP地址。例如,我們在測試時可以將一個域名解析到一臺測試服務器上,這樣不用修改任何代碼就能測試到多帶帶服務器上的代碼的業務邏輯是否正確。正是因為有這種本地DNS解析的規程,所以有黑客就可能通過修改用戶的域名來把特定的域名解析到他指定的IP地址上,導致這些域名被劫持。
前兩個過程無法解析時,就要用到我們網絡配置中的"DNS服務器地址"了。操作系統會把這個域名發送給這個LDNS,也就是本地區的域名服務器。這個DNS通常都提供給用戶本地互聯網接入的一個DNS解析服務,例如用戶是在學校接入互聯網,那么用戶的DNS服務器肯定在學校;如果用戶是在小區接入互聯網,那么用戶的DNS就是再提供接入互聯網的應用提供商,即電信或聯通,也就是通常說的SPA,那么這個DNS通常也會在用戶所在城市的某個角落,不會很遠。Windows環境下通過命令行輸入ipconfig,Linux環境下通過cat /etc/resolv.conf就可以查詢配置的DNS服務器了。這個專門的域名解析服務器性能都會很好,它們一般都會緩存域名解析結果,當然緩存時間是受到域名的失效時間控制的。大約80%的域名解析到這里就結束了,所以LDNS主要承擔了域名的解析工作。
如果LDNS仍然沒有命中,就直接到Root Server域名服務器請求解析
根域名服務器返回給本地域名服務器一個所查詢的主域名服務器(gTLD Server)地址。gTLD是國際頂級域名服務器,如.com、.cn、.org等,全球只有13臺左右
本地域名服務器LDNS再向上一步返回的gTLD服務器發送請求
接受請求的gTLD服務器查找并返回此域名對應的Name Server域名服務器的地址,這個Name Server通常就是用戶注冊的域名服務器,例如用戶在某個域名服務提供商申請的域名,那么這個域名解析任務就由這個域名提供商的服務器來完成
Name Server域名服務器會查詢存儲的域名和IP的映射關系表,在正常情況下都根據域名得到目標IP地址,連同一個TTL值返回給DNS Server域名服務器
返回該域名對應的IP和TTL值,LDNS會緩存這個域名和IP的對應關系,緩存時間由TTL值控制
把解析的結果返回給用戶,用戶根據TTL值緩存在本地系統緩存中,域名解析過程結束
在實際的DNS解析過程中,可能還不止這10步,如Name Server可能有很多級,或者有一個GTM來負載均衡控制,這都有可能會影響域名解析過程。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74938.html
摘要:根域名服務器是最高層次的,全球共有套,它不直接用于域名解析,而是指明怎樣去查找對應。對象存儲一般會有三個備份,從而實現對存儲讀寫的負載均衡。小結是網絡世界的地址簿。 ????為什么在地址欄輸入域名,就能直接訪問到對應服務器?全局負載均衡和內部負載均衡又是什么?這些都和 DNS 解析息息相關,讓我們一起來解密 DNS 解析。 ????其實說起 DNS 解析,應該都知道它很像地址簿。就像我...
摘要:根域名服務器是最高層次的,全球共有套,它不直接用于域名解析,而是指明怎樣去查找對應。對象存儲一般會有三個備份,從而實現對存儲讀寫的負載均衡。小結是網絡世界的地址簿。 ????為什么在地址欄輸入域名,就能直接訪問到對應服務器?全局負載均衡和內部負載均衡又是什么?這些都和 DNS 解析息息相關,讓我們一起來解密 DNS 解析。 ????其實說起 DNS 解析,應該都知道它很像地址簿。就像我...
摘要:云廠商托管服務的域名解析注意事項使用云廠家提供托管式,的域名解析參數,通過界面創建的話,可能廠商界面沒有開放配置,采用了一些默認值,在使用時候,需要了解清楚廠商提供的默認配置,否則會存在問題。原文鏈接使用云廠商托管時容器域名解析注意事項 云廠商托管 Kubernetes 服務的 Pod 域名解析注意事項 使用云廠家提供托管式Kubernetes,Pod的域名解析參數,通過界面創建Pod...
閱讀 2471·2021-10-12 10:11
閱讀 1217·2021-10-11 10:58
閱讀 3257·2019-08-30 15:54
閱讀 695·2019-08-30 13:59
閱讀 666·2019-08-29 13:07
閱讀 1392·2019-08-26 11:55
閱讀 2132·2019-08-26 10:44
閱讀 2618·2019-08-23 18:25