搜索
当前位置: 大赢家官网 > 递归查询 >

新手入门之DNS递归查询

gecimao 发表于 2019-04-13 13:01 | 查看: | 回复:

  我们在阅读DNS相关资料的时候经常看到递归这两个字,其实在很多地方都可以见得到这个词。递归是指在函数的定义中使用函数自身的方法。递归一词还较常用于描述以自相似方法重复事物的过程。例如,当两面镜子相互之间近似平行时,镜中嵌套的图像是以无限递归的形式出现的。DNS中的递归查询只是其中的一种。

  归查询是最常见的查询方式,域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。详细过程如下:

  首先,客户端提出域名解析请求(无论以何种形式或方法),并将该请求发或转发给本地的DNS服务器。 接着,本地DNS服务器收到请求后就去查询自己的缓存,如果有该条记录,则会将查询的结果返回给客户端。(也就是我们看到的““非权威性”的应答”)。

  如果DNS服务器本地没有搜索到相应的记录,则会把请求转发到根DNS(13台根DNS服务器的IP信息默认均存储在DNS服务器中,当需要时就会去有选择性的连接)。 然后,根DNS服务器收到请求后会判断这个域名是谁来授权管理,并会返回一个负责该域名子域的DNS服务器地址。比如,查询IP,根DNS服务器就会在负责顶级域名的DNS服务器中选一个(并非随机,而是根据空间、地址、管辖区域等条件进行筛选),返回给本地DNS服务器。可以说根域对顶级域名有绝对管理权,自然也知道他们的全部信息,因为在DNS系统中,上一级对下一级有管理权限,毫无疑问,根DNS是最高一级了。

  本地DNS服务器收到这个地址后,就开始联系对方并将此请求发给他。负责.com域名的某台服务器收到此请求后,如果自己无法解析,就会返回一个管理.com的下一级的DNS服务器地址给本地DNS服务器,也就是负责管理abc.com的DNS。

  不断重复这样的轮回过程,直到有一台DNS服务器可以顺利解析出这个地址为止。在这个过程中,客户端一直处理等待状态,他不需要做任何事,也做不了什么。

  直到本地DNS服务器获得IP时,才会把这个IP返回给客户端,到此在本地的DNS服务器取得IP地址后,递归查询就算完成了。本地DNS服务器同时会将这条记录写入自己的缓存,以备后用。 到此,整个解析过程完成。

  客户端拿到这个地址后,就可以顺利往下进行了。但假设客户端请求的域名根本不存在,解析自然不成功,DNS服务器会返回此域名不可达,在客户端的体现就是网页无法浏览或网络程序无法连接等等。

  从DNS服务器本地没有搜索到相应的记录,到在本地的DNS服务器取得IP地址这个过程就叫做DNS递归查询。

  每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。

本文链接:http://miamiaccounting.net/diguichaxun/47.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部