DNS原理解析 DNS进化史 etc/hosts –> NIS –>DNS 起初域名和ip地址之间的解析都是完全存放在一个名为hosts的文件当中,在这个文件当中我们建立了ip和域名的一一对应的关系...现在,我们使用DNS协议,来实现分布式、阶层式的系统来管理ip地址和域名之间的对应关系。...DNS查询流程 我们以客户端第一次查询百度为例子解释DNS的查询流程 递归和迭代的区别?...所谓 递归查询过程 就是 “查询的递交者” 更替, 而 迭代查询过程 则是 “查询的递交者”不变。...参考文献 《鸟哥的linux私房菜服务篇》 DNS解析的工作原理及递归与迭代的区别 《TCP/IP详解卷一:协议》 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134835
解析》对 DNS 解析的整个过程进行了阐述,在这里我就简单通过对这篇文章的分析来讲述解析这一过程吧。...图片简单概括一下改文章中域名解析过程:查找浏览器缓存查找系统缓存查找路由器缓存查找ISP DNS 缓存递归搜索首先浏览器缓存是没有太大问题的,各家浏览器都有自己的缓存机制。...最后的查找 ISP DNS 缓存和递归搜索那就更值得怀疑了,首先我设置的 DNS 解析地址不一定是 ISP 所提供的地址,我大可选择一些公共 DNS ,谷歌、微软、腾讯等公司都对外提供公共 DNS 解析...,并且并不是所有的 DNS 服务器都采用递归方式进行请求,迭代请求方式也是常见的。...这里不得不再提的是 DNS 的迭代查询方式和递归查询方式,实际情景可能会较为复杂,甚至出现不同方式混合的情况,这里简单的进行如下不严谨的表述:迭代解析方式中客户端依次访问不同级别的域名解析服务器进行查询递归请求中由服务器完成解析直接返回给客户端
DNS的解析原理和过程: 在Internet上域名和IP是对应的,DNS解析有两种:一种是正向解析,另外一种是反向解析。...正向解析:正向解析就是将域名转换成对应的 IP地址的过程,它应用于在浏览器地址栏中输入网站域名时的情形。 反向解析:根据IP地址查找对应的注册域名,经常被一些后台程序使用,用户看不到。...另外需要知道的是DNS查询的工作方式: 客户端和浏览器,本地DNS之间的查询方式是递归查询; 本地DNS服务器与根域及其子域之间的查询方式是迭代查询; DNS解析过程: 场景:用户在浏览器输入网址:www.qcloud.com...,其解析过程如下: 第1步:浏览器将会检查缓存中有没有这个域名对应的解析过的IP地址,如果有该解析过程将会结束。...第5步:如果本地DNS服务器无法查询到,则根据本地DNS服务器设置的转发器进行查询; 未用转发模式:本地DNS就把请求发至根DNS进行(迭代)查询,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理
DNS解析过程 域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。...解析方式 DNS解析查询的方式有两种:递归解析查询和迭代解析查询,通常来说,客户端和本地域名服务器是递归查询,而本地域名服务器和其他域名服务器之间是迭代查询。...递归解析 假如我们本地客户端是A,有三个域名解析服务器B、C、D,首先在本地客户端A发起一次DNS解析请求,对B服务器请求解析DNS,B服务器查询后并无解析记录,则B服务器对C服务器请求解析DNS,,C...A → B A → C A → D 解析过程 浏览器缓存 在输入URL后浏览器首先检查自身的DNS缓存是否对于此域名有IP地址,通常浏览器对于自身DNS解析缓存保留时间比较短,且数量也有限制,chrome...本地域名解析服务器 客户端向本地域名服务器请求解析,本地域名服务器一般是运营商ISP提供的,一般是通过53端口发送UDP报文请求服务器解析DNS,从客户端到本地域名服务器的解析是递归查询的。
转自:https://www.jianshu.com/p/6b502d0f2ede 一、DNS解析分类 DNS解析流程分为递归查询和迭代查询,递归查询是以本地名称服务器为中心查询,递归查询是默认方式,迭代查询是以...其实DNS客户端和本地名称服务器是递归,而本地名称服务器和其他名称服务器之间是迭代 二、DNS递归解析原理 递归解析(或叫递归查询)是最常见,也是默认的解析方式。...,直到本地名称服务器从权威名称服务器得到了正确的解析结果,然后由本地名称服务器告诉DNS客户端查询的结果 DNS递归解析基本流程: 在这个查询过程中,一直是以本地名称服务器(Local DNS)为中心的...然后再由本地名称服务器返回给DNS客户,同时本地名称服务器会缓存本次查询得到的记录项 三、递归查询和迭代查询的区别 DNS客户端和本地名称服务器是递归,而本地名称服务器和其他名称服务器之间是迭代 DNS...DNS迭代名称解析:(或者叫迭代查询)的所有查询工作全部是DNS客户端自己进行(以DNS客户端自己为中心)。
DNS和统一资源定位符,域名系统本质就是定位资源,互联网中的各种资源,比如视频、图片、文件、网页。。。。...图片 DNS域名解析过程 如上图所示,DNS的存储设计是一个树状结构,叶子节点中才存放真实的映射关系,中间节点存的都是目录。...图片 DNS域名解析过程 DNS查询过程 当用户在浏览器中输入一个网址,就会触发DNS查询。...图片 DNS域名解析过程 根据上图,详细DNS查询结果如下: 1、用户输入网址,先查询本地DNS,本地DNS是一系列DNS的集合,比如ISP提供的DNS、公司网络提供的DNS。...IN代表记录用于互联网,是Intenet的缩写。A是记录的类型,A记录代表着这是一条解析IPv4地址的记录,代表域名和IPv4地址的映射关系。
一、DNS是什么 dns全称Domain Name System,又称域名系统,是互联网的一项服务, 主要在dns服务器中保存着域名和ip地址的对应关系,为人们提供域名解析服务。 ...二、DNS架构 服务器的包含关系是:具体如下图 根DNS服务器 > 顶级DNS服务器 > 权威DNS服务器 > 二级域名的DNS服务器 根DNS服务器:掌握着所有顶级dns的ip和域名的对应关系... 顶级DNS服务器:掌握着权威dns的ip和域名的对应关系 eg: .com .cn .org 权威DNS服务器 :掌握着二级域名dns服务器的ip和域名的对应关系 eg: baidu.com...三、在浏览器输入url按下回车的整个过程 3.1大致过程 1.把输入的url域名通过dns解析成ip地址 2.浏览器向ip发送请求信息(包括请求头Request Headers和请求体Request...Body) 3.服务器向浏览器回应一个响应信息(包括响应头Response Headers和响应体Response Body) 3.2dns解析详细过程 1.先向本地dns缓存查看有没有该域名对应的
域名到IP地址的解析过程的要点如下:当某一个应用需要把主机名解析为IP地址时,该应用进程就调用解析程序,并称为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器...若本地域名服务器不能回答该请求,则此域名服务器就暂时称为DNS的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。此过程在后面作进一步讨论。...当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。 4、域名的解析过程 注意: 一、主机向本地域名服务器的查询一般都是采用递归查询。...因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。 二、本地域名服务器向根域名服务器的查询的迭代查询。...这时就必须知道主机y.abc.com的IP地址。下面是上图a的几个查询步骤: 1、主机m.abc.com先向本地服务器dns.xyz.com进行递归查询。 2、本地服务器采用迭代查询。
一、主机解析域名的顺序 1、找缓存 2、找本机的hosts文件 3、找DNS服务器 注意: 配置IP和主机名时,要记得修改/etc/hosts文件, 因为有些应用程序在主机内的进程之间通信的时候...,会本机的主机名,如果主机名不能正确解析到一个正常的IP地址,那么就会导致进程通信有问题。...二、概念解释 DNS(Domain Name System,域名系统) 1、因特网上作为域名和IP(Internet Protocol Address)地址相互映射的一个分布式数据库...2、通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。 3、DNS协议运行在UDP协议之上,使用端口号53。...5、根服务器:ISP的DNS服务器还找不到的话,它就会向根服务器发出请求,进行递归查询(DNS服务器先问根域名服务器.com域名服务器的IP地址,然后再问.com域名服务器,依次类推)。
(详解参见博客:域名解析中A记录、CNAME、MX记录、NS记录的区别和联系) A记录是什么意思呢,就是记录一个IP地址和一个主机名字,比如我这个域名服务器所在的域test.baidu.com,我们知道这是一个二级的域名...我返回给你这个地址你再去查主机为a的主机把。 这些域内的域名服务器都称为权威服务器,直接提供DNS查询服务。(这些服务器可不会做递归哦) 四.解析过程 那么我们的DNS是怎么解析一个域名的呢?...1.现在我有一台计算机,通过ISP接入了互联网,那么ISP就会给我分配一个DNS服务器,这个DNS服务器不是权威服务器,而是相当于一个代理的dns解析服务器,他会帮你迭代权威服务器返回的应答,然后把最终查到...其实这个想法是错误,在自己的本地搭建一个local dns,抓取整个解析过程中是所有包,看看就明白拉。...上图就是localdns在解析www.baidu.com的抓包全过程。
2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。...3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中...这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。...6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。...从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询。
DNS域名解析过程简述 我们知道,域名是为了方便用户记忆而专门建立的一套地址转换系统。虽然用户在web端输入了url可电脑想要找到资源还是需要对应资源所在服务器的准确ip。...于是乎,在获取、请求资源之前,需要有这么一点点时间用在dns解析上(根据域名找ip的过程就是域名解析) 域名跟ip的映射包括我们的浏览器、操作系统、路由器、dns服务器都有做处理。...首先是浏览器,如果用户访问到了一个资源,浏览器会记录该资源对应的ip并以一定频率进行刷新。 其次是我们的电脑,当浏览器中没有记录我们的ip时它就会去电脑中找,比如我们的hosts文件中会有一些配置。...如果电脑中也没有,就需要借助网络,将请求发送给路由器,甚至ISP的DNS服务器。 如果还是找不到,就向根服务器发送请求进行查询 当然,兜了一圈都没有的话,页面就会显示无法连接啦
在上一篇文章,我们介绍了域名解析的过程,本章我们将介绍一个实用的工具---dig命令,通过dig命令我们可以查看 DNS 解析的过程,以便我们更好的理解 DNS 解析过程。...命令仅使用 IPv4 查询传输; -6 指定 dig 命令仅使用 IPv6 查询传输; +trace 跟踪从根名称服务器开始的迭代查询过程,缺省情况不使用跟踪。...启用跟踪时,dig 命令会执行迭代查询以解析要查询的名称,显示来自用于解析查询的每个服务器的应答。...DNS 服务器的主从架构 image.png DNS 服务器通常以集群的方式提供服务,一台主服务器和多台从服务器,从服务器启动时从主服务器进行解析库的完全同步,运行时以一定的时间间隔进行增量刷新同步,继而记录的保证一致性...到目前为止,我们对 DNS 解析的过程以及 DNS 服务器的架构已经有所了解,下一篇文章我们将讨论一个有趣的问题,为什么全球只有13台 DNS 服务器?
DNS概念 dns 即是 domain name system 域名系统的缩写,将域名和 ip 的映射关系保存在一个分布式数据库中。...域名解析过程分析 下面就还以 www.baidu,com 这个网址来分析一下 dns 的解析过程。...目前用的比较多的是谷歌提供的公用 dns 8.8.8.8 和国内的公用 dns 114.114.114.114 。...本地 dns 又拿着 ip 去找对应的权威服务器,权威服务器最终把对应的主机 ip 返回给本地 dns,至此就完成了域名解析的全过程。 下面用一张图来展示上面迭代查询的过程。 ?...域名解析实例 接下来我们再用一个实际的例子来还原一遍上面的解析过程,我使用我自己的博客网站来做演示,域名为 www.weatherfood.com。
用户要访问www.baidu.com,会先找本机的host文件,再找本地设置的DNS服务器,如果也没有的话,就去网络中找根服务器,根服务器反馈结果,说只能提供一级域名服务器.cn,就去找一级域名服务器...一级域名服务器说只能提供二级域名服务器.com.cn,就去找二级域名服务器,二级域服务器只能提供三级域名服务器.baidu.com.cn,就去找三级域名服务器,三级域名服务器正好有这个网站www.baidu.com,然后发给请求的服务器
DNS是应用层协议,端口号为tcp/53和udp/53 DNS查询过程,比如访问www.test.com 1.客户机查询www.test.com 2.查询首选DNS服务器,Linux下/etc/resolv.conf..., Windows下是网络设置中的 3.首选DNS服务器中没有test.com域的授权记录,将请求传递给“.”根域DNS服务器 4."."...根域传递给"com"域,"com"域传递给"test.com"域,迭代查询 5."...test.com"域存在记录,就将对应的IP就返回给首选DNS服务器 6.客户机的首选DNS服务器将www.test.com的IP 地址发送给客户机。...7.域名解析成功后,客户机将http请求发送给Web服务器。 8.Web服务器响应客户机的访问请求,客户机便可以访问目标主机。 验证: dig +trace www.sopans.com ?
发生了如下操作: 输入www.brianlv.com网站后,系统会查找系统本地的DNS缓存和hosts文件,如果存在就获取IP地址然后就访问该IP地址即可。...如果不存在记录,系统会把浏览器的解析请求发送给在客户端设置的DNS服务器地址(Local DNS),如果Local DNS存在解析记录就会返回相应的IP地址。...如果不存在会继续通过Local DNS将解析请求发送给其他DNS服务器,直到找到对应的解析地址。...Local DNS从DNS系统的.根开始请求对www.brianlv.com域名的解析,根DNS服务器全球一共13台,www.brianlv.com对应的顶级域名是com的解析记录,根会把.com对应的...,并且LDNS会在本地把域名和IP的对应解析记录缓存起来。 网站流量度量解析 独立IP,不同的IP地址的计算机访问网站时被计的总次数。值得注意的是公司内部局域网访问一个网站时,是一个独立的IP。
前言 归并排序的思想上我们已经全部介绍完了,但是同时也面临和快速排序一样的问题那就是递归消耗的栈帧空间太大了,所以对此我们必须掌握非递归的排序思想。...文章目录 前言 一、非递归实现的思想 二、非递归实现的过程 2.1 非递归实现的调整 2.2 调整思路讲解 2.3 归并非递归完整代码 三、归并排序的总结 文章结语: 一、非递归实现的思想 归并实现的思想无非就是先将...既然要用非递归那么我们是不是可以这样想 直接吧每个区间定义为 1 进行归并然后再来进行循环到上一组归并排序: 这样就可以利用循环来吧归并排序非递归化了 二、非递归实现的过程 好了具体思想那么我们懂了...以上就是非递归实现的代码了,但你真的以为非递归就这样结束了?...2.2 调整思路讲解 哦豁大家是不是看到了当第二次排序的时候 begin2 和 end2 都越界了,第三次归并的时候甚至 end2 都 越界了 这其实非常简单既然第二个区间都越界的话那么是不是就不需要进行归并了
在进行每一步计算时,只要要知道当前结果(product)和i的值即可以了。这种计算形式称之为迭代。迭代有这样几个条件:1、有一个有初始值的变量。2、一个说明变量值如何升级的规则。3、一个结束条件。...( 循环三要素:循环变量、循环体和循环终止条件 )。和递归一样。时间要求随着输入的增长呈线性的可以叫做线性迭代。...迭代 VS 递归 比较了两个程序,我们可以发现,他们看起来几乎相同,特别是其数学函数方面。在计算n!的时候,他们的计算步数都是和n的值成正比的。...递归中肯定有迭代,但是迭代中不肯定有递归,大部分可以相互转换。 能用迭代的不要用递归,递归调用函数不仅白费空间,假如递归太深的话还容易造成堆栈的溢出。...在这个过程中计算了两次fib(3)。 从上面分析的计算过程可以得出一个结论:使用递归实现斐波那契数列存在冗余计算。 就像上面提到的,可以用递归的算法一般都能用迭代实现,斐波那契数列的计算也一样。
DNS查询的两种方式:递归查询和迭代查询 ---- 1、递归解析 当局部DNS服务器自己不能回答客户机的DNS查询时,它就需要向其他DNS服务器进行查询。此时有两种方式,如图所示的是递归方式。...局部DNS服务器自己负责向其他DNS服务器进行查询,一般是先向该域名的根域服务器查询,再由根域名服务器一级级向下查询。最后得到的查询结果返回给局部DNS服务器,再由局部DNS服务器返回给客户端。...2、迭代解析 当局部DNS服务器自己不能回答客户机的DNS查询时,也可以通过迭代查询的方式进行解析,如图所示。...局部DNS服务器不是自己向其他DNS服务器进行查询,而是把能解析该域名的其他DNS服务器的IP地址返回给客户端DNS程序,客户端DNS程序再继续向这些DNS服务器进行查询,直到得到查询结果为止。...也就是说,迭代解析只是帮你找到相关的服务器而已,而不会帮你去查。比如说:baidu.com的服务器ip地址在192.168.4.5这里 声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。
领取专属 10元无门槛券
手把手带您无忧上云