首页 理论教育 域名服务 DNS:快速解析网址的必备工具

域名服务 DNS:快速解析网址的必备工具

更新时间:2025-01-10 工作计划 版权反馈
【摘要】:在国家顶级域名下注册的二级域名均由该国家自行确定。提供域名/地址解析服务。与上级管理域和其他域共同维护DNS信息。若根域名服务器有被查询主机的信息,就发送DNS回答报文给本地域名服务器,然后本地域名服务器再回答发起查询的主机。

1.域名系统概述

用户与因特网上的某个主机通信时,显然不太愿意记忆32位的二进制主机名。早在ARPAnet时代,整个网络只有数百台计算机,那时使用一个叫Hosts的文件,列出所有主机名字和相应的IP地址。只要用户输入一个主机名字,计算机就能很快将主机名解析成机器能够识别的二进制IP地址。

随着网络规模的扩大,这样的域名服务器中将会因过负荷而无法正常工作,并且一旦域名服务器出故障,整个因特网就会瘫痪。因此,1983年,因特网开始采用层次结构的命名树作为主机的名字,并使用分布式的域名系统DNS。

这个域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户服务器方式。DNS使大多数名字都在本地解析,仅少量解析需要在因特网上通信,因此,系统效率很高。并且DNS是分布式系统,即使单个计算机出了故障,也不会妨碍整个系统正常运行。

域名系统主要有三个组成部分,分别是域名空间、名字服务器以及解析程序。域名空间呈分布式、层次型(分级)的树形结构,根没有名字,顶层域由组织域(如org、com、edu)和国家域(如cn)构成。在往下分还可分为若干层子域。通常用点来分隔域的层次,如www.ncepu.edu.cn,DNS名字服务器是存放域树结构和主机信息的数据库。为减小查询流量负载,提高可靠性,DNS名字空间被划分成若干不交叉的区域(Zone),分别存放在该区域的DNS服务器中。解析程序是指从名字服务器中提取信息把主机域名翻译成IP地址。

解析过程为:首先从本地Hosts文件查找。没找到就向本地DNS名字服务器发出请求;若本地DNS服务器也找不到,它就把请求发给负责该域的顶层域名字服务器,然后由顶层域名字服务器把请求传递给相应子域的名字服务器。最后由该名字服务器把域名对应的IP地址按相反的路径传递给发出请求的站点。

2.域名的名字空间

因特网主要采用层次树状结构来命名。就像全球邮政系统和电话系统。采用这种命名方法,任何一个连接在网络上的主机或路由器都有一个唯一的层次结构的名字,即域名(domain name)。这里的域是名字空间中一个可以被管理的划分。域还可以继续划分为子域,如二级域、三级域等。

域名的结构由若干个分量组成,各分量之间用小数点隔开,即

….三级域名.二级域名.顶级域名

各分量分别代表不同级别的域名。每一级的域名都由英文字母和数字组成(不超63个字符,并且不区分大小写字母),级别最低的域名写在最左边,而级别最高的顶级域名则写在最右边。完整的域名不超过255个字符。域名系统既不规定一个域名需要包含多少个下级域名,也不规定每一级的域名代表什么意思。各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由因特网的有关机构管理。用这种方法可使每一个名字都是唯一的,并且也容易设计出一种查找域名的机制。需要注意的是,域名只是个逻辑概念,并不代表计算机所在的物理地点。总之,变长的域名和使用有助记忆的字符串,是为了便于使用。

现在使用的顶级域名主要有3大类:

(1)国家顶级域名nTLD:采用ISO 3166的规定。如:cn表示中国,us表示美国,uk表示英国等。国家顶级域名又常记为ccTLD(cc表示国家代码country code),现在使用的国家顶级域名约有200个左右。

(2)国际顶级域名iTLD:采用.int。国际性的组织可在.int下注册。

(3)通用顶级域名gTLD:根据[RFC1591]规定,最早的顶级域名共6个,即:.com表示公司企业,.net表示网络服务机构,.org表示非赢利性组织,.edu表示教育机构(美国专用),.gov表示政府部门(美国专用),.mil表示军事部门(美国专用)。

在国家顶级域名下注册的二级域名均由该国家自行确定。如图6-20是域名空间的结构,它实际上是一个倒过来的树,树根在最上面而没有名字。树根下面一级的节点就是最高一级的顶点域节点。在顶级域节点下面是二级域节点。最下面的叶节点就是单台计算机。

图6-20 域名的树状结构图

区域(Zone)将域名树划分成互不交叉的子树,一棵子树形成一个区域。每个区域可以划分成更小的区域。

每个域能够控制如何分配它下面的子域,要创建一个新的域必须征得它所属域的同意。

区域的权威代表网络信息中心NIC,它对域名的管理职能包括:

(1)申请和分配IP地址。(www.xing528.com)

(2)提供域名注册服务。

(3)提供域名/地址解析服务(DNS服务)。

(4)与上级管理域和其他域共同维护DNS信息。

主要的NIC机构有:

(1)国外:InterNIC(北美及其地区),RIPENIC(欧洲),APNIC(亚洲)。

(2)国内:CNNIC。

3.域名解析

每一个域名服务器不但能够进行一些域名到IP地址的解析,而且还必须具有连向其他域名服务器的信息。当自己不能进行域名到IP地址的转换时,就能够知道到什么地方去找别的域名服务器。

因特网上的域名服务器系统也是按照域名的层次来安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。现在共有以下3种不同类型的域名服务器:

(1)本地域名服务器(Local Name Server):每一个因特网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,它有时也称为默认域名服务器。当一个主机发出DNS查询报文时,这个查询报文就首先被送柱该主机的本地域名服务器。

(2)根域名服务器(Root Name Server):目前在因特网上有十几个根域名服务器,大部分都在北美。当一个本地域名服务器不能立即回答某个主机的查询时(因为它没有保存被查询主机的信息),该本地域名服务器就以DNS客户的身份向某一个根域名服务器查询。若根域名服务器有被查询主机的信息,就发送DNS回答报文给本地域名服务器,然后本地域名服务器再回答发起查询的主机。但当根域名服务器没有被查询主机的信息时,它一定知道某个保存有被查询主机名字映射的授权域名服务器的IP地址(见下一段)。通常报域名服务器用来管辖顶级域(如.com)。根域名服务器并不直接对顶级域下面所属的所有的域名进行转换,但它一定能够找到下面的所有二级域名的域名服务器。

(3)授权域名服务器(Authoritative Name Server):每一个主机都必须在授权域名服务器处注册登记。通常,一个主机的授权域名服务器就是它的本地ISP的一个域名服务器。实际上,为了更加可靠地工作,一个主机最好有至少两个授权域名服务器。许多域名服务器同时充当本地域名服务器和授权域名服务器。授权域名服务器总是能够将其管辖的主机名转换为该主机的IP地址。

下面是一个域名解析的实例:

假设一台机器A需要知道www.ncepu.edu.cn的地址:

(1)A向本域DNS服务器C发出请求。

(2)假设C不知道如何获得www.ncepu.edu.cn的地址,它会向根DNS服务器发出请求。

(3)根DNS向C指出负责cn域的DNS服务器D地址。

(4)C向D查询,获得负责edu.cn域DNS服务器E的地址。

(5)C在向E查询,获得ncepu.edu.cn域DNS服务器F的地址。

(6)最后C向F查询获得www.ncepu.edu.cn的地址。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈