DNS中Forwarders与Conditional Forwarders分析及应用

首先我们需要简单了解 DNS 对域名解析的类型及基本过程。
查询请求的类型:
当一个 Name Server NS )收到一个请求时;它的处理过程依赖于查询请求类型。请求类型不是迭代模式就是递归模式
 
在迭代查询模式中, 客户端向 Name Server 发送域名解析请求,以获取可能的回答, Name
Server 会检查它的缓存及区域中记录;从缓存中获取的记录为非权威回答,从自身 DNS 区域中获取的记录为权威回答。客户端或收到这样的回答“ here is the IP address of the host you are looking for… ”或这样的回答“ "try this other name server instead, it might know the answer .
 
在递归查询模式中,事情有一点区别,客户端或收到一个完全答案 目标主机的 IP 地址是 …” 或是 ”Sorry, name not found”
 
Windows DNS 查询中,客户端总是发送递归请求到 Name Server ;然后 Name Server 通常发送迭代请求到其他的 Name Server
 
域名解析工作的基本步骤:
 
假设,有一家公司有个单独的 AD domain, 名为 ”Test.local.com”, domain controller DNS server 集成在一起,服务器名称为 SRV2003, 并且已经连接到 internet. 一个用户名为 Bill , 在他自己的台式机 DESK01 上打开了网页,输入 google.com ,需要进行访问,接下来我们会简单描述对 google.com 的解析过程:
1.       Desk01 发送一个递归查询到服务器 SRV2003, 要求解析 www.google.com IP 地址
2.       服务器 SRV2003 收到请求,查询其自身的 DNS 数据库及 Test.local.com 的区域中信息。通过比对认识到, www.google.com 不是其自身 Domain 的记录,无法解析此域名;接下来的步骤依赖于以下情况
a.       如果 SRV2003 没有连接 Internet , 并且没有其他的 DNS 服务器可用;那么服务器不得不返回一个 ”Name not found” 错误 给客户端Desk01,那么Bill就无法访问google.com
b.       如果SRV2003已经连接到internet网,那么它会联系第一个可用的Internet DNS server(root DNS Server已经存储在dns列表中当创建DNS服务时),然后继续下面的步骤
3.       SRV2003 发送迭代请求到第一个可用的根 DNS Server, 它会返回给 SRV2003 一个顶级级别 .com 的权威 DNS 服务器 IP 地址
4.       SRV2003 发送第二个迭代查询给 .com 服务器, 它会返回 google.com 域的一台 Name Server IP 地址的权威回答 .
5.       SRV2003 发送第三个迭代查询给 Google.com 域中 Name Server ,然后 Name Server 返回 google.com 的实际主机 IP 地址
6.       SRV2003 将实际主机 IP 地址返回给客户单 Desk01 Bill 就会在浏览器上看到 Google.com 的主页
分析:
通过以上步骤,我们不难看出频繁的请求通讯会占用大量的带宽,导致局域网内访问性能下降。
如果我们使用 Forwarder 将会怎样                     
 
我们可以设置 Forwarder 用于处理当前 DNS Name Server 服务器无法处理的请求。
Forwarder 的配置过程及界面如下:
DNS中Forwarders与Conditional Forwarders分析及应用_第1张图片
设置完毕后,我们重新来看解析步骤
1.       Desk01 发送递归查询请求到 SVR2003 要求解析 www.google.com, 获得 IP 地址
2.       SRV2003 检查缓存及自身区域中的记录(只对 Test.local.com ),意识到其自身无法解析 www.google.com, 然后检查它的 Forwarder 列表,是有 Forwarder 已经配置了此信息 .
3.       Forwarders 列表中,它发现公司配置的 Internet 服务提供者地址 ISP, 然后将这个查询转发 ISP 服务器
4.       ISP 服务器同样发送三次迭代查询,以获取最终的 www.google.com的主机IP 地址,过程参照上一个过程的步骤 3 4 5
5.       ISP 服务器将最终结果转给 SVR2003 服务器
6.       SRV2003 将实际主机 IP 地址返回给客户单 Desk01 Bill 就会在浏览器上看到 Google.com 的主页
 
从解析过程来看,解析的步骤并没有减少,那么有什么益处哪?
由于我们将解析的主过程放置在局域网外的ISP服务器中,这样避免了占用内部带宽,当然如果ISP如果返回IP地址,SRV2003服务器同样会调用根域服务器进行解析。
 
Conditional Forwarders 的使用
 
上面我们讲到了 Forwarders 的使用,那么 Conditional Forwarders 的使用哪
Conditional Forwarders 用来解析指定域的信息。假设你能够配置将 www.google.com 域名直接指向一个特定 Name Server, 那么它是如何来提高域名解析的速度,我们来看一下步骤:
1.       Desk01 发送递归查询请求到 SVR2003 要求解析 www.google.com, 获得 IP 地址
2.       SRV2003 检查缓存及自身区域中的记录(只对 Test.local.com ),意识到其自身无法解析 www.google.com, 然后检查它的 Forwarder 列表,是有 Forwarder 已经配置了此信息 .
3.       Forwarder 列表中,它发现了一个 Conditional Forwarder 配置,直接指定了 www.google.com 的命名主机 name Server, 然后它直接将请求发送给这个命名主机
4.       Google.com 的命名主机 Name Server 查询自身的区域记录,直接返回实际的 IP 地址给 SVR2003, 没有经过根 DNS 服务器
5.       SRV2003 将实际主机 IP 地址返回给客户单 Desk01 Bill 就会在浏览器上看到 Google.com 的主页,并且感慨“今天的网速真快”
               
如何配置Conditional Forwarders
 
1.       获取域的命名服务器地址 , 获取权威的回答,可以去 WHOIS 网址 http://www.networksolutions.com/whois/index.jsp, 输入你要查询的域名,获取 Name Server; 如果不需要获取权威的回答,使用命令 nslookup �Cqt=ns 域名 , 关于 nslookup 的使用可以参照我以前写的 nslookup 小结 http://blog.vsharing.com/BillMa/A1053860.html
配置 Conditional Forwarders
以上界面取自 Windows2008 R2 的版本,如果是 2003Server 版本在服务器属性 à Forwarder 中进行配置
 
Conditional Forwarders 的适用范围
 
1.       用于改善 2 个分离的域或公司的域名解析;以便读取局域网内的资源
2.       用于改善公司内部同一个森林下的不关联域的解析
3. 不建议用于指定外网的 Name Server ,虽然我们测试的实例采用 www.google.com

你可能感兴趣的:(递归,查询,dns,迭代,休闲,forwarders)