DNS协议报文(RFC1035)
一、域名和资源记录的定义
1、Name space definitions
2、资源记录定义(RR definitions)
2.1 格式
nothing on you歌词 后面分析报文的时候详细解释。
2.2 类型值(TYPE values)
类型主要用在资源记录中,注意下面的值是QTYPE的一个子集。
类型 值和含义
A 1 a host address
磨损的意思 NS 2 an authoritative name rver
MD 3 a mail destination (Obsolete - u MX)
MF 4 a mail forwarder (Obsolete - u 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 rvice 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.3 查询类型(QTYPE values)
查询类型出现在问题字段中,查询类型是类型的一个超集,所有的类型都是可用的查询类型,其他查询类型如下:
AXFR 252 A request for a transfer of an entire zone
qs全球大学排名 MAILB 253 A request for mailbox-related records (MB, MG or MR)
MAILA 254 A request for mail agent RRs (Obsolete - e MX)
* 255 A request for all records
2.4 类(CLASS values)
IN 1 the Internet
CS 2 the CSNET class (Obsolete - ud only for examples in some obsolete RFCs)
CH 3 the CHAOS class
sulayman HS 4 Hesiod [Dyer 87]
2.5 查询类(QCLASS values)
查询类是类的一个超集
* 255 any class
3、Standard RRs
kill bill
3.1 CNAME RDATA format
3.2 HINFO RDATA format
for instance 3.3 MB RDATA format (EXPERIMENTAL)
3.4 MD RDATA format (Obsolete)
3.5 MF RDATA format (Obsolete)
3.6 MG RDATA format (EXPERIMENTAL)
3.7 MINFO RDATA format (EXPERIMENTAL)
3.8 MR RDATA format (EXPERIMENTAL)
3.9 MX RDATA format
3.10 NULL RDATA format (EXPERIMENTAL)
3.11 NS RDATA format
3.12 PTR RDATA format
3.13 SOA RDATA format
3.14 TXT RDATA format
4、ARPA Internet specific RRs
4.1 A RDATA format
4.2 WKS RDATA format
5、IN-ADDR.ARPA domain
6、Defining new types, class, and special namespaces
二、报文
1、报文格式(Format)
dns请求和应答都是用相同的报文格式,分成5个段(有的报文段在不同的情况下可能为空),如下:
+---------------------+
| Header | 报文头
+---------------------+
| Question | 查询的问题
+---------------------+
| Answer | 应答
+---------------------+
snicker
| Authority | 授权应答
+---------------------+
| Additional | 附加信息
+---------------------+
括号英文
Header段是必须存在的,它定义了报文是请求还是应答,也定义了其他段是否需要存在,以及是标准查询还是其他。
Question段描述了查询的问题,包括查询类型(QTYPE),查询类(QCLASS),以及查询的域名(QNAME)。剩下的3个段包含相同的格式:一系列可能为空的资源记录(RRs)。Answer段包含回答问题的RRs;授权段包含授权域名服务器的RRs;附加段包含和请求相关的,但是不是必须回答的RRs。
1.1 Header的格式长颈鹿的英语单词
报文头包含如下字段:
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR| Opcode |AA|TC|RD|RA| Z | RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QDCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ANCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| NSCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ARCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
各字段分别解释如下:
ID 请求客户端设置的16位标示,服务器给出应答的时候会带相同的标示字段回来,这样请求客户端就可以区分不同的请求应答了。
QR 1个比特位用来区分是请求(0)还是应答(1)。
OPCODE 4个比特位用来设置查询的种类,应答的时候会带相同值,可用的值如下:
0 标准查询 (QUERY)
1 反向查询 (IQUERY)
2 服务器状态查询 (STATUS)
lor是什么意思