冥王生活

您现在的位置是:首页 > 科技生活 > 正文

科技生活

什么是dns迭代查询(dns迭代查询的基本流程)

admin2023-02-08科技生活87

DNS解析原理:递归 VS 迭代

DNS解析流程分为 递归查询 和 迭代查询 ,递归查询是以本地名称服务器为中心查询, 递归查询是默认方式,迭代查询是以DNS客户端,也就是客户机器为中心查询。 其实DNS客户端和本地名称服务器是递归,而本地名称服务器和其他名称服务器之间是迭代。

“递归解析”(或叫“递归查询”,其实意思是一样的)是最常见, 也是默认的解析方式 。在这种解析方式中,如果客户端配置的本地名称服务器, (又称Local DNS, 可以是默认的运营商提供的Local DNS 或者自己设置的DNS) 不能解析的话,则后面的查询全由本地名称服务器代替DNS客户端进行查询,直到本地名称服务器从权威名称服务器得到了正确的解析结果,然后由本地名称服务器告诉DNS客户端查询的结果。

下图是windows下默认获取的运营商Local DNS或者 自己设置的Local DNS

在这个查询过程中,一直是以本地名称服务器(Local DNS)为中心的,DNS客户端只是发出原始的域名查询请求报文,然后就一直处于等待状态的,直到本地名称服务器发来了最终的查询结果。此时的本地名称服务器就相当于中介代理的作用。如果考虑了本地名称服务器的缓存技术(也就是在DNS服务器上对一定数量的以前查询记录保存一定时间,这样后面查询同样的域名信息时就可直接从缓存中调出来,以加速查询效率)的话,则递归解析的基本流程如下:

(1)客户端向本机配置的本地名称服务器(在此仅以首选DNS服务器为例进行介绍,所配置其它备用DNS服务器的解析流程完全一样)发出DNS域名查询请求。

(2)本地名称服务器收到请求后,先查询本地的缓存,如果有该域名的记录项,则本地名称服务器就直接把查询的结果返回给客户端;如果本地缓存中没有该域名的记录,则本地名称服务器再以DNS客户端的角色发送与前面一样的DNS域名查询请求发给 根名称服务器 。

(3)根名称服务器收到DNS请求后,把所查询得到的所请求的DNS域名中 顶级域名所对应的顶级名称服务器 地址返回给本地名称服务器。

(4)本地名称服务器根据根名称服务器所返回的顶级名称服务器地址,向对应的顶级名称服务器发送与前面一样的DNS域名查询请求。

(5)对应的顶级名称服务器在收到DNS查询请求后,也是先查询自己的缓存,如果有所请求的DNS域名的记录项,则相接把对应的记录项返回给本地名称服务器,然后再由本地名称服务器返回给DNS客户端,否则向本地名称服务器返回所请求的DNS域名中的二级域名所对应的二级名称服务器地址。

然后本地名称服务器继续按照前面介绍的方法一次次地向三级、四级名称服务器查询,直到最终的对应域名所在区域的 权威名称服务器 返回到最终的记录给本地名称服务器。然后再由本地名称服务器返回给DNS客户,同时本地名称服务器会缓存本次查询得到的记录项。

DNS客户端和本地名称服务器是递归,而本地名称服务器和其他名称服务器之间是迭代。

DNS递归名称解析 : 在DNS递归名称解析中,当所配置的本地名称服务器解析不了时,后面的查询工作是由本地名称服务器替代DNS客户端进行的(以“本地名称服务器”为中心),只需要本地名称服务器向DNS客户端返回最终的查询结果即可。

DNS迭代名称解析 :(或者叫“迭代查询”)的所有查询工作全部是DNS客户端自己进行(以“DNS客户端”自己为中心)。在条件之一满足时就会采用迭代名称解析方式:

通过图片看看他们的不同:

权威 DNS 是特定域名记录(例如“example.com”)在域名注册商处所设置的 DNS 服务器,用于特定域名本身的管理(增加、删除、修改等)。

权威 DNS 服务器只对自己所拥有的域名进行域名解析,对于不是自己的域名则拒绝访问。比如,向“example.com”的权威 DNS 服务器查询“test.com”的域名肯定会查询失败。

递归 DNS(也称本地 DNS 或者缓存 DNS)用于域名查询。递归 DNS 会迭代权威服务器返回的应答,直至最终查询到的 IP 地址,将其返回给客户端,并将请求结果缓存到本地。

对用户发出的域名解析请求,递归 DNS 必须给出一个最终的 IP 地址结果。完整的递归DNS 查询流程需要 DNS 服务器从根域名 “.” 服务器,顶级域名服务器(例如“.com”),一级域名服务器(例如“example.com”)等一级一级递归查询,直到最终找到权威服务器取得结果,并返回给客户。同时,递归服务器根据域名 TTL,缓存查询结果,便于相同域名重复查询。

递归 DNS 服务器大多数在运营商端,负责网络接入终端的 DNS 查询,即网络访问设备上配置的 DNS 服务器 IP。

递归 DNS 的访问过程如下图所示(递归 DNS 在图中表示为 Local DNS):

DNS域名解析的两种方式递归查询和迭代查询之间有什么区别?

1.递归查询:

一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机;

2.迭代查询(反复查询):

一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求;

举例:比如学生问老师一个问题,王老师告诉他答案这之间的叫递归查询。这期间也许王老师也不会,这时王老师问张老师,这之间的查询叫迭代查询!

dns中递归查询与迭代查询的区别

两者区别如下:

递归是用户只向本地DNS服务器发出请求,然后等待肯定或否定答案。而迭代是本地服务器向根DNS服务器发出请求,而根DNS服务器只是给出下一级DNS服务器的地址,然后本地DNS服务器再向下一级DNS发送查询请求直至得到最终答案。

简介:

DNS

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。

2.递归查询:

一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机。

3.迭代查询(反复查询):

一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求。

简述DNS的几种模式?

当DNS客户端向DNS服务器查询地址后,或DNS服务器向另外一台DNS服务器查询IP地址时,它总共有三种查询模式。

A: 递归查询:也就是DNS客户端送出查询要求后,如果DNS服务器内没有需要的数据,则DNS服务器会代替客户端向其他的DNS服务器查询。

B: 循环查询:一般DNS服务器与DNS服务器之间的查询属于这种查询方式。当第一台DNS服务器在向第2台DNS服务器提出查询要求后,如果第2台DNS服务器内没有所需要的数据,则它会提供第3台DNS服务器的IP地址给第1台。

C: 反向查询:可以让DNS客户端利用IP地址查询其主机名称。

我在黑马程序员看免费视频的时候学到的,也自学了运维的知识,现在已经上班了,你也可以去免费学一学!

什么是DNS的查询模式﹖查询过程是怎样进行的﹖

当客户端程序要通过一个主机名称来访问网络中的一台主机时,它首先要得到这个主机名称所对应的IP地址,因为IP数据报中允许放置的是目地主机的IP地址,而不是主机名称。可以从本机的hosts文件中得到主机名称所对应的IP地址,但如果hosts文件不能解析该主机名称时,只能通过向客户机所设定DNS服务器进行查询了。

DNs共有的种查询方法,分别是递归查询和迭代查询。递归查询即由该计算机指定的DNS服务器代表客户端向其他DNs服务器进行查询,以便完全解析该域名,并将结果返回至客户端。选代查询即由该计算指定的DNs服务器向客户端返问一个可以解析该域名的其他DNs服务器地址,客户端再继续向其他DNs服务器进行查询。下面分别对这两种解析方法进行详细介绍。

当局部DNs服务器自己不能回答客户机的DNS查询请求时,那么该DNS服务器就需要向其他DNs服务器进行查询。此时有递归查询和迭代查询两种查询方式。如图1所示的是递归变询方式。由局部DNs服务器自己负责向其他DNs服务器进行查询,一般是先向该域的根域服务器进行查询,再由根域名服务器一级级向下查询。最后,将得到的查询结果返回结局部DNs服务器,再由局部DNs服务器返回给客户端。当局部DNs服务器自己不能回答客户机的DNs查询请求时,也可以通过迭代查询的方式进行域名解析,如图2所示。局部DNs服务器不是自己向其他DNs服务器进行查询,而是把能解析该域名的其他DNs服务器的IP地址返回给客户端DNS程序,客户端DNs程序再继续向这些DNs服务器发出查询请求,直到得到查询结果为止。

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~