dns域名系统的作用是什么(dns域名解析过程)

dns域名系统的作用是什么(dns域名解析过程)

  域名系统(Domain Name System,DNS)是Internet上解决网络中各个主机命名的一种系统。就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址,TCP/IP中的IP地址是由四段以“.”分开的数字组成,由于IP地址记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系。

  域名系统(Domain Name System,DNS)

  为什么需要DNS解析域名为IP地址?

  网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“102.76.124.163”之类的IP地址,而不能认识域名。但是IP地址对于人类的记忆很不友好,所以我们使用域名作为助记符。在浏览器地址栏中输入域名,就能看到所需要的信息,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后请求该IP地址所对应的资源。

  DNS系统采用的是分布式数据库,存储域名与IP地址映射关系的数据。整个DNS架构是一种层次树状结构,这个树状结构称为DNS域名空间,树状结构最顶层称为根域,用 “.” 表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将 com 域地解析全委派给 com 域服务器,以后但凡根服务器收到以 com 结尾的请求,都会转发给com 域服务器,同样的道理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域。

  层次化域名空间

  根域:根域就是所谓的“.”,其实我们的网址在配置当中应该是最后有一点),一般我们在浏览器里输入时会省略后面的点,这已经成为习惯。

  顶级域(一级域):顶级域一般代表一种类型的组织机构或国家地区,目前互联网上的域名体系中共有四类顶级域名:

  地理顶级域名:地理顶级域名,共有243个国家和地区的代码。例如.CN代表中国、.JP代表日本、.UK代表英国等等,类别顶级域名:类别顶级域名,共有7个:.COM(公司)、.NET(网络机构)、.ORG(组织机构)、.EDU(美国教育)、.GOV(美国政府部门)、.ARPA(美国军方)、.INT(国际组织)。由于互联网最初是在美国发展起来的,所以最初的域名体系也主要供美国使用,所以.GOV、.EDU、.ARPA虽然都是顶级域名,但却是美国使用的。只有.COM、.NET、.ORG成了供全球使用的顶级域名。相对于地理顶级域名来说,这些顶级域名都是根据不同的类别来区分的,所以称之为类别顶级域名。新的顶级域名:随着互联网的不断发展,新的顶级域名也根据实际需要不断被扩充到现有的域名体系中来。新增加的顶级域名是.BIZ(商业)、.COOP(合作公司)、.INFO(信息行业)、.AERO(航空业)、.PRO(专业人士)、.MUSEUM(博物馆行业)、.NAME(个人)。基础结构域名:只有一个arpa(反向域名解析)。

  二级域:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如.cn顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn等等。

  主机域:主机位于域名空间最下层,就是一台具体的计算机,例如 都是具体的计算机名字,可用 来表示,这种表示方式被称为 FQDN (完全合格域名),也是这台主机在域名中的全名;平时上网输入的网址都是 FQDN 名,如 其实表示我们要访问 “xxx.com.cn” 域中一台名为 “www” 的计算机。

  域名的示例

  DNS服务器根据其主要保存的域名信息以及在域名解析过程的作用,可以分为根域名服务器、顶级域名服务器、权威域名服务器、中间域名服务器;DNS服务器所管辖范围不是以“域”为单位,而以“区”为单位(区:一个服务器所负责管辖的范围)

  域名服务器

  根服务器:根服务器主要用来管理互联网的主目录。所有IPv4根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名IPv4根服务器、域名体系和IP地址等的管理;根域服务器我们知道有13台,但是这是错误的观点,准确地说根域服务器只具有13个IP地址,但机器数量却不是13台,因为这些IP地址借助了任播的技术,所以我们可以在全球设立这些IP的镜像站点,你访问到的这个IP并不是唯一的那台主机。现在世界上一共有13个根域名服务器,10个在美国,2个在欧洲,1个在日本。而中国只有3个根域名镜像服务器。

  顶级域名服务器:顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。

  权威域名服务器:权威域名服务器保存该区中的所有主机的域名和IP地址的映射。

  1、在浏览器中输入域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

  2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

  3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

  4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

  5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS服务器,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP地址。本地DNS服务器收到这个IP地址后,将会请求该IP地址对应的服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(xxx.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找xxx.com域服务器,重复上面的动作,进行查询,直至找到主机。

  域名解析过程

  从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间的交互查询是迭代查询。

  迭代解析:主机进行域名查询时,本地域名服务器没有被查询域名信息,则先求助于根域名服务器。根域名服务器只是把下一步要查询的服务器告知查询主机的本地域名服务器,本地域名服务器绠续查询下一个域名服务器,直到查询到被查询域名的IP地址。递归解析:主机进行域名查询时,本地域名服务器没有被查询域名信息,则本地域名服务器代理主机查询根域名服务器。根域名服务器代理本地域名服务器查询下一个域名服务,以此类推。直到得到被查询域名的IP地址,最后将解析结果发送给主机。

  举个例子来说明什么是迭代解析、什么是递归解析;例如当小明向你问路,而你不知道时,会怎么做?

推荐阅读