当前位置:   article > 正文

DNS---域名解析_dns模式

dns模式

目录

一、DNS简介

域名:

DNS工作模式:

二、为什么要用到DNS

三、分布式DNS

四、树状结构的DNS服务器

五、四种域名服务器

根服务器:

顶级域名服务器:

权限域名服务器:

本地域名服务器:

六、主域名服务器与辅助域名服务器

七、域名解析的一般过程


一、DNS简介

DNS全名叫:域名系统DNS。显然,它是跟域名直接相关的。那什么叫域名?域名其实就是名字,相当于人的名字一样。但是它又不同于名字,不同就在于“域”这里,域名是针对于不同的区域,当然这里指的都是逻辑上的区域,而不是物理意义上的。

域名:

对于域名的一些介绍,这里直接看图更直观:

 

DNS工作模式:

DNS工作是基于CS模式,即客户服务器模式。请求DNS的一方就作为客户,而回应DNS请求的一方就相当于服务器。同样的,这里的客户和服务器不是指实体的主机,而是指的是应用进程。


二、为什么要用到DNS

我们知道,在互联网中,每个主机都是基于IP地址进行地址区分、传递报文的,所以用户在互联网上与一台主机通信时,必须要先知道对方的IP地址,否则通信的报文就不能准确发送给对方。但是由于IP地址是32位的二进制数字,用户很难记住如此多的IP地址,即使是点分十进制的地址,更别说128位的IPV6地址。所以为了方便用户记住主机名字,连接在互联网的主机就不单单有IP地址,还有它自己的主机名字。而对于主机来说,便于人记忆的域名字符串并不方便自己处理,32位的IP二进制数字更方便机器处理,所以DNS要做的就是,将域名(主机名字)转换成32位的IP地址。


 

三、分布式DNS

理论上讲,使得全网只有一个DNS服务器,让它存储全网的主机名字,并为众多主机提供DNS服务是可以的,但是这样的不可取的。因为互联网太过庞大,主机接入数量之多,如果一台DNS服务器宕掉,就会导致整个互联网的DNS服务下线,从而导致很多问题,比如不能正常访问网页等等。所以在互联网上,采用的就是分布式域名系统DNS。

前面讲到过,DNS采用的是客户服务器方式,绝大多数的域名都可以在本地实现解析,若不能在本地实现解析,就要请求根域名服务器的帮助。那么什么是根域名服务器呢?


 

四、树状结构的DNS服务器

如下图:

 图中可以一眼看出整个DNS域名服务器的整体系统布局。树状结构的DNS服务器也叫域名树。顾名思义,它就像一棵树状,有根,有枝,有叶,不过是倒过来的树。这里面可以看出,等级最高的就是根域名服务器,其次就是顶级域名服务器,权限域名服务器,以及本地域名服务器。这四种类型的域名服务器分工明确,各自发挥不同的作用。


 

五、四种域名服务器

根服务器

作为最高层次的域名服务器,跟服务器知道所有顶级域名服务器的IP地址和域名,即存储了每个顶级域名服务器的域名到IP地址的映射关系。不管是哪一个本地域名服务器,只要自己不能解析出来的域名,首先都要请求根域名服务器,再由根域名服务器为本地域名服务器指明该向哪个域名服务器查询。当然,虽然是根,但是全球并不止这一台根域名服务器。目前全球大约有13套系统组成13组根域名服务器,记住是13套系统,不是13台机器。一般来说,由于根域名服务器的保密性,它们装置的地点都不会对外公布。同时根域名服务器采用的是任播技术,即当有向根域名服务器的请求时,链路上的路由器会优先选择距离更近的根域名服务器,这也就保证了资源的有效利用。

顶级域名服务器:

次一级的域名服务器,又称TLD服务器。它们主要是负责管理注册登记的二级域名服务器,即存储二级域名服务器的域名到IP地址的映射关系。

权限域名服务器:

这是负责一个区的域名服务器,区,简单来说就是指一个服务器所管辖的范围,每一个区都有一个区域名服务器,存储了这个区内所有主机域名到IP地址的映射,DNS域名服务器的服务的单位就不是域,而是区。

本地域名服务器:

可以说这是离主机最近的域名服务器。一般我们请求的服务器信息都会先经由本地域名服务器进行解析,解析不成功就在向根域名服务器请求。


 

六、主域名服务器与辅助域名服务器

为了提高域名服务器的可靠性,一般域名服务器都会有辅助域名服务器,防止主域名服务器宕掉而中断服务。主域名服务器会定期将数据复制到辅助域名服务器,但是对数据的修改只能在主域名服务器进行,从而保证数据的一致性。


 

七、域名解析的一般过程

当我们上网浏览网页时,输入百度的网址,即百度的域名:www.baidu.com。不一会就返回了百度的网页信息,那这后面到底发生了什么呢?

 

首先浏览器进程根据输入的域名,分别在以下缓存中进行查找:

1、浏览器缓存:浏览器会按照一定的频率缓存DNS记录。


2、操作系统缓存:hosts的文件,如果在这里指定了一个域名对应的ip地址,那浏览器会首先使用这个ip地址。


3、这就是主机本地的查找过程,若至此还没有命中,进程就会调用解析程序,并成为DNS客户,发送DNS请求报文,注意,DNS请求报文使用的是UDP传输协议,目的是减少比必要的开支。请求本地域名服务器来解析这个域名。每一个ISP,或者大学里,都会有一台本地域名服务器,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了。


4、如果本地域名服务器然没有命中,就直接跳到根域名服务器域名服务器请求解析。此时本地域名服务器又作为另一个DNS客户,根域名服务器返回给本地域名服务器顶尖域名服务器的地址。本地域名服务器又接着向顶级域名服务器继续查询。


5、接受请求的顶级域名服务器查找并返回存储 baidu.com 域名的权限域名服务器IP地址,网站在哪注册,本地域名服务器再去找到这个权限域名服务器。


6、权限域名服务器根据映射关系表找到目标ip,然后返回给本地域名服务器,本地域名服务器在回给主机,根据这个IP地址,主机就可以与百度服务器进行通信,进行后续的数据传输了。

这也就是为什么有时候打开一个新页面会有点慢,因为如果本地没什么缓存,查找域名的过程要这样递归地查询下去,查找完还要一层层的向上返回。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/656109
推荐阅读
相关标签
  

闽ICP备14008679号