从上面的介绍中我们看到了,递归查询除在一开始客户端发起查询请求外,其他环节都是由本地域名服务器代替客户端进行的。而迭代查询则是指所有查询工作全部由客户端自己进行,除此之外,整个查询路径和步骤与递归查询没有太大区别。
首先客户端向本地域名服务器发起请求,如果本地域名服务器没有缓存记录,客户端便会依次对根域名服务器、顶级域名服务器和二级域名服务器等发起迭代查询,直到获得最终的查询结果。
1.在查询本地域名服务器时,如果客户端的请求报文中没有申请使用递归查询,即在DNS请求报文中的RD字段没有设置为1。
2.客户端在DNS请求报文中申请使用递归查询,但所配置的本地域名服务器禁止使用递归查询,即在应答DNS报文头部的RA字段设置为0。