DNS工作原理

2021-08-15 09:06:25 字數 1866 閱讀 1525

我們通常使用機器的網域名稱來訪問這台機器,而不直接使用其ip位址。在訪問的過程中,將機器的網域名稱轉換為ip位址可以使用網域名稱查詢服務,網域名稱查詢服務有很多種實現方式,比如nis、dns和本地靜態檔案等。

dns查詢和應答報文詳解

dns是一套分布式的網域名稱服務系統。每個dns伺服器上存放著大量的機器名和ip位址的對映,並且是動態更新的,眾多網路客戶端程式都使用dns協議來向dns伺服器查詢目標主機的ip位址,dns查詢和應答報文的格式為:

16位標識字段用於標記一對dns查詢和應答,以此區分乙個dns應答是哪個dns查詢的回應。

16位標誌字段用於協商具體的通訊方式和反饋通訊狀態。dns報文頭部的16位標誌欄位的細節:

qr,查詢/應答標誌。0表示這是乙個查詢報文,1表示這是乙個應答報文。opcode,定義查詢和應答的型別。0表示標準查詢,1標識反響查詢(由ip位址獲得主機網域名稱),2表示請求伺服器狀態。

aa,授權應答標誌,僅由應答報文使用。1表示網域名稱伺服器是授權伺服器。

tc,截斷標誌,僅當dns報文使用udp服務時使用。因為udp資料報有長度限制,所以過長的dns報文將被截斷。1表示dns報文超過512位元組,並被截斷。

rd,遞迴查詢標誌,1表示執行遞迴查詢,即如果目標dns伺服器無法解析某個主機名,則它將向其他dns伺服器繼續查詢,如此遞迴,直到獲得結果並把該結果返回給客戶端。0表示執行迭代查詢,即如果目標dns伺服器無法解析某個主機名,則它將自己知道的其他dns伺服器的ip位址返回給客戶端,以供客戶端參考。

ra,允許遞迴標誌。僅由應答報文使用,1表示dns伺服器支援遞迴查詢。

zero,這三位未用,必須都設定為0。

rode,4位返回碼,表示應答的狀態,常用值由0(無錯誤)和3(網域名稱不存在)。

接下來的4個字段則分別指向dns報文的最後4個字段的資源記錄數目,對查詢報文而言,它一般包含1個查詢問題,而應答資源記錄數、授權資源記錄數和額外資源記錄數則為0,應答報文的應答資源記錄數則至少為1,而授權資源記錄數和額外資源記錄數可為0或者非0。

查詢問題的格式:

查詢名以一定的格式封裝了要查詢的主機網域名稱,16位查詢型別表示如何執行查詢操作,常見的型別有:

型別a,值是1,表示獲取目標主機的ip位址。

型別cname,值是5,表示獲得目標主機的別名。

型別ptr,值是12,表示反向查詢。

16位查詢類通常為1,表示獲取網際網路位址(ip位址)。

應答字段、授權欄位和額外資訊欄位都使用資源記錄格式。資源記錄格式:

32位網域名稱是該記錄中與資源對應的名字,其格式和查詢問題中的名字段相同。16位型別和16類字段的含義也與dns查詢問題的對應字段相同。

32位生存時間表示該查詢記錄結果可被本地客戶端程式快取多長時間,單位是秒。

16位資源記錄欄位和資源資料字段的內容取決於型別字段,對型別a而言,資源資料是32位的ipv4位址,而資源資料長度則是4(以位元組為單位)。

DNS 工作原理

我們通常使用機器的網域名稱來訪問這台機器,而不是直接使用其ip位址。那麼如何將機器的網域名稱轉換成ip位址呢?這就需要使用網域名稱查詢服務。而我學習了其中的dns網域名稱服務系統。dns是一套分布式的網域名稱服務系統。每個dns伺服器上都存放著大量的機器名和ip位址的對映,並且是動態更新。眾多網路客...

DNS 工作原理

在瀏覽器中輸入www.qq.com網域名稱,作業系統會先檢查自己本地的hosts檔案是否有這個 對映關係,如果有,就先呼叫這個ip位址對映,完成網域名稱解析。如果hosts裡沒有這個網域名稱的對映,則查詢本地dns解析器快取,是否有這個 對映關係,如果有,直接返回,完成網域名稱解析。如果hosts與...

DNS工作原理 簡述

歸納 記錄剛剛學到的一點東西,加深印象.1.網域名稱的劃分 管理 採用類似點分表示法,將網域名稱空間劃分成很多個域 區。每個域或區的主機資訊都由專門的程式來負責管理 名字伺服器 name server tips 域和區的區別 1 我們講 域 的時候,指的是乙個很廣的範圍 相對區要大 2 區是乙個域中...