在DNS查询过程中有两种查询类型:递归查询和迭代查询:

1、递归查询

当DNS客户端按照它的DNS服务器列表向DNS服务器发出查询请求的时候,接受查询请求的DNS服务器和客户端之间的查询关系一般都是递归查询。该DNS服务器会查询自己的区域文件、缓存,如果没有找到结果就向别的DNS服务器查询。递归查询时客户端得到的结果只能是成功或失败,接受查询的DNS服务器必须告诉客户端请求查询的IP地址或者告诉客户端找不到请求的地址及找不到的原因(查询超时或遇到错误)。

不是所有的查询都是递归查询,只有满足以下条件才会进行递归查询,否则将进行迭代查询。

a、客户机要求递归查询。

b、DNS服务器接受递归查询。

注意:

因为递归查询比较占用系统资源,有安全方面的隐患,所以可以设置DNS服务器不接受递归查询。

2、迭代查询

迭代查询又称为简单查询,是指DNS服务器根据自己的高速缓存或区域的数据,以最佳结果作答。如果DNS服务器无法解析,它可能返回一个指针。指针指向可能有目标域名记录的DNS服务器,继续该过程,直到找到拥有目标记录的DNS服务器,或者直到查询出错或超时为止。

注意:

DNS服务器之间一般都是发送迭代查询的请求,除非DNS服务器接受了一个递归查询请求,并且无法解析该查询,这时该服务器将向转发器中的DNS服务器发送递归查询请求。如果没有设置转发器,该服务器将向根提示中的根服务器发送迭代查询的请求,