DNS记录和报文
资源记录
所有 DNS 服务器存储了资源记录(RR),其提供主机名到 IP 地址的映射,每个 DNS 回答报文包含一条或者多条资源记录
资源记录的存储格式如下
TTL
TTL 指的是该条资源记录的生存时间
Type
常见的 Type 的种类有以下几种:
- Type=A
Name 为主机名,Value 为该主机名对应的 IP 地址,所以类型为 A 的资源记录提供了标准的主机名到 IP 地址的映射
- Type=NS
Name 为一个域,Value 为一个知道如何获得该域中主机 IP 地址的权威 DNS 服务器的主机名
- Type=CNAME
Value 是别名为 Name 的主机对应的规范主机名,提供一个主机名对应的规范主机名
- Type=MX
Value 是一个别名为 Name 的邮件服务器的规范主机名
DNS 报文
DNS 只有两种报文:
- DNS 查询报文
- DNS 回答报文
并且两种报文有着相同的格式
上图的详细解释如下:
-
首部区域中:标识符为 16 比特的数,用以标识该查询,匹配发送的请求和接收到的回答
-
标志字符中:
- 有 1 比特的查询回答标志位;当某 DNS 服务器是所请求名字的权威 DNS 服务器时,1 比特的 “权威的标志位” 放置在回答报文中
- 还有 “希望递归” 比特位与 “递归可用” 比特位
-
最后还有 4 个有关数量的字段,标识后续的字段出现次数
-
问题区域包含正在查询的信息;包括:
- (1)名字字段,正在被查询的主机名;
- (2)类型字段,标识正在被询问的问题类型;
-
在来自 DNS 服务器的回答中,包含对最初请求名字的资源记录,回答报文可以包含多条 RR,因此一个主机名可以有多个 IP 地址
-
权威区域包含其他权威服务器的记录
-
附加区域包含其他有帮助的记录