CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟

DNS专题(1)---域名系统简介②

ZDNet 软件频道    更新时间:2007-08-22作者:chinaitlab.com    来源:chinaitlab.com

本文关键词:   IP  Windows  服务器  DNS  

  DNS的数据文件中存储着主机名和与之相匹配的I P地址。从某种意义上说,域名系统类似于存储着用户名以及与此相匹配的电话号码的电话号码服务系统。虽然DNS记录中除了主机名和IP地址外还有一些其他的信息, DNS系统本身也有一些较复杂的问题要讨论,但DNS最主要的用途和对用户来说最重要的价值是,通过它可以从主机名找到与之匹配的IP地址,并且在需要时输出相应的信息。

  主机名和I P地址必须注册。注册就是将主机名和IP地址记录在一个列表或者目录中。注册的方法可以是人工的或者自动的、静态的或者动态的。过去的DNS服务器都是通过人工的方法来得到原始的主机注册,也就是说,主机在DNS列表中的注册是要由人工从键盘输入的。最近的趋势是动态的主机注册。更新是用DHCP服务器触发完成的,或者直接由具有动态DNS更新能力的主机完成。DHCP是Dynamic Host Configuration Protocol的缩写,即动态主机配置协议。

  除非使用动态D N S,D N S注册通常是人工的和静态的。Windows 2000中就提供了动态DNS的功能。当主机的信息有所变化时,主机记录的更新通常由人工来完成。图1 - 1表示了若干主机在DNS服务器中的注册。在DNS服务器中,最主要的信息只是主机名和I P地址(某些重要的例外见第4章)。

   

  图1 - 1并没有表示出主机名是如何注册的,因为注册的方法并不是只有一种。当然人工注册是最常见的,但也有若干自动注册的方法。自动注册的方法之一就是让DNS服务器去查阅WINS服务器。本书中将不断提到DNS和WINS的交互。通过WINS服务器的自动注册方法将在第16章中介绍。

  另一种自动注册的方法是通过DHCP服务器向具有动态DNS能力的DNS服务器注册名字。也就是DHCP服务器在客户机上网时自动给它分配一个I P地址。因为该方法经过完整的测试并受到广泛的支持,所以它是使用各种DNS服务器最容易的方法。该方法几乎在任何情况下都能正常工作。当注册完成以后(尤其是当已被提醒成功时),所有的DNS服务器都收到了主机的注册信息。

  大多数的计算机由人工向一台DNS服务器进行注册,这台服务器一般是和这些计算机在同一个大楼或者同一个校园,或者至少在同一个企业内。一般来说,中型或大型企业都有自己的DNS服务器。这时编辑和修改服务器的主机列表将比求别人—如Internet服务供应商—注册主机的变化既迅速又容易。当使用UNIX 或Windows 2000时,如果有一个内部环境,就很有可能需要自己在内部运行DNS。

  主机名必须在DNS服务器中注册,这台服务器称为主服务器。辅DNS服务器自动地从主DNS服务器获得所有的数据。管理员对这种备份很感兴趣,因为这可以让他们在几个不同的地方安置具有相同数据库的服务器。例如,中心办公室可以有一台主DNS服务器,而远地的机构可以有本地的辅服务器,以便加速地址的查找,也可防止因网络失效而找不到DNS服务器。主、辅DNS服务器的搭配使得所有的服务器都能找到已注册的主机,客户机能从离它最近的服务器获得回答。如果本地网络中的DNS服务器失效,无论安装的是Windows 2000还是其他操作系统,对主机的可用性都是一场灾难。而且如果一些主机通过辅服务器解析域名,还可以获得一定的负载平衡。

  1.1.3 主机地址的资源记录

  无论主机注册是如何完成的,这种注册的主要目的是在某个列表中记录下其他计算机在需要时可以被查到的主机名及其源地址,这种记录称为资源记录。资源记录可以有多种格式,第4章中将做详细介绍。

  图1 - 2显示了在Windows 2000 DNS管理器上显示的几个计算机的主机记录。

   

  如果使用的是UNIX DNS服务器和文本方式的配置文件,其条目就很像主机在这些记录中的注册( IN代表Internet,A代表地址Address ):如果使用的是Windows 2000 DNS,则可以将记录信息记录在同样的文件中,但也可以不必这样做。第一列为主机名(如host 1),第二列为记录的类型(本例中为Internet),第三列为资源记录的类型(A代表地址),第四列为I P地址。

  host1 IN A 207.33.46.51

  host2 IN A 207.33.46.52

  host3 IN A 207.33.46.53

  host4 IN A 207.33.46.54

  1.1.4 主机名的解析

  只要进行了注册,主机名就可以被解析。解析是一个客户端过程,目的是查找已注册的主机名或者服务器名以便得到相应的IP地址。客户端得到了目标主机的IP地址后,就可以直接在本地网上通信,或者通过一个或几个路由器在远程网上通信。显然,一个DNS服务器可以有许多已注册的主机。解析注册在同一台DNS服务器上的其他主机名应该是比较快的。一个具有上千主机的企业只需要少数几台DNS服务器。

  图1 - 3显示了DNS客户机如何解析另一个在同一台DNS服务器注册的主机名。

   

  图1-3 一个DNS客户机查询DNS服务器以解析另一个主机名

  1. 解析器

  本章对主机名查询的解释似乎意味着DNS服务器担当了所有的主机名解析工作。对此,必须有所澄清。实际上,主要的角色是一种称为解析器的程序,解析器运行在所有使用TCP/IP协议的有DNS能力的计算机上。解析器将包含网络主机域名的路径描述转换为查询请求。解析器甚至还可以缓存已定位的主机,以加速接通的过程。

  解析器几乎无所不在,可以是本地的或者远程的,可以在客户机上也可以在DNS服务器上。DNS服务器可以在需要时通过解析器查询另一台DNS服务器,这种情况是经常发生的。当一台DNS客户机作为客户机时,它的解析器就处于工作态,当一台DNS服务器作为客户机时,它的解析器也处于工作态。当一台DNS服务器作为服务器使用时,它的作用就是响应客户机的解析器的查询,而这台客户机也可能是另一台DNS服务器。

  RFC文件国际标准化机构和志愿管理机构共同管理Internet。这些管理机构通过工作委员会使用RFC文件来评估一些有可能成为标准的新思想。RFC文件可以由个人提出,也可以是出于某种商业利益的考虑。有不少RFC文件变成了正式的标准。要查阅R F C文件,可以通过http://www.dns.net/dnsrd/ 访问其中的域名服务资源目录,即dnsrd目录(Domain Name Services Resource Dictionary)。对DNS、Internet协议以及Internet本身的标准制定有影响的机构有:

  Internet体系结构组(IAB , Internet Architecture Board)。

  Internet授权地址分配组(IANA, Internet Assigned Number Authority),www.iana.org。

 Internet工程指导组(IESG, Internet Engineering Steering Group),www.ietf.org/iesg.html。

  Internet工程任务组(IETF, Internet Engineering Task Force),www.ietf.org。

  Internet 协会(ISOC, Internet Society),www.isoc.org。

  Internet网络信息中心(InterNIC),www.internic.net。

  RFC 1034“域名:概念和设备”中指出,解析器至少要访问一台域名服务器来直接得到所需信息,或通过其他的域名服务器来继续跟踪查询。在RFC 1034的第5、6页中说:“从解析器的角度来说,域名系统是由数目不详的域名服务器组成的,每台域名服务器具有整个域名树中的一个或几个分支的数据。”

  经过查询后,返回给解析器的结果可能是下列结果中的一种(见RFC 1034第2 9页):

  给出所需数据的一个或几个资源记录。在这种情况下,解析器将以适当的格式返回得到的回答。

  主机名错误。当所查询的名字不存在时给出这种错误。例如,可能是用户在键入主机名时出错。

  数据未找到错误。当存在所查询的主机名,但找不到相应的数据时出现这种错误。

  2. 逆向查找

  到目前为止,我们的讨论都是围绕着DNS如何从主机名查到IP地址。但也可以由IP地址来查找主机名,因为, DNS服务器中的数据文件是自动排序或者自动索引的,以便快速由名字查找,从IP地址出发的逆向查找还需要数据库按IP地址进行排序或索引。逆向查找也称为反向查询。

  DNS服务器用来进行逆向查找的数据库称为in-addr. arpa区或者称为ARPA域中的Internet地址区。如果仔细观察图1-2,可以看到属于207.33.46.9域名服务器的46.33.207. in-addr. arpa区。这个in-addr区包含一个从IP地址到主机名的数据库,以便服务器执行从I P地址出发而不是从主机名出发的查找。第4章在讲述反向地址记录(PTR)时将讨论这种反向映射是如何建立的。

  逆向查找的使用并不像正向查找那样普遍,但也不时有所使用。大多数的逆向查找是在用户(如系统管理员)已经知道本地主机的I P地址,但需要查找它的主机名时进行的。逆向查找的一种实际用途是查找一个已知I P地址的主机的全域名。FTP服务器有时也通过逆向查找来证实所连接的主机是否为它所宣布的主机。另外,一些工具如nslookup也使用逆向查找的特性(见第12章)。这种技术提供了另一种验证所连接的主机是否为假冒的方法,这可以减少但不能消除攻击。

  3. DNS服务器的搜索顺序

  可以设置DNS客户机为解析主机名搜索DNS服务器的顺序。图1-4显示了Windows 95客户机搜索DNS服务器的顺序。列表中的第一个DNS服务器地址为192.168.1.24,这台客户机就是在这台服务器中注册,并成为example.net域的一个成员。如果客户机通过查询第一台服务器不能得到答案,它将继续查询第二台、第三台服务器。Windows 2000 客户端的设置允许列表中有更多的服务器

[an error occurred while processing this directive]