DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成IP。
因特网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户-服务器方式。DNS使大多数名字都在本地进行,仅少量解析需要在因特网上通信,因此DNS系统效率很高。
域名到IP地址的解析是由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程序在专设的结点上运行,而人们也常把运行域名服务器程序的机器也称为。
因特网采用了层次树状结构的命名方法。采用这种命名方法,任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即。这里,(domain)是名字空间中一个被管理的划分。域还可以划分为子域,而子域还可继续划分为子域的子域,这样就行成了顶级域、二级域、三级域,等等。
从语法上讲,每一个域名都是由序列组成,而各标号之间用隔开。例如下面的域名:
它由三个标号组成,其中标号com是顶级域名,标号cctv是二级域名,标号mail是三级域名。
域名规定:
- 域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符
- 不区分大小写
- 标号中除连字符(-)外不能使用其他的标号字符
- 级别最低的域名写在最左边,而级别最高的顶级域名则写在最右边
只是一个,并不代表计算机所在的物理地点。变长的域名和使用有助记忆的字符串,是为了便于人来使用。
2.1 域名分类
顶级域名
原先的顶级域名共分为三类:
(1):cn表示中国,us表示美国,uk表示英国等
(2):com(公司企业),net(网络服务机构),org(非盈利性组织),int(国际组织),edu(美国专用的教育机构),gov(美国政府部门),mil(美国军事部门)
(3):这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称
值得注意的是,ICANN于2011年6月20日在新加坡会议上正式批准,因此任何公司、机构都有权向ICANN申请新的顶级域。新顶级域名的后缀特点,使企业域名具有了显著的、强烈的标志特征。因此,新顶级域名被认为是真正的企业网络商标。
二级域名
在下注册的均由该国家自行确定。
我国把二级域名划分为和两大类:
(1)『类别域名』共7个,分别是:ac(科研机构);com(工、商、金融等企业);edu(中国的教育机构);gov(中国政府机构);mil(中国的国防机构);net(提供复联网络服务的机构);org(非营利性组织)
(2)『行政区域名』共34个,适用于我国的各省、自治区、直辖市。例如:bj(北京市),js(江苏省),等等
2.2 域名划分
用域名树来表示因特网的域名系统是最清楚的。是因特网域名空间的结构,它实际上是一个倒过来的树,在最上面的是,但。根下面一级的节点就是最高一级的。顶级域名可往下划分子域,即。再往下划分就是、。
一旦某个单位拥有了一个域名,它就可以自己决定是否要进一步划分其下属的子域,并且不必由其上级机构批准。图中画出了cctv(中央电视台)和tsinghua(清华大学)都分别划分了自己的下一级的域名mail和www(分别是三级域名和四级域名)。域名树的树叶就是单台计算机的名字,它不能再继续往下划分了。
3.1 区(zone)
上面讲述的域名体系是抽象的,具体实现域名系统则是使用分布在各地的域名服务器。DNS采用划分的办法来解决这个问题。
一个服务器所负责管辖的范围叫做。每一个区设置相应的,用来保存该区中的所有主机的域名到IP地址的映射。
总之,DNS服务器的管辖范围不是『域』为单位,而是以『区』为单位。区是DNS服务器实际管辖的范围。
是区的不同划分方法的举例。假设有下属,部门x下面又分三个子部门u,v和w,而y下面还有其下属部门t。
图表示abc公司只设一个区abc.com。这时,区abc.com和域abc.com指的是同一件事。
表示abc公司划分了两个区:abc.com和y.abc.com。这两个区都隶属于域abc.com,都各设置了相应的权限域名服务器。
不难看出,区是『域』的子集。
3.2 域名服务器分类
根据域名服务器所起的作用,可以把域名服务器划分为以下四种不同的类型:
(1):所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器是最重要的域名服务器,因为不管哪一台,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先要求助于跟域名服务器。
(2):这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
(3):这就是前面已经讲过的负责一个的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。
(4):本地域名服务器并不属于域名服务器层次结构,但它对域名系统非常重要。。
3.3 域名解析过程
域名解析分为和两种。
第一,主机向的查询一般都是采用。所谓递归查询就是:如果主机所询问的不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询。因此,递归查询返回的查询结果为以下可能:(1)所要查询的IP地址;(2)报错,表示无法查询到所需的IP地址。
第二,本地域名服务器向根域名服务器的查询通常采用。迭代查询的特点是这样的:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:『你下一步应当向哪一个域名服务器进行查询』。然后让本地域名服务器进行后续的查询(而不是替本地域名服务器进行后续的查询)。根域名服务器通常是把自己知道的顶级域名的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应当向哪一个权限域名服务器进行查询,本地域名服务器就这样进行迭代查询。最后,知道了所要解析的域名的IP地址,然后把这个结果返回给发起查询的主机。
当然,本地域名服务器也可以采用递归查询,这取决于最初的查询请求报文的设置是要求使用哪一种查询方式。
用例子说明了这的。