Windows 2003 DNS 上,如果 DNS Client 所需要的记录并不在 DNS Server 上, DNS 服务器就会去查找别的 DNS 。查找方式有两种,分别是递归查询和迭代查询。查询的设置具体是体现在根提示和转发器上的。使用根提示是迭代查询,而转发器是递归查询。
那大家就要问了,既然都能起到同样的作用,两种方式有什么区别呢?我分析了一下,有 2 点。
第一,转发器(递归查询)更节省服务器资源。迭代查询的原理是 DNS Client DNS Server 要记录, DNS 服务器没有, DNS 服务器把转发的目标 DNS 服务器 IP 地址告诉 DNS Client ,然后 DNS Client 直接与目标 DNS 服务器进行通信,不经过原 DNS 服务器。递归查询的原理是 DNS Client DNS Server 要记录, DNS 服务器没有, DNS 服务器会向目标 DNS 服务器查询。目标 DNS 服务器会把查询结果给原 DNS 服务器,原 DNS 服务器再把结果送到 DNS Client 。也就是说原 DNS 服务器起到了 代理 的作用。那么,在大量 DNS Client DNS Server 查询的时候,转发器就是最佳的选择。
第二,转发器可以设置条件。在转发器中,可以设置查询哪个 DNS 地址转向哪个目标 DNS 服务器,而根提示则是不分条件,所有的请求都转向目标 DNS 服务器。