14.1.4 DNS报文格式

本文介绍了DNS报文的基本格式,包括12字节的首部和四个长度可变的字段。详细解释了标识字段的作用,问题部分的格式以及资源记录的组成。此外,还列举了一些常用的DNS查询类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

14.1.4  DNS报文格式

 

DNS客户端与DNS服务器进行交互时,需要传送各种各样的数据报,这些数据报的总体格式如图14-6所示。DNS报文由12字节长的首部和4个长度可变的字段组成。标识字段由客户程序设置并由服务器返回结果,客户程序通过它来确定响应与查询是否匹配。标识字段包含了以下内容。

q      定义是查询报文还是响应报文;

q      查询类型是标准查询、反向查询还是服务器状态请求;

q      是否是权威回答;

q      查询方式是递归查询还是迭代查询;

q      是否支持递归查询;

q      查询是否有差错或要查的域名不存在。

问题部分中每个问题的格式如图14-7所示,通常只有一个问题。查询名是要查找的名字,它是一个或多个标识符的序列。每个标识符以首字节的计数值来说明随后标识符的字节长度,每个名字以最后字节为0结束,长度为0的标识符是根标识符。计数字节的值必须是063的数,因为标识符的最大长度仅为63。与其他常用报文格式不一样的是,该字段无需以整32bit边界结束,即无需填充字节。图14-8显示了如何存放域名www.wzvtc.cn。其中,352表示后续字符的个数。

14-6  DNS数据报的总体格式

 

 

14-7  DNS数据包问题部分格式

3

w

w

w

5

w

z

v

t

c

2

c

n

0

14-8  域名www.wzvtc.cn的表示方法

每个问题都有一个查询类型,而每个应答(也称为一条资源记录)也有一个应答类型。大约有20个不同的类型值,有一些目前已经过时,表14-1列出了常用的一些值。其中有两种可以用于查询类型:一种是A类型,表示期望获得查询名的IP地址。还有一种是PTR类型,表示请求获得一个IP地址对应的域名,也称为指针查询。查询报文格式中的查询类通常是1,指互联网地址。

%注意:某些站点也支持其他非IP地址查询,此时查询类将是其他数值。

14-1  DNS问题和响应的类型值和查询类型值

   

   

   

   

   

   

A

1

IP地址

HINFO

13

主机信息

NS

2

名字服务器

MX

15

邮件交换记录

CName

5

规范名称

AXFR

252

对区域转换的请求

PTR

12

指针记录

*ANY

255

对所有记录的请求

 

DNS报文一般格式中的最后3个字段是回答字段、授权字段和附加信息字段,它们均采用一种称为资源记录RRResource Record)的相同格式。图14-9显示了资源记录的格式,各个字段的含义如下:

 

 

 

14-9  DNS资源记录格式

q      域名是记录中资源数据对应的名字,它的格式和前面介绍的查询名字段格式(图14-8)相同。

q      类型说明RR的类型码,它的值的取值及含义见表14-1

q      类通常为1,指Internet数据。

q      生存时间字段是客户程序保留该资源记录的秒数,资源记录通常的生存时间值为        2天。

q      资源数据长度说明资源数据的数量。

q      资源数据的格式依赖于类型字段的值,对于类型1A记录)资源数据是4字节的IP地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值