什么是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,…

开发工具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 各主要部件的操作方法,再介绍各种常用…

使用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…

基于.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实现地址哈希算法…

198、仿真-基于51单片机函数波形发生器调幅度频率波形Proteus仿真(程序+Proteus仿真+原理图+流程图+元器件清单+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、原理图 五、程序源码 资料包括&#xff1a; 需要完整的资料可以点击下面的名片加下我&#xff0c;找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选…

Leetcode-每日一题【剑指 Offer 27. 二叉树的镜像】

题目 请完成一个函数&#xff0c;输入一个二叉树&#xff0c;该函数输出它的镜像。 例如输入&#xff1a; 4 / \ 2 7 / \ / \ 1 3 6 9 镜像输出&#xff1a; 4 / \ 7 2 / \ / \ 9 6 3 1 示例 1&#xff1a; 输入&#xff1a;root [4,2,…

(vue)获取对象的键遍历,同时循环el-tab页展示key及内容

(vue)获取对象的键遍历&#xff0c;同时循环el-tab页展示key及内容 效果&#xff1a; 数据结构&#xff1a; "statusData": {"订购广度": [ {"id": 11, "ztName": "广", …

YAPi在线接口文档简单案例(结合Vue前端Demo)

在前后端分离开发中&#xff0c;我们都是基于文档进行开发&#xff0c;那前端人员有时候无法马上拿到后端的数据&#xff0c;该怎么办&#xff1f;我们一般采用mock模拟伪造数据直接进行测试&#xff0c;本篇文章主要介绍YApi在线接口文档的简单使用&#xff0c;并结合Vue的小d…