DNS是一套分布式的域名服务系统。在每台服务器上存放着大量的机器名和IP地址的映射,并且是动态更新的。

网络客户端使用DNS协议向DNS服务器查询目标主机的IP。


域名结构

DNS解析过程

级别低的域名在左边,级别高的域名在右边。


域名服务器

不同级别的域名服务器分别存放下级域名对应的服务器的地址。

解析域名时通过逐渐向下寻找找到目的域名的IP地址

域名解析过程

两个步骤:

一:本机向本地域名发送DNS请求报文。(递归查询)

二:本地域名服务器向本机回应一个DNS响应报文(迭代查询)。

  • 递归查询:本机向本地域名服务器发出一次查询请求,就静待最终的结果。如果本地域名服务器无法解析,自己会以DNS客户机的身份向其它域名服务器查询,直到得到最终的IP地址告诉本机
  • 迭代查询:本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询

DNS查询应答报文:

DNS解析过程

16位标识:标记一对一的DNS查询和应答

16位标志:用于协商具体通信方式和反馈通信状态。

DNS解析过程

接下来的4个字段为最后4个字段资源记录数目,长度都为16位。对于查询报文,一般包含一个查询问题,其余三个则为0

对于应答报文,应答资源记录数至少为1,其余则可为0或非0。

查询问题:

DNS解析过程

16位查询类型(A,CNAME,PTR)和16位查询类(1)

应答字段,授权字段,额外信息字段都使用资源记录格式(RR)格式

DNS解析过程




相关文章: