域名管理系统

域名管理系统-域名解析服务器在一个TCP/IP架构的网络(例如Internet )环境中,DNS 是一个非常重要而且常用的系统。主要的功能就是将人易于记忆的Domain Name与人不容易记忆的IP

域名管理系统-域名解析服务器

在一个TCP/IP架构的网络(例如Internet )环境中,DNS 是一个非常重要而且常用的系统。主要的功能就

是将人易于记忆的Domain Name与人不容易记忆的IP Address作转换。而上面执行DNS 服务的这台网络主机

,就可以称之为DNS Server 。基本上,通常我们都认为DNS 只是将Domain Name 转换成IP Address,然后使用所查到的IP Address去连接(俗称“正向解析”)。事实上,将IP Address转换成Domain Name的功能也是相当常使用到的,当login 到一台Unix 工作站

时,工作站就会去做反查,找出你是从哪个地方连线进来的(俗称“逆向解析”)。

DNS 服务器用于TCP/IP网络(如一般的局域网或互联网等)中,它用来通过用户友好的名称(比如“www.popunet.com ”)代替难记的IP 地址(比如“61.186.250.41)以定位计算机和服务。因此,只要你需要用到如“www.popunet.com ”之类域名的地方,你都得首先确保已为此名字在DNS 服务器中作好了相应的和IP 地址的映射工作。 DNS 的工作原理

DNS 分为Client 和Server ,Client 扮演发问的角色,也就是问Server 一个Domain Name,而Server 必须要回答此Domain Name的真正IP 地址。而当地的DNS 先会查自己的资料库。如果自己的资料库没有,则会往该DNS 上所设的的DNS 询问,依此得到答案之后,将收到的答案存起来,并回答客户。 DNS 服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。 在每一个名称服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对的IP 地址记录在快取缓存区中,这样当下一次还有另外一个客户端到次服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接可以从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。例如: 当DNS 客户端向指定的DNS 服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称 如果没有,该服务器会先在自己的快取缓存区中查询有无该笔纪录,如果找到该笔名称记录后,会从DNS 服务器直接将所对应到的IP 地址传回给客户端 ,如果名称服务器在资料记录查不到且快取缓存区中也没有时,服务器首先会才会向别的名称服务器查询所要的名称。例如: DNS 客户端向指定的DNS 服务器查询网际网路上某台主机名称,当DNS 服务器在该资料记录找不到用户所指定的名称时,会转向该服务器的快取缓存区找寻是否有该资料 ,当快取缓存区也找不到时,会向最接近的名称服务器去要求帮忙找寻该名称的IP 地址 ,在另一台服务器上也有相同的动作的查询,当查询到后会回复原本要求查询的服务器,该DNS 服务器在接收到另一台DNS 服务器查询的结果后,先将所查询到的主机名称及对应IP 地址记录到快取缓存区中 ,最后在将所

,

查询到的结果回复给客户端 。

分布的信息

解决方案就是采用DNS 服务器系统。与主机表不一样,DNS 服务器不依赖一个大型映射文件,DNS 服务器只 包含有限的信息,因为他们知道到哪里能找到他们想知道的域的细节。当DNS 服务器得到对某个主机的请 求,而该请求的主机又并不在其缓冲内,那么DNS 服务器只是知道了这件事然后去询问知道答案的“某计 算机”。这台计算机是一种授权服务器,负责维护DNS 信息。如果某台服务器在被询问到其域内的某个地 址时它可以确定地指出该地址存在,那么这台服务器就是所谓的授权服务器。 如果接触的服务器并不包含有关的域名信息,该服务器就会将请求传递给接触链路上更高级别的授权服务

器,这样就形成了一系列查询直到最后找到需要的信息。实际上,这意味着请求可以被任意数量的服务器 处理,在Internet 上这种来来回回的行为每时每刻都在发生。最早发出请求的服务器将缓冲信息以满足未 来的需求而无须向授权服务器再发请求。DNS 服务器的管理员为这些信息设置了超时限制以避免缓冲中充 满了名字请求的旧数据。 DNS转换不会花费太多的时间,但它确实增加了你的请求到达远端计算机的时间。你可以自己做个快速测试 (虽然很简单):首先用域名,比如www.microsoft.com 来访问对应的Web 站点,然后用IP 地址

198.105.232.4再实验一下。如果你要这么做,则请务必关闭你的浏览器然后再重新打开以初始化新的会话; 否则你不过是载入了页面的缓冲版本(记住装载页面的延迟原因可能来自许多因素,所以对结果要有所保留)。 DNS服务的最常用软件是Berkeley Internet Name Domain,也就是BIND ,它源自U.C. Berkeley但现在则由 Internet Software Consortium.负责。其最新版本4.9.3包含了标准的 Unix版本和附加的Windows NT 端口。 BIND提供了解析器和名字服务器软件,解析器做实际的查询工作而名字服务器则提供响应。BIND 将名字服务 器分成三个部分:主服务器包含了有关一个域的全部数据;次服务器则有效地从主服务器拷贝DNS 数据库; 唯缓冲服务器通过缓冲查询来建立例外的DNS 数据库。只有主服务器和次服务器才被当作涉及特定域的授权 服务器。

要理解 DNS 服务器怎么操作就有必要理解域名层次本身。在这一层次的顶部是根域。这一域上的信息驻留 在从整个Internet 中所选的一些根服务器上。在根域下面是顶级域,也就是国家代码或机构代码。国家代码 的例子有SG (新加坡)和CA (加拿大)等。而机构代码则包括众所周知的COM (商业机构)、EDU (教

,

育机 关)、GOV (政府机构)和NET (网络机构)等(注意在美国以外的顶级域通常是国家编码,但是基于美国的 地点通常省略国家编码)。在顶级域下面是次级域(whitehouse.gov 、microsoft.com 、inforamp.net 等诸 如此类),然后是第 3级域,等等等等向下以此类推。 如果你想在美国建立域名,那么你必须联系网络信息中心NIC 。在它同意你的请求以前,你首先要保证你想要

的名字还没被使用,其次要保证目前至少有 2台服务器可以提供新域名的服务。当 NIC 最后同意请求时它 将承认你的次级域,并将指向该名字的指针放到顶级域所在的服务器内。例如,如果你请求域名mybiz.com , 那么你必须首先让Internet 上的2 台名字服务器提供信息服务(你的 ISP的服务器能做到这一点),然后 NIC 将把 mybiz 放到COM 域服务器系统内,其指针将指向那2台特定服务器。 一旦设置了适当的主域,你就可以增加所希望的任何数量的子域。你可能想要命名你的计算机为

sales.mybiz.com ,而另一台则被叫做techsupport.mybiz.com 等等。这些工作可就不需要 NIC 的同意了, 而且,事实上NIC 也不管这事。但是,如果你想要任何人都能实际地访问你的子域,那么你最好将有关子域 的信息尽快地放到上级域内。在特定的情况下,关于sales.mybiz.com 和 techsupport.mybiz.com 的IP 信 息必须放在mybiz.com 服务器上。这一层次中的每台服务器都包含了一个DNS 数据库,其入口被称作NS 记录, 每条这样的记录包含了域或子域的名字,此外还加上作为域或者子域服务器的主机的名字。在我们的例子中, 我们将告诉根服务器它能在我们的 DNS 服务器上找到mybiz.com 及其全部子域的信息,而这些信息则位于 details.mybiz.com这台计算机上。 现在我们来看看这一切是如何运作的。某所大学的某人在指向你的最新子域的网页上看见了一个链接 techsupport.mybiz.com。然后她点击该链接,于是她的本地DNS 服务器(很可能位于这所大学的某台计算 机上)开始工作。首先,服务器搜索它自己的 DNS数据库以转换信息,但是,因为它以前从来没遇见过 techsupport.mybiz.com,所以服务器没有该域存在的记录而且不能解析IP 地址。不过,它的 DNS 数据库包 含了一个根服务器的地址(所有的 DNS 服务器必须设置该索引)。于是本地 DNS 服务器就到Internet 上查 询该根服务器。根服务器在其DNS 数据库里查找COM 顶级域,然后它用NS 记录回复该大学的 DNS 服务器, 告诉它可以从details.mybiz.com 处查询到mybiz.com 的信息。大学的服务器就这样做了,而且从 details.mybiz.com 那里知道了techsupport.mybiz.com 的对应IP 地址。在这一过程中最根本的阶段是,大 学的DNS 服务器缓冲了该 NS 记录,结果下次该大学的任何人在需要涉及到mybiz.com 、details.mybiz.com 、

,

ortechsupport.mybiz.com 等对应的IP 地址转换时,相关信息在本地即可获得。

正如其他的Internet 协议一样,DNS 由几个Internet 的RFC (请求评论)规范(最初是RFC 882、883和973)。 不过要理解DNS 服务器的工作原理最好的标准还是RFC 1035。你可以在Internet 上的好几个地方找到 RFC 1035,比如在http://www.crynwr.com/crynwr/rfc1035/ 就有一个不错的HTML 版本。正如你可能想到 的那样,RFC 具有相当的技术性,你不大可能会对超出DNS 服务器一般操作的细节感兴趣。但是如果你想做 个服务器管理员,那么就记住 RFC吧。

标签: