DNS解析過程

2021-06-25 08:53:00 字數 1538 閱讀 2079

名詞解釋

dns(domain name server)網域名稱解析伺服器

url統一資源識別符號

ttl time-to-live 生存時間

ldns 本地dns伺服器

gtld全球dns伺服器

背景:在網際網路的世界中是用ip來標識一台伺服器的,因此在很早的時候大家都是通過ip來訪問其他伺服器上的資源的。倘若讓你在瀏覽器中輸入115.239.210.27這樣的url你肯定不能接受。所以把通過ip訪問替換成通過名字(網域名稱)訪問是很有必要的,因此把使用者輸入的名字解析成ip的服務也就應運而生了。

解析過程:

1.當使用者在瀏覽器輸入乙個網域名稱的時候,最先瀏覽器會從自己中的快取中尋找指定的結果。如果找到了網域名稱對應的的ip則網域名稱解析完成。這個快取空間大小是有限的,另外每一條結果都有過期時間,這個過期時間通過ttl屬性來指定。這個過期時間過長過短都不好。過長的話,如果伺服器的ip發生了變化則會發生訪問錯誤的伺服器的問題,如果過短的話,每次訪問都要重新解析一次網域名稱。

2.如果在瀏覽器中的快取沒有命中,則會在系統的快取中來查詢是這個網域名稱否有對應的dns解析結果,如果有則網域名稱解析完成。這個快取通常是以檔案的方式來儲存,比如windows下是通過c:\windwos\system32\driver\etc\hosts檔案來設定的,linux中則是/etc/named.confg檔案。通過編輯這個檔案我們能把網域名稱對映到任意乙個ip中。

如果前面連個流程都沒有找到指定網域名稱的解析結果,那麼下面就要進行真正的網域名稱解析了。為什麼叫真正的網域名稱解析呢?因為前面的都是在本機中完成的,下面的流程就要依賴外部伺服器來查詢指定的網域名稱的解析結果。

3.系統快取中未命中之後會把這個網域名稱提交到指定ldns伺服器中,這個伺服器就是你計算機設定(或自動獲取)的dns伺服器。如果你在學校的網路中,這個dns伺服器一定在你學校裡,如果你是在小區的網路,這個dns伺服器通常是運營商提供的。總之這個伺服器在物理位置上離你比較近。這個網域名稱解析伺服器快取了大量的網域名稱的dns解析結果。由於它的效能較好,物理上的距離又比較近,它通常會在很短的時間內返回指定網域名稱的解析結果。大約80%的dns解析需求在這一步就滿足了,所以ldns完成了大部分的dns解析任務。

4.如果指定的網域名稱在ldns伺服器的快取中仍然沒有命中,ldns會向root server傳送請求。

5.root server會返回給ldns乙個指定網域名稱對應的主網域名稱伺服器gtl的位址d,gtld是頂級網域名稱伺服器,如com,cn,org等,全球就十幾台。

6.ldns接下來會向這個gtld伺服器傳送網域名稱解析請求。

7.接受請求的gtld會返回給ldns乙個該網域名稱對應的name server伺服器位址,這個name server通常就是你註冊的網域名稱伺服器。例如你在某個網域名稱服務提供商申請的網域名稱,這個網域名稱就由他們的伺服器來解析。

8.name server會把指定網域名稱的ip和乙個ttl返回給ldns。

9.ldns會把這個結果快取下來,快取的過期時間由ttl來決定。

10.然後ldns再把這個結果返回給使用者,dns解析結束。

從上面來看如果ldns中沒有查詢到指定網域名稱的對應ip,則需要很長的時間來獲取解析結果。但是一旦解析結果被快取了,下次再請求同樣的網域名稱就不會這麼慢了。

DNS解析過程

你打入乙個 www.microsoft.com,按回車後。系統首先查詢本地dns客戶端快取中是否有這個網域名稱,如果你剛才已經訪問過這個 那麼快取中就會有對應的ip,系統就可以直接根據這個ip來連線 如果本地快取中無法找到對應的ip,系統將向dns伺服器 0.14 提交查詢請求。0.14在收到請求後...

DNS解析過程

分析析dns的解析過程 1 首先在解析器訪問本地名字伺服器時沒有快取網域名稱的情況 2 在解析器訪問本地名字伺服器時有快取網域名稱的情況,將訪問就近的祖先 假設我們的名字伺服器已經查詢過 www.baidu.com 的位址。在這個過程當中,它將把www.baidu.com 和baidu.com 的名...

DNS解析過程

過程解釋如下 1.首先會在本地機器上根據hosts中的網域名稱和ip對映關係,查詢到對應的ip內容,假設本地hosts設定有 通常這個在網際網路開發中使用,比如當你要進入某個介面進行斷點除錯時候使用 在比如當電腦會自動向某些流氓 傳送資訊的時候,你這麼設定後,資訊永遠不會發出你的電腦。2.如果本地的...