美文网首页
DNS的查询过程

DNS的查询过程

作者: Robin92 | 来源:发表于2019-11-03 00:42 被阅读0次

DNS(Domain Name System)叫域名系统,由于IP地址不方便记忆,所以产生了一种可以 有效管理主机名和 IP 地址之间对应关系的系统,即 DNS 系统。
在一个本地计算机上,它可以是一个 hosts 文件,在互联网中它就是 DNS 系统。


域名的构成

域名的分层

在一个内网中,你可以随意定一台电脑的主机名,如 pc1,将它定义在 hosts 文件中就可以访问它来访问对应的 IP 地址。但在一个大型互联的网络中,我们就用到了域名的分层。
很简单,域名的分层就是我们常见的 jwc.wh.sdu.edu.cn 这种结构。比如,在你定义的主机后面加上所属组织机构的域名 pc1.group1 来表示在 group1 下的 pc1。
域名的分层是一个倒挂的树,所以又称为树形结构 。它的顶点是树的根 Root,顶点的下一层就是第一层域名,又叫 顶级域名,包括代表国家的域名如 cn,如以及特定领域的域名如 com(美国企业) 。

DNS的查询过程

域名服务器

域名服务器就是 管理域名的主机或相应的软件。每层都会设置一个域名服务器,用于管理本层的域名。
根域名服务器 记录着所有一级域名服务器的 IP 地址。一般每一层的域名服务器都会配置两台以上,以提高容灾能力。
所有域名服务器都必须注册根域名服务器的 IP 地址。因为DNS根据 IP 地址检索需要从根开始顺序进行。

DNS 解析器 (Resolver)

进行 DNS 查询的主机和软件叫做 DNS 解析器。这个解析器中要注册某个域名服务器的 IP 才能对其下的域名进行查找。


DNS 的查询

DNS 的查询有两种方式。一般两种方式都会用到。递归查询是用在本地机查询本地 DNS 服务器的过程,迭代查询是本地 DNS 服务器在互联网上查找目标机的过程。

想象一个树状图,一个主机访问另一台主机,就像是蚂蚁从一个叶子访问到另一个叶子的位置。
比如小蚂蚁 a 从某个叶子上开始,想找 Z 的地址,来到叶子根部的 b 蚂蚁(DNS服务器)处,b 蚂蚁说,“你等着,我帮你打听”。
b 蚂蚁就问到了根服务器 C 蚂蚁,C 说你去问问 D 蚂蚁吧,就给了 b 蚂蚁 D 蚂蚁的地址,b 去问了 D,D 正好知道 Z 蚂蚁的地址,于是给了 b 蚂蚁。自此,终于找到了目标地址。b 最终将信息返回给 a。解析就此结束。

这个过程中:

  • a -> b 这个链路就是递归查询,因为 b 帮助了 a 进行查询。

  • b => C, b => D,这个就是迭代查询,因为 C 没有帮 b 去查,而是直接给了他一个地址去让它再去打听。

  • 主机到本地 DNS 服务器的查询就属于递归查询。

  • 本地 DNS 服务器向根服务器的查询就是迭代查询。

查询过程

(以下各步骤中,找到目标地址即返回,找不到会执行下一步)

  • 先去本地 hosts 中找对应地址
  • 再去域名解析器(缓存)中寻找映射关系
  • 找 DNS 服务器问是不是配置在其下的
  • DNS 服务器有没有缓存它的映射关系
  • DNS 根据配置去找到根服务器或者上一级 DNS 服务器

相关文章

  • 2019-06-18 Web 性能优化的常用手段

    DNS查询:虽然不能优化DNS查询过程,但是可以通过减少DNS查询数量来加快查询的速度 TCP连接: 在HTTP请...

  • DNS的查询过程

    DNS(Domain Name System)叫域名系统,由于IP地址不方便记忆,所以产生了一种可以 有效管理主机...

  • 14 DNS

    DNS 1 什么是DNS它所提供的服务是用来将主机名和域名转换为IP地址的工作 2 DNS查询过程 递归:DNS服...

  • 输入URL到页面渲染的整个流程

    DNS查询 DNS查询分为DNS迭代查询(由客户端去做请求)和递归查询(由系统配置的DNS服务器去做请求,得到结果...

  • 前端性能优化之资源加载与css,js执行

    一、浏览器请求过程中潜在优化点 dns是否可以通过缓存减少dns查询时间? 网络请求的过程走最近的网络环境? 相同...

  • Android网络框架学习——DNS解析与Socket通信原则

    一、什么是DNS? 二、DNS查询过程 三、Socket介绍 Socket 的中文翻译过来就是“套接字”。套接字是...

  • 前端性能优化

    请求过程中潜在的优化点 dns是否可以通过缓存减少DNS查询时间 网络请求的过程走最近的网络环境 相同的静态资源是...

  • 二零一八年八月&九月

    Linux Linux DNS 查询剖析 Part.1Linux DNS 查询剖析 Part.2Linux DNS...

  • 被动扫描第二章:工具使用

    一.DNS查询 nslookup server #查询本机DNS服务器set type=a #指定查询A NAM...

  • DNS负载均衡

    基本概念 负载均衡将流量均摊到多个服务器上 A记录DNS系统中的主机记录 DNS查询过程 DNS系统是一个树状结构...

网友评论

      本文标题:DNS的查询过程

      本文链接:https://www.haomeiwen.com/subject/mdqkbctx.html