跳转至

DNS记录和报文

资源记录

所有 DNS 服务器存储了资源记录(RR),其提供主机名到 IP 地址的映射,每个 DNS 回答报文包含一条或者多条资源记录

资源记录的存储格式如下

(Name,Value,Type,TTL)

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 回答报文

并且两种报文有着相同的格式

img

上图的详细解释如下:

  • 首部区域中:标识符为 16 比特的数,用以标识该查询,匹配发送的请求和接收到的回答

  • 标志字符中:

    • 有 1 比特的查询回答标志位;当某 DNS 服务器是所请求名字的权威 DNS 服务器时,1 比特的 “权威的标志位” 放置在回答报文中
    • 还有 “希望递归” 比特位与 “递归可用” 比特位
  • 最后还有 4 个有关数量的字段,标识后续的字段出现次数

  • 问题区域包含正在查询的信息;包括:

    • (1)名字字段,正在被查询的主机名;
    • (2)类型字段,标识正在被询问的问题类型;
  • 在来自 DNS 服务器的回答中,包含对最初请求名字的资源记录,回答报文可以包含多条 RR,因此一个主机名可以有多个 IP 地址

  • 权威区域包含其他权威服务器的记录

  • 附加区域包含其他有帮助的记录