DNS查詢過程

2021-10-04 21:22:00 字數 1237 閱讀 6890

dns(domain name system):將網域名稱和ip位址相互對映的乙個分布式資料庫服務。

dns使用的是網路查詢,使用的埠是53號埠;

通常dns是以udp資料傳輸協議來查詢的,當沒有查詢到完整的資訊時,就會再次以tcp這個協議來重新查詢。所以在啟動dns時,會同時啟動tcp和udp的53號埠。

下面介紹dns的查詢過程:

1.當客戶端在瀏覽器輸入網域名稱時,本主機的作業系統會先檢視本地的hosts檔案是否有該網域名稱的對映,如有,則直接使用該對映並返回給瀏覽器,完成解析;

2.如果沒有對映,則會查詢本地的dns解析器快取,如果有這個**對映,則返回給瀏覽器;

3.如果本地的hosts和解析器快取都沒有相應的對映關係,則會查詢tcp/ip引數中的設定的首選dns伺服器(本地dns伺服器),該伺服器收到查詢後,則在本地配置區域資源中檢視相關的對映,如果有,則返回給客戶機,完成網域名稱解析,該解析具有權威性;(如果該對映關係不是由本地的dns伺服器完成的解析,但是該伺服器已經快取此對映關係,並且返回給客戶機的話,該解析是不具有權威性的)

4.如果本地dns的區域檔案和快取都沒有找到相應的解析時,則會看本地dns是否設定了**器進行查詢:

1>如果未使用**模式:

①本地dns伺服器會把請求直接傳送給13臺根dns伺服器;

②根dns伺服器收到請求後,會判斷該網域名稱的頂級域是由哪一台dns伺服器負責的,並將該伺服器的ip返回給本地dns伺服器;

③本地dns伺服器收到ip後,聯絡負責該頂級域的dns伺服器。

這台伺服器收到請求後,如果自己無法解析,會判斷該網域名稱的下一級網域名稱是由哪一台dns伺服器負責的,並將該伺服器的ip返回給本地dns伺服器;

④本地dns伺服器收到這個ip後,去聯絡該ip對應的dns伺服器。

重複③的動作,直至找到完整的網域名稱對應的主機。

2>如果使用**模式:

①本地dns會把請求傳送給上一級的dns伺服器,由上一級dns伺服器進行解析;

如果上一級dns伺服器也無法解析的話,就會**給上上一級的dns伺服器或者轉給根dns伺服器,以此迴圈;

最後將結果返回給本地dns伺服器,然後再返回給客戶機;

需要注意的是:從客戶機到本地dns伺服器屬於遞迴查詢(只傳送一次請求);dns伺服器之間的互動查詢屬於迭代查詢(傳送多次請求)

DNS查詢過程

dns查詢過程 假設www.abc.com的主機要查詢www.xyz.abc.com的伺服器ip位址。知識點2 域 abc.com是乙個域,它可以劃分為多個區域,如abc.com和xyz.abc.com 步驟遞迴查詢 第二步 上一步無法找到,去dns本地伺服器 即域伺服器 查詢,其本質是去區域伺服器...

DNS解析和查詢過程

為什麼要 dns 解析?因為 http 是基於 tcp 連線的,而 tcp 則是通過 ip 位址去識別訪問的。dns 解析就是網域名稱轉化成 ip 位址的過程。dns解析過程 參考文章 地圖 當我們在瀏覽器的位址列輸入 譬如 www.linux178.com 然後回車,回車這一瞬間到看到頁面到底發生...

DNS 客戶端查詢過程

dns客戶端的註冊資訊在dns伺服器中是以記錄的方式體現出來的,那麼客戶端就可以用一些方式進行查詢各類記錄。相對應的,伺服器會對這些查詢進行響應,我們稱之為解析,至於dns內部的工作機制,我們不得而知,但可以通過一些命令和方法間接地了解dns查詢過程。為了更好的描述這個問題,我做了一張簡單的topo...