DNS(域名系统)是TCP/IP网络中用来将计算机“用户友好的”主机名翻译成它们相应的“机器友好的”IP地址。如果你希望用户能够在IP网络中使用主机名连接计算机(例如,在他们的浏览器地址窗口输入www.techrepublic.com,而不是www.techrepublic.com的web服务器的IP地址),你必须向他们提供一个可以解析这些名称的DNS服务器。
中央DNS数据库保存着注册的顶级域(例如.com)的信息而且Internet中的公用DNS服务器将用户的查询指引到正确的特定二级域名(例如techrepublic.com)DNS服务器上。多数公司有自己维护的DNS服务器,使得DNS成为分布式数据库。
即使没有将任何服务器连到Internet上,如果内部网络是一台Windows 2000,你仍需要DNS。Windows活动目录在局域网上需要DNS将主机(计算机)名解析为IP地址。
如果你正在构建一个新的网络,在设计DNS基础架构时提前计划可伸缩性是值得的。
DNS层次
创建一个将随着企业一起扩展的DNS基础架构的第一步是理解DNS是如何工作的。该系统以逻辑和物理上分层次的方式进行组织,在逻辑方面,DNS名字空间包括几个级别:
根级别 在一个DNS地址中,这用一个点(.)表示
顶级或第一级 这表示一个域类型(例如.com、.org、.net、.edu、.mil、.gov等等)。
第二级 这是你可以在(受ICANN信任的)官方登记处以年费注册的域名。
每个二级域必须在它的顶级域中是惟一的。换句话说,只能有一个mydomain.com,但是还可以有一个mydomain.net、mydomain.org等等。一些顶级域是受限制的,例如,只有教育机构可以注册.edu域,只有政府机构可以注册.gov域,等等。
需要提醒大家的是,尽管技术上所有以点结尾的Internet域名表示名字空间的根级别,但是目前使用的DNS软件不需要你输入结尾的点以解析名字。
在物理层次上,包括分布式DNS数据库部分的物理主机也以分层次的配置进行组织,它的实际工作原理是:例如Web浏览器需要使用一个域名(如www.mydomain.com)连接到另一台计算机的客户端程序,向客户端计算机配置使用的DNS发送查询(对于商业计算机,这可能是你所在组织的某台DNS服务器;对于家庭计算机,这或许是ISP的DNS服务器)。
如果你想解析的地址在.com顶级域中,你的DNS服务器向顶级DNS服务器发送一个.com查询。该顶级服务器让其数据库处理mydomain.com,所以它查询mydomain.com DNS服务器并询问www.mydomain.com的IP地址。然后你的浏览器可以使用该IP地址连接到www.mydomain.com Web服务器。所以如果再次查询相同的名字,客户端的Web服务器不必重复整个过程,因为www.mydomain.com的IP地址这一查询结果已经在其缓存中了。信息不会永久地保存在缓存中,在一段时间后,调用生存时间或TTL,缓存的信息就被删除。
配置可伸缩的DNS
DNS信息可以利用区域传输在多个DNS服务器之间进行复制。考虑到容错性,你的网络应该至少有为每个DNS区域配置的两个DNS(通常一个DNS域或子域)。一个是主DNS服务器,主要的区域文件保存于此。另一个是二级DNS服务器,它从主DNS获取DNS数据库信息,或是这个区域的权威DNS服务器。
当为你的内部网络建立DNS基础架构的时候,还有一个需要着重考虑的是名字空间。如果DNS只被用来进行内部查询,你不必注册域名。
对于可伸缩性,你应该以逻辑层次计划你的DNS名字空间,所以你可以容易地增加新区域而不会影响现有的名字空间。在根(Internet或内部)域下扩展名字空间最好不要超过五级。
如果你的内部网络跨越多个物理地点,最好的选择可能是使用对网络上所有顶级域都是权威的而且独立于Internet的内部DNS根区域。DNS名字空间可以构建在多个DNS服务器上以满足可伸缩性。在企业环境中,可以用多个顶级域创建一个DNS基础架构。
|
|
|
|
|
|
|
|
|