DNS(Domain Name System)

功能:
FQDN(Fully Qualified Domain Name) ex. "www.google.com.tw"
           ↓       
         DNS
           ↓
IP ex. "74.125.23.94"

架構:
以組織性質.png  

以國碼.png  

com: 公司企業
org: 非營利組織
edu: 教育單位
gov: 政府單位
net: 網路中心
mil: 軍事單位
int: 國際組織     

查詢過程:

DNS查詢.png  

封包格式(Packet Format):

dns packet format.png  
DNS ID Number(DNS 識別代號):用來關聯DNS查詢與DNS回應
Query/Response(QR):0(query), 1(response)
OpCode(Operation Code):用來識別DNS封包類型

0 標準查詢(Standard Query)
1 逆向查詢(Inverse Query)
2 伺服器狀態
3-15 保留未使用


Flag:由左至右各占1bit,分別是AA(Authoritative Answer)、TC(Truncation)、RD(Recursion Desired)、RA(Recursion Available)
AA(Authoritative Answer):DNS伺服器得知要查詢的FQDN為管轄區域內的紀錄時,此欄位會設定為1;預設值為0。AA只用在回覆訊息
TC(Truncation):當欄位值為1,代表DNS封包長度大於512bytes,此時超過的長度會被截斷,只剩下512bytes。
RD(Recursion Desired):1代表用戶端是採用地回查詢模式,0代表用反覆查詢模式。RD用在詢問訊息,並複製至回覆訊息。
RA(Recursion Available):DNS名稱伺服器支援遞迴查詢模式時,此欄位值設定為1,0表示不接受該查詢模式,RA只用在回覆訊息。

Reserved:保留未用,欄位值全為0,不過有時當作Rcode欄位之擴充。
Rcode(Response Code):指出DNS查詢時所發出的錯誤訊息。

0 沒有錯誤
1 封包格是錯誤
2 名稱伺服器錯誤
3 查詢的FQDN不存在
4 不支援OP Code所指的DNS封包
5 DNS伺服器拒絕處理此封包
6-15 保留


Question Count:在Questions Section中項目之數量
Answer Count:在Answer Section中項目之數量
Authority RR Count or Name Server Count:在Authority Section中名稱伺服器資源紀錄的數量
Additional Records Count:在Additional Information Section中其他資源紀錄之數量

Question Section:分為QName, QType, QClass
QName(Question Name):此欄位指出所要解析的FQDN。例如FQDN為www.google.com
QType(Question Type):此欄位指出要查詢的資源紀錄類型。

欄位值 RR Type 代表意義
1 A 查詢主機位址紀錄
2 NS 定義有管轄權的名稱伺服器
5 CNAME 定義主機正規名稱的別名
6 SOA Zone檔案內的開始處
7 MB 油箱的網域名稱
10 NULL 無效的RR
11 WKS 主機公認的服務
12 PTR IP位址轉換成網域名稱
13 HINFO 指出主機硬體、作業系統等資訊
14 MINFO 指出油箱或郵件列表資訊
15 MX 電子郵件交換至郵件伺服器
16 TEXT 驗證來自某網域上的合法的電子郵件
255 ANY 查詢所有類型的RR


QClass(Question Class):此欄位指出要在哪一種類的網路上做DNS查詢。

等級 助記符號 說明
1 IN 網際網路
2 CS CSNET(已過時)
3 CH CHAOS等級
4 HS 與MIT Project Athena相關的Hesiod伺服器

 

Answer Section:存放要答覆給用戶端的資料。

Name 16 bits,用來存放用戶端查詢的FQDN
Type 16 bits,指出RData欄位內的資料意義
Class 16 bits,指出在RData欄位內的資料等級
TTL 32 bits,以秒為單位,用來指出資源記錄在被棄除之前,保留在DNS伺服器快取中的時間。若TTL為0,表示RR正被使用於交易進行中,所以不能存放在快取中。
RDLength 16 bits,指出在RData欄位的長度
RData 長度不一定,用來存放查詢的結果,通常是存放IP位址或FQDN。

 

Authority Section:表示在查詢FQDN時,找到可供查詢官方DNS所指向的資料。格式如同Answer Section,除了最後一個欄位RData不是存放IP位址,而是存放DNS伺服器的FQDN。
Additional Section:不同的RR中,有的需此Section處理。例如MX紀錄為了使被指定的郵件主機獲得交換,就會導致需處理TYPE A的Additional Section。

 

arrow
arrow
    全站熱搜

    LittleChoCho 發表在 痞客邦 留言(0) 人氣()