RPC系列協議--rfc1035--DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION

1.介紹

1.1 概述

域名的目標是提供一種命名資源的機制,使名稱在不同的主機、網絡、協議系列、internet和管理組織中可用。

1.2 通用配置

主機可以通過多種方式參與域名系統,這取決於主機是否運行從域系統檢索信息的程序、回答其他主機查詢的名稱服務器,或者這兩種功能的各種組合。最簡單,也可能是最典型的配置如下所示:

user queries
user responses
queries
responses
cache additions
references
User Program
Resolver
Foreign Name Server
cache

用戶程序通過解析器與域名空間交互;用戶查詢和用戶響應的格式是特定於主機及其操作系統的。用戶查詢通常是操作系統調用,解析器及其緩存將是主機操作系統的一部分。能力較差的主機可以選擇將解析器實現爲子程序,以便與每個需要其服務的程序鏈接在一起。解析器通過向外部名稱服務器和本地緩存查詢獲得的信息來回答用戶的查詢。

2.域名空間和RR定義

2.1 名稱空間定義

消息中的域名是用一系列標籤來表示的,名稱服務器和解析器必須以不區分大小寫的方式比較標籤。

2.2 RR定義

2.2.1 格式

所有RRs具有相同的頂級格式,如下所示:

名稱 定義
NAME 所有者名稱,即此資源記錄所屬的節點的名稱
TYPE RR類型
CLASS RR類
TTL 指定在再次查詢信息源之前緩存資源記錄的時間間隔。零值被解釋爲RR只能用於正在進行的事務,不應該緩存
RDLENGTH 指定RDATA字段長度
RDATA 該信息的格式根據資源記錄的類型和類而變化

2.2.2 TYPE值

類型字段用於資源記錄。注意,這些類型是QTYPEs的一個子集。

TYPE 含義
A 1 a host address
NS 2 an authoritative name server
MD 3 a mail destination (Obsolete - use MX)
MF 4 a mail forwarder (Obsolete - use MX)
CNAME 5 the canonical name for an alias
SOA 6 marks the start of a zone of authority
MB 7 a mailbox domain name (EXPERIMENTAL)
MG 8 a mail group member (EXPERIMENTAL)
MR 9 a mail rename domain name (EXPERIMENTAL)
NULL 10 a null RR (EXPERIMENTAL)
WKS 11 a well known service description
PTR 12 a domain name pointer
HINFO 13 host information
MINFO 14 mailbox or mail list information
MX 15 mail exchange
TXT 16 text strings

2.2.3 QTYPE值

QTYPE字段出現在查詢的問題部分。QTYPE是TYPE的超集,因此所有類型都是有效的QTYPE。另外,定義了以下QTYPE:

QTYPE 含義
AXFR 252 A request for a transfer of an entire zone
MAILB 253 A request for mailbox-related records (MB, MG or MR)
MAILA 254 A request for mail agent RRs (Obsolete - see MX)
* 255 A request for all records

2.2.4 CLASS值

類字段出現在資源記錄中。定義了以下類助記符和值:

CLASS 含義
IN 1 the Internet
CS 2 the CSNET class (Obsolete - used only for examples in some obsolete RFCs)
CH 3 the CHAOS class
HS 4 Hesiod [Dyer 87]

2.2.5 QCLASS值

QCLASS字段出現在查詢的問題部分。QCLASS值是類值的超集;每個類都是一個有效的QCLASS。除了類值之外,還定義了以下QCLASS:

QCLASS 含義
* 255 any class

3.消息

3.1 格式

域名協議內的所有通信都以一種稱爲消息的單一格式進行。消息的頂層格式分爲5個部分(有些部分在某些情況下是空的),如下所示:

名稱 定義
Header 包含Transaction ID和Flags
Questions 關於名稱服務器的問題
Answer RRs RRs回答問題
Authority RRs RRs認證
Additional RRs RRs額外信息

3.1.1 Header格式

名稱 定義
ID 由程序分配的用於生成任何類型查詢的16位標識符。此標識符複製相應的應答,請求者可以使用它來匹配未完成查詢的應答。
QR 指定此消息是query (0)還是response (1)
OPCODE 用於指定此消息中的查詢類型。該值由查詢發起者設置並複製到響應中。0代表是一個標準查詢
AA Authoritative Answer,此位在響應中有效,並指定響應名稱服務器是問題部分中域名的認證。
TC TrunCation,指定此消息由於長度大於傳輸通道上允許的長度而被截斷。
RD Recursion Desired,這個位可以在查詢中設置並複製到響應中。如果設置了RD,它將指示名稱服務器遞歸地跟蹤查詢。
RA Recursion Available,在響應中設置或清除的,它表示名稱服務器中是否提供遞歸查詢支持。
Z 留作將來使用。所有查詢和響應必須爲零。
RCODE Response code
QDCOUNT 用於指定問題部分中的條目數
ANCOUNT 用於指定答案部分中的資源記錄數
NSCOUNT 用於指定權限記錄部分中的名稱服務器資源記錄的數量
ARCOUNT 用於指定附加記錄部分中的資源記錄數

3.1.1.1 RCODE格式

定義
0 No error condition
1 Format error
2 Server failure
3 Name Error
4 Not Implemented
5 Refused
6-15 Reserved for future use

溫馨提示:
以上文章描述如有不清晰之處,歡迎在評論區評論,如有時間,會第一時間回覆,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章