什么是域名系统域名系统的组成
什么是域名系统域名系统的组成
域名系统是因特网的一项核心服务,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。那么你对域名系统了解多少呢?以下是由学习啦小编整理关于什么是域名系统的内容,希望大家喜欢!
域名系统的介绍
域名系统是Internet上解决网上机器命名的一种系统。就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址,TCP/IP中的IP地址是由四段以“.”分开的数字组成,记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系。
虽然因特网上的节点都可以用IP地址惟一标识,并且可以通过IP地址被访问,但即使是将32位的二进制IP地址写成4个0~255的十位数形式,也依然太长、太难记。因此,人们发明了域名(Domian Name),域名可将一个IP地址关联到一组有意义的字符上去。用户访问一个网站的时候,既可以输入该网站的IP地址,也可以输入其域名,对访问而言,两者是等价的。
一个公司的Web网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。例如上面提到的微软公司的域名,当人们要访问一个公司的Web网站,又不知道其确切域名的时候,也总会首先输入其公司名称作为试探。但是,由一个公司的名称或简称构成的域名,也有可能会被其他公司或个人抢注。甚至还有一些公司或个人恶意抢注了大量由知名公司的名称构成的域名,然后再高价转卖给这些公司,以此牟利。已经有一些域名注册纠纷的仲裁措施,但要从源头上控制这类现象,还需要有一套完整的限制机制,这个还没有。所以,尽早注册由自己名称构成的域名应当是任何一个公司或机构,特别是那些著名企业必须重视的事情。有的公司已经对由自己著名品牌构成的域名进行了保护性注册。
域名系统的组成
资源文件
早期因特网上仅有数百台主机,那时候的域名与IP地址对应只需简单地记录在一个hosts.txt文件中,这个文件由网络信息中心(NIC,Network Information Center)负责维护。任何想添加到因特网上的主机的管理员都应将其名字和地址E-mail给NIC,这个对应就会被手工加到hosts.txt文件中。每个主机管理员去NIC下载最新的hosts.txt文件放到自己的主机上,就完成了域名列表的更新。域名解析只是一个检查本机文件的本地过程。
随着因特网上主机数量的膨胀,原有的方式已经无法满足要求。现有域名系统于20世纪80年代开始投入使用。域名系统采用层次结构的名字空间,并且原来庞大的对应表被分解为不相交的、分布在因特网中的子表,这些子表称为资源文件。
域名解析
前面已经说明了域名系统名字空间的层次结构,下面来具体看一下这一结构是如何同域名系统的域名服务器(DNS,Domain Name Server)结合来实现域名解析的。
首先,根据域名系统域名空间的层次结构将其按子树划分为不同的区域,每个区域可看作是负责层次结构中这一部分节点的可管理的权力实体。例如,整个域的顶层区域由ICANN负责管理,一些国家域名及其下属的那些节点又构成了各自的区域,像.cn域就由CNNIC负责管理。而.cn域下又被划分为一些更小的区域,例如.fudan.edu.cn由复旦大学网络中心负责管理。
其次,每个区域必须有对应的域名服务器,每个区域中包含的信息存储在域名服务器上。一个区域中可有两个或多个域名服务器,这样即使其中一个域名服务器出了故障,另一个域名服务器仍然可以正常提供信息。一个域名服务器也可以同时管辖多个区域。域名服务器在接到用户发出的请求后查询自身的资源记录集合,返回用户想要得到的最终答案,或者当自身的资源记录集合中查不到所需要的答案时,返回指向另外一个域名服务器的指针,用户将继续向那个域名服务器发出请求。所以说,域名服务器不需要记录所有下属域名和主机的信息,对于其中的子域(如果存在),只需要知道子域的域名服务器即可。
资源记录是一个域名到值的绑定,它包括以下字段:域名、值、类型、分类和生命期。域名字段和值字段分别用来表示解析的内容和解析返回的结果。类型字段代表了值的种类:类型为A代表值字段是一个IP地址,即用户所要的最终答案;类型为NS代表值字段是另一个域名服务器的域名,该域名服务器能够知道如何解析域名字段所指定的域名;类型为CNAME代表值字段是由域名所指定的主机的一个别名;类型为MX代表值字段是一个邮件服务器的域名,该邮件服务器接收由域名字段所指定的域的邮件;类型PTR用于域名反解等。分类字段允许指定其他的记录类型。生命期字段用于指出该资源记录的有效期是多少。为减少域名解析时间,域名服务器会缓存一些曾经查询过的、来自其他域名服务器的资源记录。由于这些资源记录会因为更改而失效,因此域名服务器设置了生命期,到期的资源记录会被清除出缓存。
根域名服务器知道所有顶级域名的域名服务器,对应于每个顶级域名,它都有两条资源记录:一条是NS资源记录,域名字段是该顶级域名,值字段是该顶级域名解析的域名服务器的域名;另一条是A资源记录,用来指明该域名服务器的域名对应的IP地址。综合使用这两条记录,就可以知道对该域下的某个域名解析,应该继续去哪个IP地址的域名服务器寻找。第二层的域名服务器类似地存放各个第三层域名服务器的指针。第三层的域名服务器会出现A、CNAME、MX等类型的资源记录。每个域名服务器都有根域名服务器的地址记录。
最后,一个需要域名解析的用户先将该解析请求发往本地的域名服务器。如果本地的域名服务器能够解析,则直接得到结果,否则本地的域名服务器将向根域名服务器发送请求。依据根域名服务器返回的指针再查询下一层的域名服务器,依此类推,最后得到所要解析域名的IP地址。
域名反解
域名反解是指给出一个IP地址,找出其对应的域名,这也是利用DNS来实现的。举个例子,假设一个要反解的IP地址为202.120.225.9,系统将其改写为9.225.120.202. in-addr.arpa,然后按域名解析的方式查询。这需要在被查询主机的本地域名服务器上有一条对应于9.225.120.202.in-addr.arpa的资源记录,类型是PTR,值是其域名。
域名服务器的形式
域名服务器通常会有两种形式:权威域名服务器,以及缓存域名服务器。
权威域名服务器
下列情况需要有权威域名服务器:想要向全世界提供DNS信息,并对请求给出权威应答。注册了类似 exampleorg的域,而需要将IP指定到其下的主机名上。某个IP地址块需要反向DNS项(IP 到主机名)。备份服务器,或常说的从(slave) 服务器,会在主服务器出现问题或无法访问时来应答查询请求。
缓存域名服务器
下列情况需要有缓存域名服务器: 本地的DNS服务器能够缓存,并比直接向外界的域名服务器请求更快地得到应答。
当有人查询时,解析器通常会向上级ISP的域名服务器发出请求,并获得回应。如果有本地的缓存DNS服务器,查询只有在第一次被缓存DNS服务器发到外部世界。其他的查询不会发向局域网外,因为它们已经有在本地的缓存了。
看过“域名系统的组成”的人还看了: