3.2辅域名服务器
辅域名服务器包含域的授权地址信息,但这些数据是从主服务器通过域区数据传送而获得的。辅服务器对数据的备份是很重要的,并且它们也应答查询,从而减轻了主服务器的负担。BIND8.x将辅服务器称为从属服务器。
辅服务器也是有授权的,因为它们也有域区文件的副本,这些副本是从主服务器在域区传送时获得的。辅域名服务器的功能包括两个方面:
•将工作负荷分布到几台计算机。因为现在有多台机器处理对一个域名的查询,解析查询的响应时间可以减少。负荷分布是因为解析器可以记录哪些域名服务器它们曾经使用过,以及这些服务器对每次查询的响应时间。
•取决于服务器所在的地理位置、路由等因素,有些服务器的响应比其他服务器更好一些。解析器利用所保持的信息来对不同的查询选择不同的域名服务器。
•冗余性。有了辅域名服务器,即使主服务器有故障而不能提供服务,域的请求仍然可以转发,查询仍然可以被解析。特别有用的是在地理位置不同的网络安置辅服务器,或是在一个国家的不同地区安排辅服务器。
对反向地址域和缓存的根域的本地主机解析每台计算机的0.0.127.in-addr.arpa域文件和根缓存文件的指向和内容通常都是相同的,因为每台计算机都有一个地址为127.0.0.1的回饶端口。回饶端口经常标识本地主机(localhost),用于网络服务的内部通信。
域名服务器可以通过本地主机地址调用自己来进行解析,这可以加速域名服务器的操作,因为此时的通信实际上并没有经过网络。
当然,如果仔细地看这些项目的话,就会发现活动目录集成域区的多主服务器(multi-master)模型在没有辅服务器的情况下,也能完成上述所有的功能。
电子邮件是必须设立冗余点的很好的实例。假设xyz.com在SanJose.California有它的主域名服务器。管理员决定在不同的子网设立辅服务器,但还在同一幢楼。如果xyz.com和Internet的连接因故断了,则它不能立即回答外部的DNS查询。如果有人要发电子邮件到xyz.com域,则肯定不能成功,而一般会得到“unknownhost(主机名未知)”错误。
现在假设xyz.com决定在美国的东海岸设立辅域名服务器,其域名为abc.com。如果xyz.com的连接断了,则查询仍将由在abc.com域的辅服务器来回答。此外,xyz.com解析外部查询的总体响应也会改善,因为它有了总体的分布式安排更便于处理从美国各地到来的查询。例如一件发送到xyz.com域的电子邮件,若出现了投递问题,就会再次排队,而不会就此终止传递。
以下例子显示了辅域名服务器的一个引导文件:
从上例可以看到域的数据源是来自主机192.168.1.220,这个辅域名服务器将存放域区文件的备份文件,并称为hosts.db。辅域名服务器缓存的指向也和主域名服务器一样。注意对于0.0.127.in-addr.arpa域来说它就是主域名服务器,因为回饶地址都是计算机自用的,因此每台机器对自己的回饶网络来说都是主服务器。
辅服务器并不一定必须存放域信息的备份,但一般都推荐这样做。辅服务器保持这样的本地副本使它能更快地启动,因为它启动时不必再立即向主服务器要求域区信息。并且如果数据正准备更新,不需要传送比检查新域区更多的信息。尽管这并不能保证这份初始数据一定是最新的,但至少辅服务器可以开始以这些数据来应答查询。
3.3缓存域名服务器
缓存服务器可以改进网络中DNS服务器的性能。当DNS经常查询一些相同的目标时,安装缓存服务器可以对查询提供更快速的响应,而不需要通过主服务器或辅服务器。缓存服务器所需的设置是很简单的,如以下例子所示:
缓存服务器的配置文件中只包括目录、回饶域(0.0.127.in-addr.arpa)和cache语句本身。
对缓存服务器的唯一要求是应有一个包含域名服务器本身在内的根缓存文件。因为缓存服务器是没有授权的,所以它也不能对域进行委托授权。缓存服务器可以配置为可转发查询,然后将结果存储起来,以便为响应今后的查询所用。
如果一个机关或企业已有ISP提供的主DNS服务,那么,再配置一个缓存服务器可以很好地改善系统的性能并且支持远程站点的链接。为了给Windows配置一个缓存服务器,DNS服务必须首先启动。当新的服务器建立后,cache和回饶将自动产生。唯一需要的操作是在Windows服务器重启以后和终止其他系统以后保证DNS服务的启动。大多数用于支持一个Windows域环境的DNS服务的安装不需要ISP(Internet服务提供商)。但是来自于公共名字空间ISP或内部名字服务器的外部名字,会给本地缓存带来很多好处。
缓存服务器有不少优点,主要的是对多用户来说,系统的性能提高了,否则的话,这些用户的查询还必须转发到另外的服务器来完成。缓存服务器也有缺点,它所存储的信息不一定是最新的。不过可以设置信息的有效时间,以便控制缓存服务器在到达设置的时限时放弃相应的缓存数据。一个问题是Windows2000DNS实现了NCACHE,或者说是忽略响应缓存。这通常不会带来问题,但有时也会带来混乱,特别是DNS管理员进行改变或测试时。