下面就還以www.baidu,com這個**來分析一下dns的解析過程。
第一步:
當瀏覽器拿到輸入的www.baidu.com後,首先會去瀏覽器的dns快取中去查詢是否有對應記錄,如果查詢到記錄就可以直接返回ip位址,完成解析。
第二步:
如果瀏覽器沒有快取,那就再去查詢作業系統的快取,同樣的,如果查詢到記錄就可以直接返回ip位址,完成解析。
第三步:
如果作業系統也沒有快取,那就再去檢視本地host檔案,windows下host檔案一般位於 「c:\windows\system32\drivers\etc」。
第四步:
如果本地host檔案也沒有相應記錄,那就需要求助於本地dns伺服器了,所以應該要知道本地dns的ip位址。
本地dns伺服器ip位址一般是由本地網路服務商如移動、電信提供,一般是通過dhcp自動分配,當然你也可以自己手動配置。目前用的比較多的是谷歌提供的公用dns 8.8.8.8和國內的公用dns 114.114.114.114及阿里的223.5.5.5。
第五步:
找到本地dns後,它也會先去查詢一遍它自己的快取,如果有記錄就返回,如果沒有記錄,它將開始要去我們前面提到的根網域名稱伺服器查詢了。注意由於根網域名稱伺服器ip位址一般都是固定的,所以本地dns伺服器一般都內建了根網域名稱伺服器ip位址。
目前全球一共有13個根網域名稱伺服器(這裡並不是指13臺伺服器,是指13個ip位址,按字母a-m編號),為了能更高效完成全球所有網域名稱的解析請求,根網域名稱伺服器本身並不會直接去解析網域名稱,而是會把不同的解析請求分配給下面的其他伺服器去完成
第六步當根網域名稱接收到本地dns的解析請求後,發現是字尾是.com,於是就把負責.com的頂級網域名稱伺服器ip位址返給本地dns。
第七步本地dns拿著返回的ip位址再去找到對應的頂級網域名稱伺服器,頂級網域名稱又把負責該網域名稱的權威伺服器ip返回去。
第八步本地dns又拿著ip去找對應的權威伺服器,權威伺服器最終把對應的主機ip的解析記錄(俗稱a記錄)返回給本地dns。
第九步本地dns會將解析後的ip位址資訊進行快取,快取好將a記錄資訊返回給客戶端。
第十步客戶端收到本地dns響應的a記錄資訊,
會將a記錄快取到本地,然後使用解析後的ip位址訪問www.baidu.com。
至此就完成了網域名稱解析的全過程。
DNS網域名稱解析
dns是動態網域名稱系統的英文簡稱,是用來把我們輸入的網域名稱解析成ip位址的,如果沒有dns我們輸入的例如www.baidu.com這樣的網域名稱就無法被訪問。如果我們訪問 的時候要輸入ip位址的話,顯然既不方便也不容易記憶,所以我們用網域名稱來訪問 網域名稱雖然便於人們記憶,但網路中的計算機之間...
DNS網域名稱解析
一次請求過程大約經過三步 第一,dns網域名稱解析 第二,cdn獲取離使用者最近的節點 第三,建立http連線。今天和大家聊的是dns網域名稱解析。既然是dns網域名稱解析,那麼什麼是dns?dns domain name system,網域名稱系統 網際網路上作為網域名稱和ip位址相互對映的乙個分...
網域名稱解析 DNS
網際網路的網域名稱解析系統dns是乙個聯機分布式資料庫系統,並採用客戶 伺服器體系。tcp ip應用程式使用它來完成主機名稱和ip位址之間的對映。dns使大多數名字都在本地解析,僅少量解析需要在網際網路上通訊,因此系統效率很高。由於dns是分布式系統,即使單個計算機除了故障,也不會妨礙整個系統正常執...