DNS網域名稱解析過程 詳細

2022-06-08 21:51:14 字數 2739 閱讀 4624

根網域名稱伺服器root name server):根網域名稱伺服器是最高層次的網域名稱伺服器。所有的根網域名稱伺服器都知道所有的頂級網域名稱伺服器的網域名稱和ip位址。根網域名稱伺服器是最重要的網域名稱伺服器,因為不管是哪乙個本地網域名稱伺服器,若要對網際網路上任何乙個網域名稱進行解析(即轉換為p位址),只要自己無法解析,就首先要求助於根網域名稱伺服器。

頂級網域名稱伺服器top level domain server):這些網域名稱伺服器負責管理在該頂級網域名稱伺服器註冊的所有二級網域名稱。當收到dns查詢請求時,就給出相應的回答(可能是最後的結果,也可能是下一步應當找的網域名稱伺服器的ip位址)。

許可權網域名稱伺服器authoritative name server):乙個伺服器所負責管轄的(或有許可權的)範圍叫做區(zone)。各單位根據具體情況來劃分自己管轄範圍的區。但在乙個區中的所有節點必須是能夠連通的。每乙個區設定相應的許可權網域名稱伺服器,用來儲存該區中的所有主機的網域名稱到ip位址的對映。當乙個許可權網域名稱伺服器還不能給出最後的查詢回答時,就會告訴發出查詢請求的dns客戶,下一步應當找哪乙個許可權網域名稱伺服器。例如在圖6-2()中,區abc.com和區y.abc.com各設有乙個許可權網域名稱伺服器。

本地網域名稱伺服器local name server):當一台主機發出dns查詢請求時,這個查詢請求報文就傳送給本地網域名稱伺服器,首先在此伺服器中進行ip解析。每乙個網際網路服務提供者isp,或乙個大學,甚至乙個大學裡的系,都可以擁有乙個本地網域名稱伺服器。

查詢方式:

主機向本地網域名稱伺服器的查詢一般都是採用遞迴查詢(recursive query)

遞迴查詢:如果主機所詢問的本地網域名稱伺服器不知道被查詢網域名稱的ip位址,那麼本地網域名稱伺服器就以dns客戶的身份,向其他根網域名稱伺服器繼續發出查詢請求報文(即替該主機繼續查詢),而不是讓該主機自己進行下一步的查詢。因此,遞迴查詢返回的查詢結果或者是所要查詢的ip位址,或者是報錯,表示無法查詢到所需的ip位址。

本地網域名稱伺服器向根網域名稱伺服器的查詢通常是採用迭代查詢(iterative query)

迭代查詢:當根網域名稱伺服器收到本地網域名稱伺服器發出的迭代查詢請求報文時要麼給出所要查詢的ip位址,要麼告訴本地網域名稱伺服器:「你下一步應當向哪乙個網域名稱伺服器進行查詢」。

然後讓本地網域名稱伺服器進行後續的查詢(而不是替本地網域名稱伺服器進行後續的查詢)。根網域名稱伺服器通常是把自己知道的頂級網域名稱伺服器的ip位址告訴本地網域名稱伺服器,讓本地網域名稱伺服器再向頂級網域名稱伺服器查詢。

頂級網域名稱伺服器在收到本地網域名稱伺服器的查詢請求後,要麼給出所要查詢的ip位址,要麼告訴本地網域名稱伺服器下一步應當向哪乙個許可權網域名稱伺服器進行查詢,本地網域名稱伺服器就這樣進行迭代查詢。

最後,知道了所要解析的網域名稱的ip位址,然後把這個結果返回給發起查詢的主機。當然,本地網域名稱伺服器也可以採用遞迴查詢,這取決於最初的查詢請求報文的設定是要求使用哪一種查詢方式。

查詢流程:

假定網域名稱為 m.xyz.com 的主機想知道另一台主機(網域名稱為y.abc.com)的ip位址,圖(a)就是所有的查詢步驟

主機 m.xyz.com 先向其本地網域名稱伺服器 dns xyz.com 進行遞迴查詢。

本地網域名稱伺服器採用迭代查詢。它先向乙個根網域名稱伺服器查詢。

本地網域名稱伺服器向頂級網域名稱伺服器 dns.com進行查詢。

本地網域名稱伺服器向許可權網域名稱伺服器 dns.abc.com進行查詢

許可權網域名稱伺服器 dns.abc.com告訴本地網域名稱伺服器,所查詢的主機的ip位址。

本地網域名稱伺服器最後把查詢結果告訴主機 m.xyz.com

以上 8 個步驟總共要使用 8 個udp使用者資料報的報文。本地網域名稱伺服器經過三次迭代查詢後,從許可權網域名稱伺服器dns:abc.com得到了主機y.abc.com的ip位址,最後把結果返回給發起查詢的主機 m.xyz.com

圖(b)是本地網域名稱伺服器採用遞迴查詢的情況

在這種情況下,本地網域名稱伺服器只需向根網域名稱伺服器查詢一次,後面的幾次查詢都是在其他幾個網域名稱伺服器之間進行的整個的查詢也是使用8個udp報文

為了提高dns查詢效率,並減輕根網域名稱伺服器的負荷和減少網際網路上的dns查詢報文數量,在網域名稱伺服器中廣泛地使用了快取記憶體(有時也稱為快取記憶體網域名稱伺服器)

由於名字到位址的繫結並不經常改變,為保持快取記憶體中的內容正確,網域名稱伺服器應為每項內容設定計時器並處理超過合理時間的項

DNS網域名稱解析過程

1.應用發起基於網域名稱的請求後,linux先查詢本地dns cache。2.本地dns cache命中 cache中有該網域名稱的紀錄項 則返回目標ip位址,否則將網域名稱解析請求傳送給本地網域名稱解析伺服器 dns server 3.網域名稱伺服器 dns server 收到請求後,先查詢本地快...

DNS網域名稱解析過程

1 瀏覽器會檢查快取中有沒有儲存過這個ip位址 如果當前快取中有此ip位址則本次解析到此結束,可以直接訪問ip位址,否則進行下一步。2 檢查作業系統快取 如果系統快取了此ip對映。本次解析到此結束,否則進行下一步 3 檢查ldns快取 本地網域名稱伺服器一般為網路服務提供商提供,比如電信聯通或者校園...

DNS網域名稱解析過程

dns,就是domain name system的縮寫,翻譯過來就是網域名稱系統,是網際網路上作為網域名稱和ip位址相互對映的乙個分布式資料庫。dns能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的ip數串。通過網域名稱,最終得到該網域名稱對應的ip位址的過程叫做網域名稱解析 或主...