DNS详解

不羁岁月 提交于 2019-11-27 23:37:08

DNS


  1. DNS是什么
  2. DNS是如何进行解析域名的呢

 

  1. DNS是什么

  DNS(Domian Name System )即域名系统,它的作用非常简单,即记录一个域名对应一个IP地址,它就相当于一本巨大的电话本。那,为什么要用DNS呢?其实很简单,就是为了方便记忆。例如:我们要访问百度的地址www.baidu.com(115.239.211.112),哪一个更容易记住呢?

  DNS是一种分层树状结构,它是以点“ . "分隔。结构如下图:

  根域:也就是所谓的“ . ” 。其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器中输入时会省略后面的点。根域服务器有13个IP地址,分别分布在不同的机器及地域。

  顶级域(或者一级域):有两种划分方式,一种是互联网刚刚兴起时按照行业性质划分的,如com. 分给企业或公司,edu分给教育系统,gov分给政府等,另一种是按照国家划分的cn.等,每个域都会有自己的域名。

  二级域:个人或组织在因特网上使用注册的名称,列如baidu.com

  子域:已经注册的二级域 派生的域名,一般是网站名,例如:www.baidu.com

  主机名:标识网络上的特定计算机,例如:user1.www.baidu.com

 

   2.DNS是如何进行解析域名的呢

  当我们访问一个网址时,会通过DNS服务器将一个域名解析成一个IP来访问最终的主机。那,DNS是如何查询到域名并把所对应的IP地址返回给我们的呢?来看下图:

 

 

  我们以请求www.hyf.org为例,来了解域名解析的整个过程:

    1 )首先,当User在浏览器中访问www.hyf.org这个域名时,我们的主机会去查找本地的hosts(在linux系统中)文件和本地的DNS解析器缓存,如果在hosts和DNS解析器里面有存有www.hyf.org和IP的映射关系,则域名解析完成,否则,进入第二步;

    2)如果在本地的hosts和DNS解析器缓存里都无法找到对应的网址映射关系,则会根据配置的本地DNS服务器进行查询, 此服务器收到查询请求时,如果所查询的域名在本地库中存有映射关系,则会进入到第九步,将解析结果直接返回给客户机;

    3)若本地DNS服务器不存在该域名的映射关系,则本地DNS服务会把请求发送到13台根DNS服务器;

    4)根DNS服务器会判断这个域名(.org)由谁来管理,并返回一个负责管理本域名的顶级域名服务器的一个IP地址给本地DNS服务器;

    5)本地DNS服务器收到该IP之后,会再将请求发送到(.org)所在的DNS服务器;

    6)如果(hyf.org)的DNS服务器无法解析该域名,就会去判断这个二级域(hyf.org)的管理者,然后返回一个负责管理二级域的DNS服务器的IP地址给本地的DNS服务器;

    7)本地DNS服务器收到管理二级域的IP之后,又再将请求发送到(hyf.org)所在的DNS服务器;

    8)在(hyf.org)的DNS服务器会存有www.hyf.org的映射关系,查找到映射关系之后,将解析到的IP地址返回给本地的DNS服务器,本地DNS服务器会根据解析到的IP地址发送给客户机,并把此记录存入本地缓存中,下次访问此域名时,直接人从要本地读取。至此,DNS解析完成。

  在这里面有两个关键的查询方法:递归查询迭代查询。那,什么是递归查询,什么又是迭代查询呢?

  递归查询: 一般来说就是客户机提出的查询请求便属于递归查询。

  迭代查询:即重新引导查询,例如:今天你要找计算机科的张三,

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!