分类: 系统运维
2010-07-27 15:14:59
DNS 是域名系统 (Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在Internet上域名与IP地址之间是一对一(或者一对多)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。 DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。
DNS:Domain Name System 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。
简单的说DNS的作用就是,将域名翻译为ip的过程,就是dns解析。
DNS名称的解析方法
主要有两种:一是通过HOSTS文件解析,二是通过DNS服务器解析。
1.HOSTS文件
这是最初的一种查询方式,它是由人工进行输入、删除、修改所有DNS名称与IP地址对应数据。显然网络较大时是不适用的。
在WIN2003中,HOSTS文件位于%SYSTEMROOT%System32DriversEtc目录中。是一个纯文本文件
如下图所示就是一个Hosts文件的例子,我们在图中可以很清楚地看到Hosts文件把解析为119.75.213.61
2.DNS服务器
DNS的设计要求使用分布式结构,既可以允许主机分散管理数据,同时数据又可以被整个网络所使用。管理的分散有利于缓解单一主机的瓶颈,缓解流量压力,同时也让数据更新变得简单。DNS还被设计使用有层次结构的名称空间为主机命名,以确保主机域名的唯一性。
目前DNS采用的是分布式的解析方案。具体是这样的,互联网管理委员会规定,域名空间的解析权都归根服务器所有,也就是说,根服务器对互联网上所有的域名都享有完全的解析权!
那这个根服务器不就相当于全世界唯一的Hosts文件了吗?呵呵,不要着急,根服务器用了一个简单的操作,就改变了这种结构。根服务器使用的是什么操作?委派!下图就是根服务器委派的示意图,如下图所示,根服务器把com结尾的域名解析权委派给其他的DNS服务器,以后所有以com结尾的域名根服务器就都不负责解析了,而由被委派的服务器负责解析。而且根服务器还把以net,org,edu,gov等结尾的域名都一一进行了委派,这些被委派的域名被称为顶级域名,每个顶级域名都有预设的用途,例如com域名用于商业公司,edu域名用于教育机构,gov域名用于政府机关等等,这种顶级域名也被称为顶级机构域名。根服务器还针对不同国家进行了域名委派,例如把所有以CN结尾的域名委派给中国互联网管理中心,以JP结尾的域名委派给日本互联网管理中心,CN,JP这些顶级域名被称为顶级地理域名。
这里有2个很重要的概念,一个是完全合格域名FQDN,另一个就是委派delegation
FQDN
全域名(FQDN,Fully Qualified Domain Name)是指主机名加上全路径,全路径中列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。例如,myjj公司的Web服务器的全域名可以是 .com. ,而域名中以点结尾的则认为是全域名。这种区别在理解和控制解析过程时是非常重要的。句点实际上指出了域名树的根。
什么是区域委派
一个完整的DNS区域包含以自己的DNS域名为基础命名空间的所有DNS命名空间的信息,当基于此DNS命名空间新建一个DNS区域时,新建的区域称为子区域。
例如,完整的a.ns.yb.com区域包含了以 .com为基础命名空间的所有DNS命名空间的信息,yb.com. 则称为.com的一个子区域,而 ns.yb.com. 被成为 yb.com的子域。
以此类推,我们将 . 域下域名成为二级域名,二级域名以下的统称为 .xxx 的子域(xxx代表com、net等)。但我们在书写的时候是从最低一级的写起,直至顶级域名,而DNS查询和解析顺序正好和这个相反。
默认情况下,DNS区域管理自己的子区域,并且子区域伴随DNS区域一起进行复制和更新。不过,你可以将子区域委派给其他DNS服务器来进行管理,此时,被委派的服务器将承担此DNS子区域的管理,而父DNS区域中只是具有此子区域的委派记录。
区域委派适用于许多环境,常见的场景有:
将某个子区域委派给某个对应部门中的DNS服务器进行管理;
DNS服务器的负载均衡,将一个大区域划分为若干小区域,委派给不同的DNS服务器进行管理;
将子区域委派给某个分部或远程站点。
你只能在主要区域中执行区域委派。对于任何一个被委派的子区域,父DNS区域中只是具有指向子区域中权威DNS服务器的A记录和NS记录,而实际的解析过程必须由委派到的子区域中的权威DNS服务器完成,即被委派到的DNS服务器上必须具有以被委派的子区域为域名的主要区域。
总结要点:
DNS名称体系是有层次的,域是其层次结构的基本单位,任何一个域最多属于一个上级域,但可以有多个或没有下级域。在同一个域中不能有相同的下级域或主机名,但在不同的域中则可以有相同的下级域名或主机名。
1.根域:(Root Domain)根域只有一个,根域是默认的,一般不需要表示出来。DNS命名空间都是由位于美国的INTERNIC负责管理域进行授权管理的。在根域服务器中并没有保存全世界的所有的DNS名称,其中只保存着顶级域的DNS服务器名称与IP地址的对应关系。每一层的DNS服务器只负责管理其下一层域的DNS服务器名称与IP地址的对应关系。
2.顶级域(Top-Level Domain,TLD)
在根域之下的第一级域便是顶级域。顶级域位于最右边。顶级域有两种类型的划分方法:机构域和地理域。比如:.com是机构域 .cn是地理域。
3.各级子域(Subdomain)
除了根域和顶级域之外,其它域均称为子域。一个域可以有多个子域。
4. 主机名(Host Name)
位于最左边的便是域主机名。
5.反向域(in-addr.arpa)
反向域使用一个IP地址的一个字节值来代表一个子域,这样反向域in-addr.arpa就被划分为256个子域,每个子域代表该字节的一个可能值0-255。。根据同样的方法,又可以将每一个子域进一步划分为256个子域。这样,可以对每个子域继续划分,直到将全部的地址空间都在反向域中表示出来。