DNS 工作原理

2021-07-15 07:12:57 字數 1500 閱讀 4436

我們通常使用機器的網域名稱來訪問這台機器,而不是直接使用其ip位址。那麼如何將機器的網域名稱轉換成ip位址呢?這就需要使用網域名稱查詢服務。而我學習了其中的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服務時使用。1表示截斷

rd,遞迴查詢標誌。1表示執行遞迴查詢(),0表示迭代查詢

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

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

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

接下來的4個字段則分別支出dns報文的最後4個字段的資源記錄數目。對查詢報文而言,它一般包含乙個查詢問題,而應答資源記錄數,授權資源記錄數和額外資源記錄數則為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位址可以使用網域名稱查詢服務,網域名稱查詢服務有很多種實現方式,比如nis dns和本地靜態檔案等。dns查詢和應答報文詳解 dns是一套分布式的網域名稱服務系統。每個dns伺服器上存放著大量...

DNS 工作原理

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

DNS工作原理 簡述

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