什么是DNS的递归查询和迭代查询?

在这里插入图片描述
在 DNS 查询中,有两种主要的查询方式:递归查询和迭代查询。它们的工作方式和关系如下:

  1. 递归查询 (Recursive Query)

    • 当一个客户端(例如你的电脑或手机)向 DNS 服务器(通常是你的本地 DNS 服务器或 ISP 的 DNS 服务器)发送请求时,如果该服务器没有所需的信息,那么它有责任自己去其他 DNS 服务器中查找这些信息。
    • 服务器会代表客户端执行所有必要的进一步查询,直到它获得答案。然后,它将答案返回给客户端。这种查询方式称为递归查询,因为服务器必须递归地完成客户端的查询。
    • 这种查询方式简化了客户端的工作,但为服务器增加了更多的工作。
  2. 迭代查询 (Iterative Query)

    • 当一个 DNS 服务器(例如本地 DNS 服务器)向其他 DNS 服务器(例如根域服务器或 TLD 服务器)发送查询时,它可能执行一个迭代查询。
    • 在迭代查询中,被查询的服务器提供关于如何获得答案的最佳信息,但并不实际为查询者提供最终答案。例如,当本地 DNS 服务器查询根服务器以获取 example.com 的 IP 地址时,根服务器可能只告诉它去查询一个特定的 .com TLD 服务器。
    • 之后,本地 DNS 服务器再继续查询 .com TLD 服务器,然后可能被告知去查询 example.com 的权威 DNS 服务器。这个过程一直持续,直到本地 DNS 服务器得到最终的答案。
    • 这种查询方式意味着每一步都需要请求者(在这种情况下是本地 DNS 服务器)进行下一步的查询,而不是被查询的服务器自己去做。

通常,当一个终端用户的设备开始 DNS 查询时,首先是递归查询,因为它查询的本地 DNS 服务器或 ISP 的 DNS 服务器,期望得到一个完整的答案。但在 DNS 解析过程中,涉及的其他服务器间的查询是迭代的。

想象你在浏览器中键入 www.example.com。

递归查询:

你的电脑(也可以说是你的浏览器)首先会检查它的本地缓存,看是否有 www.example.com 的 DNS 记录。如果没有,它会向配置的 DNS 服务器发送请求,这通常是你的互联网服务提供商(ISP)的 DNS 服务器或者其他公共 DNS 服务,如 Google 的 8.8.8.8。
你的电脑期望这个服务器给它一个完整的答案,即 www.example.com 的 IP 地址。这种期望得到完整答案的查询称为递归查询。
迭代查询:

假设你的 ISP 的 DNS 服务器没有 www.example.com 的缓存记录。此时,它需要在 DNS 系统中查找答案。
首先,它会查询一个根 DNS 服务器。根服务器不知道 www.example.com 的 IP,但它知道哪个 TLD(顶级域)服务器负责 .com 域。于是,它告诉你的 ISP 的 DNS 服务器:“我不知道 www.example.com 的 IP,但你可以去询问这个特定的 .com TLD 服务器。” 这就是迭代查询。
接下来,你的 ISP 的 DNS 服务器会向指定的 .com TLD 服务器发送查询。.com 服务器也许也不知道 www.example.com 的具体 IP,但它知道 example.com 的权威 DNS 服务器地址,于是它再次进行迭代查询,告诉你的 ISP 的 DNS 服务器去询问 example.com 的权威服务器。
最后,你的 ISP 的 DNS 服务器查询 example.com 的权威服务器,这次它得到了 www.example.com 的 IP 地址。
返回答案:

有了答案后,你的 ISP 的 DNS 服务器将 IP 地址返回给你的电脑(浏览器),完成了递归查询的请求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/34516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7 安装 docker 不能看菜鸟教程的 docker 安装,有坑

特别注意 不能看菜鸟教程的 docker 安装,有坑 如果机器不能直接上网,先配置 yum 代理 proxyhttp://172.16.0.11:8443 配置文件修改后即刻生效,再执行 yum install 等命令,就可以正常安装软件了。 参考 https://blog.csdn.net/c…

docker desktop搭建 nginx

【docker 桌面版】windows 使用 docker 搭建 nginx 拉取 nginx 镜像 docker pull nginx运行容器 docker run -d -p 80:8081 --name nginx nginx本地磁盘创建 nginx 目录 D:\DockerRep\nginx复制 docker 中的 nginx 配置文件 查看运行的容器 docker ps -a docker cp 9f0f82d66dd…

最新版高效多元化广告联盟系统源码,实时监控移动广告联盟,支持多种广告效果

诚丰广告联盟系统是一款强大的广告联盟解决方案,旨在提高网站在百度搜索引擎中的排名和可见性。我们的系统具有以下特点: 1. 高负载能力:我们的服务器每天能够承载至少200万个PV流量,保证您的网站能够稳定运行,并提供…

MySQL8安装教程 保姆级(Windows))

下载 官网: mysql官网点击Downloads->MySQL Community(GPL) Downloads->MySQL Community Server(或者点击MySQL installer for Windows) Windows下有两种安装方式 在线安装 一般带有 web字样 这个需要联网离线安装 一般没有web字样 安装 下载好之后,版本号可以不一样&…

uniapp----分包

系列文章目录 uniapp-----封装接口 uniapp-----分包 目录 系列文章目录 uniapp-----封装接口 uniapp-----分包 前言 二、使用步骤 1.创建文件 ​编辑 2.min.js的修改 2.1 subPackages 代码如下(示例): 2.2 preloadRule 代码如下&am…

QT之时钟

QT之时钟 会用到一个时间类:qtime 定时类:qtimer #------------------------------------------------- # # Project created by QtCreator 2023-08-13T10:49:31 # #-------------------------------------------------QT += core guigreaterThan(QT_MAJOR_VERSION,…

【HBZ分享】ES的评分score机制的原理

score类型 基础评分boost,默认2.2,逆向文档频率值(IDF):表示该词再文档中(ES中)出现的次数越多,表示越不重要,评分越低关键词在文档中出现的频率(TF):表示该词在文档中出现的频率,频率越高表示…

开发工具Eclipse的使用

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Eclipse使用的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Eclipse是什么 二.使用Eclipse的…

09-1_Qt 5.9 C++开发指南_Qchart概述

Qt Charts 可以很方便地绘制常见的折线图、柱状图、饼图等图表,不用自己耗费时间和精力开发绘图组件或使用第三方组件了。 本章首先介绍 Qt Charts 的基本特点和功能,以画折线图为例详细说明 Qt Charts 各主要部件的操作方法,再介绍各种常用…

分布式数据库设计

1、分库分表 为解决单库存储数据量太大导致的操作数据库效率问题,一般采用的是分库分表的方式。 分库:即将原本存储在一个库的数据分布到多个库中。 分表:即将原本存储在一个表的数据按照业务特性或数据特性进行拆分,将数据拆分到…

git unable to get local issuer certificate (_ssl.c:1007)>

原因1:Git无法验证SSL证书 这个错误通常是由于Git无法验证SSL证书导致的。您可以尝试以下方法解决此问题: 确认您的计算机上是否安装了正确的SSL证书。如果没有,请下载并安装它们。您可以使用以下命令在Mac上安装SSL证书: brew…

使用maven打包时如何跳过test,有三种方式

方式一 针对spring项目&#xff1a; <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> …

CClink IE转Modbus TCP网关连接三菱FX5U PLC

捷米JM-CCLKIE-TCP 是自主研发的一款 CCLINK IE FIELD BASIC 从站功能的通讯网关。该产品主要功能是将各种 MODBUS-TCP 设备接入到 CCLINK IE FIELD BASIC 网络中。 捷米JM-CCLKIE-TCP网关连接到 CCLINK IE FIELD BASIC 总线中做为从站使用&#xff0c;连接到 MODBUS-TCP 总线…

【Bert101】变压器模型背后的复杂数学【03/4】

一、说明 在上一篇文章中&#xff0c;我们详细介绍了变压器模型的编码器块的工作原理。如果您还没有读过那篇文章&#xff0c;我建议您在开始这篇文章之前先阅读它&#xff0c;因为本文中介绍了其中涵盖的概念。您可以前往&#xff1a; 【Bert101】变压器模型背后的复杂数学【…

数字图像处理 --- 相机的内参与外参(CV学习笔记)

Pinhole Camera Model&#xff08;针孔相机模型&#xff09; 针孔相机是一种没有镜头、只有一个小光圈的简单相机。 光线穿过光圈并在相机的另一侧呈现倒立的图像。为了建模方便&#xff0c;我们可以把物理成像平面(image plane)上的图像移到实际场景(3D object)和焦点(focal p…

stm32 cubemx can通讯(2)过滤器设置说明代码分析

文章目录 前言一、基础知识快速理解1.1 理解CAN标识符:1.2 过滤器的工作原理:1.3 如何配置过滤器: 二、过滤器模式的选择&#xff08;监听多个ID&#xff09;2.1 使用掩码模式多个过滤器匹配多标准ID:2.2 使用掩码来匹配多个ID:&#xff08;待写&#xff09;2.3 使用列表模式来…

基于.Net开发的ChatGPT客户端,兼容Windows、IOS、安卓、MacOS、Linux

2023年目前要说最热的点&#xff0c;肯定是ChatGPT了。 ChatGPT官方提供的网页版本&#xff0c;还有需要科*上网&#xff0c;很多人都会基于此进行封装。 现在是移动互联网时代&#xff0c;基于手机APP的需求还是很大的。 所以&#xff0c;今天给大家推荐一个ChatGPT客户端开…

Vue电商项目--组件通信

组件通信6种方式 第一种&#xff1a;props 适用于的场景&#xff1a;父子组件通信 注意事项&#xff1a; 如果父组件给子组件传递数据&#xff08;函数&#xff09;&#xff1a;本质其实是子组件给父组件传递数据 如果父组件给子组件传递的数据&#xff08;非函数&#xf…

期权定价模型系列【1】—BSM通用式模型

这是期权定价模型专栏的第一篇文章&#xff0c;此专栏旨在分享一些期权定价模型&#xff0c;将会从最基础的BSM模型开始写起&#xff0c;逐步扩散到蒙特卡洛模拟、二叉树等数值法模型&#xff0c;以及跳跃扩散模型、随机波动率模型&#xff0c;神经网络模型等等。 如果你觉得有…

Java负载均衡算法实现与原理分析(轮询、随机、哈希、加权、最小连接)

文章目录 一、负载均衡算法概述二、轮询&#xff08;RoundRobin&#xff09;算法1、概述2、Java实现轮询算法3、优缺点 三、随机&#xff08;Random&#xff09;算法1、概述2、Java实现随机算法 四、源地址哈希&#xff08;Hash&#xff09;算法1、概述2、Java实现地址哈希算法…