1
.不壓縮的
dns
網域名稱示例
示例一 3
www6
3com\0
示例二2ns9
xinnetdns
3com
\0以上數字(綠色背景框)表示計數,占用乙個位元組(它的值表示隨後的識別符號位元組數),接著是識別符號,大小為1
~63個位元組,最後以字元 『\0』 結尾。
對於mx請求返回的網域名稱,前面2個位元組用來標記郵件伺服器的preference(優先順序),並且對於壓縮的格式也一 樣。
示例三50(preference,2位元組)
5tommx
3163
3net\02
.壓縮的
dns網域名稱示例
dns返回的報文可能包括多個重複的網域名稱,因此使用壓縮方式。
壓縮方法很簡單,當乙個網域名稱中的識別符號是壓縮的,它的「
計數」位元組中的最高兩位將被設定為11。
這表示它是乙個
16 bit
指標而不再是
8 bit
的計數位元組。指標中的剩下
14 bit
表示該識別符號在
d n s報
文中所在的位置偏移(相對於
dns報文頭)。注意乙個指標可能指向乙個完整的網域名稱,也可能只指向
網域名稱的結尾部分,並且乙個網域名稱也可以前半部分不壓縮,僅對後半部分才應用指標壓縮。此外巢狀壓縮
也是存在的,即指標指向的網域名稱也可能是壓縮的(包含乙個指標)。
另外有兩點需要注意:
(1)乙個網域名稱僅能包含乙個指標,要麼只有兩個位元組就只包含乙個指標,要麼只在結尾部分跟隨乙個指標。
(2)包含指標的網域名稱無須以字元
『\0』
結尾。
原文連線如下:
DNS報文格式
dns報文格式 借個圖貼過來 說明一下 並不是所有dns報文都有以上各個部分的。圖中標示的 12位元組 為dns首部,這部分肯定都會有,首部下面的是正文部分,其中查詢問題部分也都會有。除此之外,回答 授權和額外資訊部分是只出現在dns應答報文中的,而這三部分又都採用資源記錄 recource rec...
DNS報文格式
dns協議執行在應用層,tcp ip需要使用ip位址,不能使用網域名稱,因此應用層需要將網域名稱轉換成ip位址。dns使用tcp或者udp,一般使用udp,port都是53.dns協議存在諸多rfc文件,每個rfc文件介紹其乙個側面,比如rfc 1035介紹的是網域名稱的實現和規範,rfc 1886...
DNS網域名稱系統
前言 學過計算機網路的我們知道,整個 internet 網路就是乙個單一的 抽象的網路,各個主機通過全世界範圍內唯一的 32位識別符號 ip 位址來標識唯一性,很顯然,在網際網路中它們只能通過 ipip ip202.108.22.5 然而,當我們想要訪問的 變多,我們就不得不記住一串又一串長達 32...