域名系统DNS

DNS服务器存储了一个有着IP地址和DNS名字映射资源记录的数据库,并将其和客户端与其他DNS服务器共享。

1.DNS数据包结构

偏移位 0-15 16-31
0 DNS ID号 QR | 操作代码| AA | TC | RD | RA | Z | 响应代码
32 问题计数 回答区段
64 域名服务器计数 额外记录计数
96 问题区段 回答区段
128 权威区段 额外信息区段
  • DNS ID号(DNS ID Number):用来应对DNS查询和DNS响应。
  • 查询/响应(Query/Response):用来指明这个数据包是DNS查询还是响应。
  • 操作代码(OpCode):用来定义消息中的请求类型。
  • 权威应答(Authoritative Answer):如果响应数据包中设定了这个则说明这个响应是由域内权威域名服务器发出的。
  • 截断(Truncation):用来指明这个响应由于太长,无法装入数据包而被截断。
  • 期望递归(Recursion Desired):当请求中设定了这个值,则说明DNS客户端在目标域名服务器不含有所请求信息的情况下,要求进行递归查询。
  • 可用递归(Recursion Available):当响应中设定了这个值,说明域名服务器支持递归查询。
  • 响应代码(Response Code):在DNS响应中用来指明错误。
  • 问题计数(Question Count):在问题区段中的条目数。
  • 回答计数(Answer Count):在回答区段中的条目数。
  • 域名服务器计数(Name Server Count):在权威区段的域名资源记录数。
  • 额外记录计数(Additional Records Count):在额外信息区段中其他资源记录数。
  • 问题区段(Question section):大小可变,包含有被发送到DNS服务器的一条或多条的信息查询的部分。
  • 回答区段(Answer Section):大小可变,含有用来回答查询的一条或多条资源记录。
  • 权威区段(Authority Section):大小可变,包含指向权威域名服务器的资源记录,用以继续解析过程。
  • 额外信息区段(Additional Information Section):包含资源记录且大小可变的区段,这些资源记录用来存储完全没有必要回答的查询相关的额外信息。

2.常用的DNS资源记录类型

类型 描述
A IPv4主机地址
2 NS 权威域名服务器
5 CNAME 规范别名
15 MX 邮件交换
16 TXT 文本字符串
28 AAAA IPv6主机地址
251 IXFR 增量区域传送
252 AXFR 完整区域传送
  • 完整区域传送(AXFR):这个类型的传送将整个区域在设备间进行传送。
  • 增量区域传送(LXFR):这个类型的传送仅传送区域信息的一部分。

上面是指DNS主备服务器之间信息同步的不同方案。