精华内容
下载资源
问答
  • 浅析DNS域名解析过程

    万次阅读 2018-10-10 08:56:29
    一、DNS域名解析步骤 下图是DNS域名解析的一个示例图,它涵盖了基本解析步骤和原理。 下面DNS解析步骤进行讲解,后面将采用命令行的形式来跟踪DNS解析过程。当用户在地址栏键入www.baidu.com并敲下回车键之后,域名...

    转载自:https://blog.csdn.net/Lammonpeter/article/details/81358387

    一、DNS域名解析步骤

    下图是DNS域名解析的一个示例图,它涵盖了基本解析步骤和原理。
    这里写图片描述
    下面DNS解析步骤进行讲解,后面将采用命令行的形式来跟踪DNS解析过程。当用户在地址栏键入www.baidu.com并敲下回车键之后,域名解析就开始了。

    第一步:检查浏览器缓存中是否缓存过该域名对应的IP地址

    用户通过浏览器浏览过某网站之后,浏览器就会自动缓存该网站域名对应的IP地址,当用户再次访问的时候,浏览器就会从缓存中查找该域名对应的IP地址,因为缓存不仅是有大小限制,而且还有时间限制(域名被缓存的时间通过TTL属性来设置),所以存在域名对应的IP找不到的情况。当浏览器从缓存中找到了该网站域名对应的IP地址,那么整个DNS解析过程结束,如果没有找到,将进行下一步骤。对于IP的缓存时间问题,不宜设置太长的缓存时间,时间太长,如果域名对应的IP发生变化,那么用户将在一段时间内无法正常访问到网站,如果太短,那么又造成频繁解析域名。

    第二步:如果在浏览器缓存中没有找到IP,那么将继续查找本机系统是否缓存过IP

    如果第一个步骤没有完成对域名的解析过程,那么浏览器会去系统缓存中查找系统是否缓存过这个域名对应的IP地址,也可以理解为系统自己也具备域名解析的基本能力。在Windows系统中,可以通过设置hosts文件来将域名手动绑定到某IP上,hosts文件位置在C:\Windows\System32\drivers\etc\hosts。对于普通用户,并不推荐自己手动绑定域名和IP,对于开发者来说,通过绑定域名和IP,可以轻松切换环境,可以从测试环境切换到开发环境,方便开发和测试。在XP系统中,黑客常常修改他的电脑的hosts文件,将用户常常访问的域名绑定到他指定的IP上,从而实现了本地DNS解析,导致这些域名被劫持。在Linux或者Mac系统中,hosts文件在/etc/hosts,修改该文件也可以实现同样的目的。

    前两步都是在本机上完成的,所以没有在上面示例图上展示出来,从第三步开始,才正在地向远程DNS服务器发起解析域名的请求。

    第三步:向本地域名解析服务系统发起域名解析的请求

    如果在本机上无法完成域名的解析,那么系统只能请求本地域名解析服务系统进行解析,本地域名系统LDNS一般都是本地区的域名服务器,比如你连接的校园网,那么域名解析系统就在你的校园机房里,如果你连接的是电信、移动或者联通的网络,那么本地域名解析服务器就在本地区,由各自的运营商来提供服务。对于本地DNS服务器地址,Windows系统使用命令ipconfig就可以查看,在LinuxMac系统下,直接使用命令cat /etc/resolv.conf来查看LDNS服务地址。LDNS一般都缓存了大部分的域名解析的结果,当然缓存时间也受域名失效时间控制,大部分的解析工作到这里就差不多已经结束了,LDNS负责了大部分的解析工作。

    第四步:向根域名解析服务器发起域名解析请求

    本地DNS域名解析器还没有完成解析的话,那么本地域名解析服务器将向根域名服务器发起解析请求。

    第五步:根域名服务器返回gTLD域名解析服务器地址

    本地DNS域名解析向根域名服务器发起解析请求,根域名服务器返回的是所查域的通用顶级域(Generic top-level domain,gTLD)地址,常见的通用顶级域有.com.cn.org.edu等。

    第六步:向gTLD服务器发起解析请求

    本地域名解析服务器向gTLD服务器发起请求。

    第七步:gTLD服务器接收请求并返回Name Server服务器

    gTLD服务器接收本地域名服务器发起的请求,并根据需要解析的域名,找到该域名对应的Name Server域名服务器,通常情况下,这个Name Server服务器就是你注册的域名服务器,那么你注册的域名的服务商的服务器将承担起域名解析的任务。

    第八步:Name Server服务器返回IP地址给本地服务器

    Name Server服务器查找域名对应的IP地址,将IP地址连同TTL值返回给本地域名服务器。

    第九步:本地域名服务器缓存解析结果

    本地域名服务器缓存解析后的结果,缓存时间由TTL时间来控制。

    第十步:返回解析结果给用户

    解析结果将直接返回给用户,用户系统将缓存该IP地址,缓存时间由TTL来控制,至此,解析过程结束。

    这里对DNS解析的步骤进行了一个简单的介绍分析,后面将通过命令行的形式来解析一个域名的具体解析过程。

    二、DNS域名解析过程分析

    在正式开始分析解析过程之前,先来介绍几个基本的域名解析方式的概念。域名解析记录主要分为A记录MX记录CNAME记录NS记录以及TXT记录

    • A记录A代表的是Address,用来指定域名对应的IP地址,比如将map.baidu.com指定到180.97.34.157,将zhidao.baidu.com指定到180.149.131.245A记录允许将多个域名解析到一个IP地址,但不允许将一个域名解析到多个IP地址上。

    • MX记录MX代表的是Mail Exchage,就是可以将某个域名下的邮件服务器指向自己的Mail Server,如baidu.com域名的A记录IP地址是180.97.34.157,如果将MX记录设置为180.97.34.154,即xxx@baidu.com的邮件路由,那么DNS会将邮件发送到180.97.34.154所在的服务器,而正常web请求仍然会解析到A记录的IP地址180.97.34.157

    • CNAME记录CNAME指的就是Canonical Name,也就是别名解析,可以将指定的域名解析到其他域名上,而其他域名就是指定域名的别名,整个解析过程称为别名解析。比如将baidu.com解析到itlemon.cn,将csdn.net解析到itlemon.cn,那么itlemon.cn就是baidu.comCSDN.net的别名。

    • NS记录:就是为某个域名指定了特定的DNS服务器去解析。

    • TXT记录:为某个主机名或者域名设置特定的说明,比如为itlemon.cn设置的的TXT记录为“Lemon的技术笔记”,这个TXT记录为itlemon.cn的说明。

    上面概念中的IP地址都是假定的,帮助理解。下面将通过解析域名baidu.com为例,进一步说明域名解析流程。

    直接查看域名结果,可以通过命令nslookup加上域名来查看:
    这里写图片描述
    上图中Non-authoritative answer表示解析结果来自非权威服务器,也就是说这个结果来自缓存,并没有完全经历全部的解析过程,从某个缓存中读取的结果,这个结果存在一定的隐患,比如域名对应的IP地址已经更变。
    这只是一个快捷的解析结果,如果需要浏览全部的解析过程,那么可以使用dig命令来查看解析过程。
    这里写图片描述
    分析上图DNS解析过程,我们可以看出:
    第一步:从本地DNS域名解析服务器获取到13个根DNS域名服务器(.)对应的主机名。
    这里写图片描述
    第二步:从13个根域名服务器中的其中一个(这里是h.root-servers.net)获取到顶级com.的服务器IP(未显示)和名称。
    这里写图片描述
    第三步:向com.域的一台服务器192.43.172.30(i.gtld-servers.net)请求解析,它返回了baidu.com域的服务器IP(未显示)和名称,百度有四台顶级域的服务器。
    这里写图片描述
    第四步:向百度的顶级域服务器220.181.37.10(ns3.baidu.com)请求www.baidu.com,它发现这个www有个别名,而不是一台主机,别名是www.a.shifen.com
    这里写图片描述
    一般情况下,DNS解析到别名就停止了,返回了具体的IP地址,如果想看到具体的IP地址,可以进一步对别名进行解析,解析结果如下:
    这里写图片描述
    这时候看到最后的解析结果是180.97.33.107180.97.33.108。在解析别名的过程中,可以发现shifen.combaidu.com都是指定了相同的域名解析服务器。以上是一个域名的解析过程,最后的解析结果和一开始的使用nslookup的结果一致。

    展开全文
  • [计算机网络]DNS域名解析过程

    千次阅读 2021-11-12 00:18:31
    DNS域名解析过程 dns 即是 domain name system 域名系统的缩写,将域名和 ip 的映射关系保存在一个分布式数据库中。 首先我们要明确一个观点。运行浏览器或者任何应用程序的主机和服务器之间,或者主机和主机之间,...

    DNS域名解析过程

    dns 即是 domain name system 域名系统的缩写,将域名和 ip 的映射关系保存在一个分布式数据库中。

    首先我们要明确一个观点。运行浏览器或者任何应用程序的主机和服务器之间,或者主机和主机之间,只能使用IP进行链接通讯,只使用域名是无法经行通讯的。

    但是用户通过浏览器访问网站,一般情况下在浏览器中输入网站的域名,这个时候浏览器会向 DNS 服务器发送 DNS 请求,请求域名对应的 IP 地址。DNS 服务器查询到 IP 地址以后,将 IP 地址返回给浏览器,浏览器通过该 IP 地址访问网站。
    下面以一个简单的物联网设备访问testing.lorex.com为例讲解域名解析。

    在这里插入图片描述
    上图中几个步骤介绍了域名解析的流程,每个步骤如下:

    1. 设备需要访问域名为testing.lorex.com的服务器,则会发起查询该域名的 IP 地址的 DNS 请求。该请求首先被发送到了本地 DNS 服务器上。本地 DNS 服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地 DNS 服务器还要向 DNS 根服务器进行查询。

    2. 本地 DNS 服务器向根服务器发送 DNS 请求,请求域名为 testing.lorex.com的 IP 地址。

    3. 根服务器经过查询,不会直接返回域名和 IP 地址的对应关系。但是会告诉本地 DNS 服务器,可以到"xxx.com"顶级域名服务器上继续查询,并返回"xxx.com"顶级域名服务器的IP地址。

    4. 本地 DNS 服务器根据根域名服务器返回的IP地址向 “xxx.com” 顶级域名服务器发送 DNS 请求,请求域名testing.lorex.com 的 IP 地址。

    5. xxx.com 顶级域名解析服务器收到请求后,也不会直接返回域名和 IP 地址的对应关系,而是告诉本地 DNS 服务器,该域名可以在 “xxx.lorex.com” 权威域名服务器上进行解析获取 IP 地址,并返回 “xxx.lorex.com” 权威域名服务器的地址。

    6. 本地 DNS 服务器向 “xxx.lorex.com” 权威域名服务器发送 DNS 请求,请求域名testing.lorex.com 的 IP 地址。

    7. “xxx.lorex.com” 权威域名服务器收到请求后,在自己的缓存表中发现了testing.lorex.com该域名和 IP 地址的对应关系,并将IP地址返回给本地 DNS 服务器。

    8. 本地 DNS 服务器将获取到与域名对应的 IP 地址返回给设备端,并且将域名和 IP 地址的对应关系保存在缓存中,以备下次别的用户查询时使用。

    9)设备端收到本地域名服务器返回的testing.lorex.com对应的IP地址之后通过IP地址经行数据访问。

    展开全文
  • DNS域名解析过程

    2017-08-03 10:31:41
    DNS,就是Domain Name System的缩写,翻译过来就是域名系统,是互联网上作为域名和IP地址相互映射...下面这张图,详细说明了一个DNS域名解析的全过程:下面来详细解释DNS域名解析过程:第1步: 客户机就是我们平常使

    DNS,就是Domain Name System的缩写,翻译过来就是域名系统,是互联网上作为域名和IP地址相互映射的一个分布式数据库。DNS能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。

    下面这张图,详细说明了一个DNS域名解析的全过程:

    这里写图片描述

    下面来详细解释DNS域名解析的过程:

    第1步: 客户机就是我们平常使用的电脑,打开浏览器,输入一个域名。比如输入www.163.com,这时,浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就将结束。

    浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且缓存的时间也有限制,通常情况下为几分钟到几小时不等,域名被缓存的时间限制可以通过TTL(Time To Live)属性来设置。

    这个缓存时间太长和太短都不好,如果缓存时间太长,一旦域名被解析到的IP有变化,会导致被客户端缓存的域名无法解析到变化后的IP地址,以致该域名不能正常解析,这段时间内有可能会有一部分用户无法访问网站。如果时间设置太短,会导致用户每次访问网站都要重新解析一次域名。

    阿里云解析默认的TTL是10分钟,10分钟的含义是,本地DNS服务器对于域名的缓存时间是10分钟,10分钟之后,本地DNS服务器就会删除这条记录,删除之后,如果有用户访问这个域名,就要重复一遍上述复杂的流程。其实,如果网站已经进入稳定发展的状态,不会轻易更换IP地址,我们完全可以将TTL设置到协议最大值,即24小时。带来的好处是,让域名解析记录能够更长时间的存放在本地DNS服务器中,以加快所有用户的访问。

    第2步: 如果用户的浏览器缓存中没有,操作系统会检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

    在操作系统中也有一个域名解析的过程,在Windows中可以通过C:\Windows\System32\drivers\etc\hosts文件来设置,你可以将任何域名解析到任何能够访问的IP地址。

    如果你在这里指定了一个域名对应的IP地址,那么浏览器会首先使用这个IP地址。例如,我们在测试时可以将一个域名解析到一台测试服务器上,这样不用修改任何代码就能测试到单独服务器上的代码的业务逻辑是否正确。

    正是因为有这种本地DNS解析的过程,所以黑客就有可能通过修改你的域名解析来把特定的域名解析到它指定的IP地址上,导致这些域名被劫持。早期的Windows版本中出现过很严重的问题,而且对于一般没有太多电脑知识的用户来说,出现问题后很难发现,即使发现也很难自己解决,所以Windows 7中将hosts文件设置成了只读的,防止这个文件被轻易修改。

    Linux中这个配置文件是/etc/named.conf,修改这个文件可以达到同样的目的,当解析到这个配置文件中的某个域名时,操作系统会在缓存中缓存这个解析结果,缓存的时间同样是受这个域名的失效时间和缓存的空间大小控制的。

    第3步: 如果本机缓存没有相应的网址映射关系,客户机会发出一个DNS请求到本地DNS服务器。本地DNS服务器一般都是你的网络接入服务器商提供,比如中国电信,中国移动。

    这个专门的本地DNS服务器性能都会很好,它们一般都会缓存域名解析结果,当然缓存时间是受域名的失效时间控制的,一般缓存空间不是影响域名失效的主要因素。大约80%的域名解析都到这里就已经完成了,所以本地DNS服务器主要承担了域名的解析工作。

    Windows下可以通过ipconfig查询这个地址:

    这里写图片描述

    Linux下可以通过如下方式查询配置的DNS Server

    这里写图片描述

    第4步: 查询www.163.comDNS请求到达本地DNS服务器后,若要查询的域名包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

    第5步: 如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询。

    如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断.com域名是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(163.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找163.com域服务器,重复上面的动作,进行查询,直至找到www.163.com主机。

    如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。

    不管是本地DNS服务器用是哪种模式,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

    第6步: 返回该域名对应的IPTTL值,本地DNS服务器会缓存这个域名和IP的对应关系,缓存的时间由TTL值控制。

    第7步: 把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,以备下次别的用户查询时,可以直接返回结果,加快网络访问,域名解析过程结束。

    参考链接

    一张图看懂DNS域名解析全过程
    DNS原理及其解析过程【精彩剖析】
    DNS域名解析过程
    DNS解析过程详解

    展开全文
  • https://coredns.io/manual/toc/#query-is-processed Each Server Block specifies a number of plugins that should be chained for this specific Server. In its most simple form, you can add a Plugin by ...

    https://coredns.io/manual/toc/#query-is-processed

    Each Server Block specifies a number of plugins that should be chained for this specific Server. In its most simple form, you can add a Plugin by just using its name in a Server Block

     

     

    We can combine all this and have the following Corefile, which sets up 4 zones serving on two different ports:

    coredns.io:5300 {
        file db.coredns.io
    }
    
    example.io:53 {
        log
        errors
        file db.example.io
    }
    
    example.net:53 {
        file db.example.net
    }
    
    .:53 {
        kubernetes
        forward . 8.8.8.8
        log
        errors
        cache
    }

    When parsed by CoreDNS, this will result in the following setup:

     

    展开全文
  • 《面试》-- DNS域名解析过程

    千次阅读 2019-08-24 14:28:07
    DNS数据库结构是树状结构,形象来讲是一颗倒挂的树 ==> 树的根是根服务器,全球有13台根服务器 ...DNS解析流程: 1、DNS客户端(DNS_Client)检查HOSTS文件及本地DNS缓存,没有找到对应的记录; 2、DNS_...
  • 在互联网世界你要去访问其他主机时,你总得知道那台主机的地址吧? 这时人们就发明了IP地址,每个IP地址与一台主机一一... 需要将域名解析为IP地址,而DNS就是干着玩意儿的。DNS:Domain Name System(域名系统...
  • 域名解析对于网络用户来说是透明的,并将该请求发送给本地域名服务器,若本地域名服务器上没有对应的记录,则由本地域名服务器负责向上一级域名服务器申请资源,此时该 DNS 服务器对上层来讲也相当于一台DNS客户机。...
  • DNS域名解析过程

    2019-09-07 12:30:42
    域名解析全过程 DNS,就是Domain Name System的缩写,翻译过来就是域名系统,是互联网上作为域名和IP地址相互映射的一...我们下面使用一直图来看域名解析过程: 详细解释: 网络客户端就是我们平常使用的电脑,...
  • DNS解析,递归和迭代,域名解析记录
  • DNS域名解析过程

    2018-07-30 11:46:57
     当用户在浏览器中输入域名并按下回车键后,第1步,浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就将结束。浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且...
  • DNS域名解析过程

    万次阅读 2018-08-20 23:08:33
    DNS域名解析过程 一、主机解析域名的顺序  1、找缓存  2、找本机的hosts文件  3、找DNS服务器 注意:  配置IP和主机名时,要记得修改/etc/hosts文件,因为有些应用程序在主机内的进程之间通信的时候,...
  • 详解DNS域名解析过程

    万次阅读 多人点赞 2017-12-11 19:03:36
    关于dns域名解析的大致过程很多人都知道,但有些细枝末节的东西容易遗忘,今天有空整理一下,作为以后复习用
  • dns域名解析原理及过程

    千次阅读 2021-06-03 11:57:22
    域名的层次结构1.DNS域名解析 1.DNS协议 域名解析:就是域名到IP地址的转换过程。(也可以将IP地址转换为相应的域名地址,叫做反向解析) 人们通过注册的域名可以方便地访问到网站。 IP地址是网络上标识站点的数字...
  • DNS进行域名解析过程 #首先,客户端发送DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后: (1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息。 (2)若没有查,则在数据库中...
  • DNS域名解析协议一、DNS协议简介二、域名的层次结构三、DNS域名服务器四、域名解析的全过程 一、DNS协议简介 DNS(Domin Name System)是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,以及控制因特网的...
  • DNS域名解析是互联网上非常重要的一项服务,上网冲浪(还有人在用这个词吗?)伴随着大量DNS服务来支撑,而对于网站运营来说,DNS域名解析的稳定可靠,意味着更多用户的喜欢,更好的SEO效果和更大的访问流量。我们先...
  • 1、浏览器检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有这个解析过程就结束 2、如果浏览器缓存中没有,去操作系统的缓存查找,hosts文件中找 3、如果操作系统缓存中没有 去local DNS Server(LDNS...
  • DNS域名解析的过程 当你打开一个浏览器,输入一个网址(即域名),域名解析过程如下: 1.首先检查两个缓存:先检查浏览器是否有对应域名与ip地址的缓存,有的话解析结束;没有检查本地操作系统是否有对应域名和ip...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,283
精华内容 36,913
关键字:

dns域名解析过程

友情链接: dwtbhw.rar