DNS域名解析過程及如何進行優化


一個用戶在地址欄輸入例如www.baidu.com,DNS解析大概有10個過程:

DNS是Internet上作為域名和IP地址相互映射的一個分布式數據庫,是用戶更方便的訪問Internet,而不用去記住那些IP地址

①瀏覽器先檢查自身緩存中有沒有這個域名對應的IP地址,如果有,解析結束。

②如果瀏覽器緩存中沒有命中,瀏覽器會檢查自身操作系統緩存中有沒有相應的已經解析的過程。而且操作系統也有一個域名解析的過程。windows -> c盤 -> Windows -> System32 -> drivers -> etc -> hosts(如果在這里設置了一個域名對應的IP地址,那么瀏覽器就會首先使用這個IP地址,所以這種操作系統級別的域名解析通常會被黑客利用,通過修改你hosts文件里的內容把域名解析到他指定的ip地址上,造成所謂的域名劫持,所以將hosts文件設置成了只讀模式,防止被惡意篡改。)

③如果還沒有命中域名,這時才會真正的請求本地域名服務器(LDNS)來解析這個域名,這台服務一般在你城市的某個角落,距離不會很遠,並且他的性能很好,一般都會緩存域名解析結果,大概80%的域名解析到這里都結束了。

④如果本地域名服務器還是沒有命中,就直接跳到Root Server域名服務器請求解析

⑤Root Server服務器返回給LDNS一個所查詢域的主域名服務器地址(gTLD Server)

⑥這時LDNS再發送請求給上一步返回的gTLD

⑦接受請求的gTLD查找並返回這個域名對應的Name Server的地址,這個Name Server就是網站注冊的域名服務器

⑧Name Server根據映射關系表找到目標IP,返回給LDNS

⑨LDNS緩存這個域名和對應的IP

⑩LDNS把解析的結果返回給用戶,用戶根據TTL值(一條域名解析記錄在DNS服務器的存留時間)緩存到本地系統緩存中,域名解析過程到此結束。

瀏覽器如何通過域名去查詢URL對應的IP地址?

 

  1、瀏覽器緩存:瀏覽器會按照一定的頻率緩存DNS記錄。

 

  2、操作系統緩存:如果瀏覽器緩存中找不到需要的DNS記錄,那就去操作系統中找。

 

  3、路由緩存:路由器也有DNS緩存。

 

  4、ISP的DNS服務器:ISP是互聯網服務提供商(Internet Service Provider)的簡稱,ISP有專門的DNS服務器應對DNS查詢請求。

 

  5、根服務器:ISP的DNS服務器還找不到的話,它就會向根服務器發出請求,進行遞歸查詢(DNS服務器先問根域名服務器.com域名服務器的IP地址,然后再問.com域名服務器,依次類推)。

DNS優化與DNS負載均衡?

了解了DNS的過程,如果每次都經過這么多步驟,是否太耗時間?如何減少該過程的步驟呢? 
那就需要DNS優化了

DNS緩存

  DNS存在着多級緩存,從離瀏覽器的距離排序的話,有以下幾種: 瀏覽器緩存,系統緩存,路由器緩存,IPS服務器緩存,根域名服務器緩存,頂級域名服務器緩存,主域名服務器緩存。

DNS負載均衡

  互聯網用戶巨大的今天,假如億萬請求請求的資源都位於同一台機器上面,那么這台機器隨時可能會蹦掉。處理辦法就是用DNS負載均衡技術,它的原理是在DNS服務器中為同一個主機名配置多個IP地址,在應答DNS查詢時,DNS服務器對每個查詢將以DNS文件中主機記錄的IP地址按順序返回不同的解析結果,將客戶端的訪問引導到不同的機器上去,使得不同的客戶端訪問不同的服務器,從而達到負載均衡的目的。例如可以根據每台機器的負載量,該機器離用戶地理位置的距離等等。  

大家耳熟能詳的CDN(Content Delivery Network)就是利用DNS的重定向技術,DNS服務器會返回一個跟用戶最接近的點的IP地址給用戶,CDN節點的服務器負責響應用戶的請求,提供所需的內容。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM