`

迭代查询和递归查询的区别

 
阅读更多

     迭代查询和递归查询是可以发送到域名服务器的两种请求。

 

     递归查询是最常见的发送到本地域名服务器的请求。当本地域名服务器接受了客户机的查询请求时,本地域名服务器将力图代表客户机来找到答案,而在域名服务器执行所有工作的时候,客户机只是等待。如果本地域名服务器不能直接回答,则它将在域名树中的各分支上下递归搜索来寻找答案。
  对于一个递归查询,DNS服务器将持续搜索直到收到回答。这种回答可以是主机的IP地址,也可以回答“主机不存在”。不论是哪种结果,递归域名服务器将把结果返回给客户机。


  一个域名服务器若设置为使用前向服务器,则它将发送递归查询到指定的前向主机。这台收到前向查询的主机也将工作在递归模式以回答查询。如果本地服务器不是一个从属服务器,过一会儿它可能会自行开始查询过程,尽管它仍然希望从它的前向主机处得到回答。如果本地域名服务器设置为一个前向服务器的从属服务器,则工作方式会有所不同。客户机可以发送递归查询到一台从属服务器,但从属服务器不能进行递归查询,它实质上将成为其前向服务器的客户机等待回答。

  

     迭代查询则有所不同。迭代查询的最好例子是一台本地域名服务器发送请求到根服务器。当某个企业的本地域名服务器向根服务器提出查询,根服务器并不一定代表本地域名服务器来担当起回答查询的责任。另一种说法是根服务器不接收递归查询。事实上,根服务器只是为解析查询做一件事:指引本地域名服务器到另一台主机来查询回答。这种做法通常称为重指引,也是期望得到的迭代查询的结果。例如,当根服务器被要求查询

www.isi.edu的地址,根服务器不会到ISI域名服务器查询www主机的地址,它只是给本地域名服务器返回一个提示,告诉本地域名服务器到ISI域名服务器去继续查询和得到结果。

 

     总之:

递归查询是客户端解析器发送请求到本地DNS服务器,本地DNS服务器负责完成查询并提供完整响应。

               迭代查询是请求发送到服务器,如果服务器不能匹配请求,将提供另一个负责解析这个域名空间的服务器,客户端将查询请求重新发送到这个新的DNS服务器上。

分享到:
评论

相关推荐

    DNS迭代查询和递归查询的区别.docx

    "DNS 迭代查询和递归查询的区别" DNS(Domain Name System)是 Internet 中的一个基础设施,提供域名到 IP 地址的映射服务。在 DNS 解析过程中,查询类型是一个关键概念,有两种主要的查询类型:迭代查询和递归查询...

    牛顿迭代算法与递归算法的概念和区别

    牛顿迭代算法与递归算法的概念和区别 牛顿迭代算法和递归算法是两种常用的算法思想,它们在解决问题时具有不同的特点和应用场景。 牛顿迭代算法是一种数值分析方法,用于寻找函数的零点或极值点。该算法的基本思想...

    oracle递归、迭代

    ### Oracle中的递归查询详解 #### 一、引言 在数据库管理中,处理具有层次结构的数据是一项常见的任务。例如,在组织结构、产品分类或文件系统等场景...希望本文能帮助读者更好地理解和应用Oracle中的递归查询技术。

    迭代与递归的区别

    理解它们之间的区别,对于编写高效和优雅的代码至关重要。 迭代是一种方法,它通过重复执行一组指令来逐步逼近最终结果。在编程中,迭代通常通过循环结构来实现,如for循环或while循环。迭代的过程需要明确三个要素...

    迭代和递归1.2.pptx

    公司要求分享迭代和递归函数,在周末的时间整理了一个简单的PPT,在这里也分享给大家,互相学些,相互总结。

    迭代与递归算法

    例如,"递归和迭代的区别.doc"可能阐述了递归如何通过递归公式解决斐波那契序列或其他分治策略问题,如分治法的基本思想文档所讨论的那样。递归在解决某些问题时有其独特的优势,因为它能够简化代码结构,但需要注意...

    c语言-阶乘算法(迭代和递归).docx

    C语言-阶乘算法(迭代和递归) C语言-阶乘算法是计算阶乘的经典算法,包括迭代算法和递归算法两种实现方式。阶乘是数学中的一种运算符号,表示一个数字的所有正整数因子的乘积,如n! = n * (n-1) * (n-2) * (n-3) * ....

    C语言实现 求二项式各项系数(迭代,递归)

    本文将围绕“C语言实现求二项式各项系数(迭代,递归法)”这一主题,深入探讨如何利用C语言通过迭代和递归两种方法来计算二项式系数,这不仅体现了C语言的强大功能,也展示了编程中不同算法的运用与对比。...

    MySQL实现递归查询的三种方式.rar

    本压缩包中的内容主要介绍了三种实现递归查询的方法,适用于不同的需求和环境。以下是这三种方式的详细说明: ### 方式一:使用自定义函数实现 在MySQL中,自定义函数(User Defined Function, UDF)可以扩展其...

    「循环」「遍历」「迭代」「递归」的区别?

    循环(loop)、遍历(traverse)、迭代(iterate)、递归(recursion)都有重复的概念。大部分的遍历、迭代、递归都是循环。 递归 递归是函数重复调用自身形成的循环。 循环 循环(loop),指的是在满足条件的情况下...

    C++:斐波那契数列(迭代和递归)

    总结来说,C++提供了多种方式来实现斐波那契数列,包括迭代和递归,以及递归的优化形式——记忆化。在实际应用中,我们需要根据问题规模和性能需求选择合适的方法。对于小规模的计算,递归可能更为直观;而大型计算...

    第12讲 递归和迭代.pptx

    枚举算法,递归与分治策略,递归与迭代的思想、求最大值最小值、线性查找、二分查找与冒泡排序以及选择与交换排序、插入和希尔排序。本课程除了强调经典的算法理论和模型,亦兼顾编程实践能力。力图使得学员面对复杂...

    一起学DNS系列(十)图、例详解DNS递归和迭代查询原理及过程[汇编].pdf

    DNS 递归和迭代查询原理及过程详解 在了解 DNS 递归和迭代查询原理及过程之前,我们需要了解一些背景知识。 DNS 系统中有两类域名服务器:国际域名管理机构(InterNIC)和国内域名注册管理机构(CNNIC)。这两类...

    递归与迭代算法及其在JAVA语言中的应用.pdf

    在Java中实现递归和迭代算法时,需要特别注意递归算法的终止条件,以防止栈溢出错误。同时,迭代算法中要注意循环变量的控制,确保循环能够正确退出。 此外,递归和迭代的效率问题也是程序员需要关注的重点。递归...

    Java之递归和迭代用法

    在编程领域,递归和迭代是两种常见的解决问题的方法,它们在Java编程中有着广泛的应用。本文将深入探讨这两种方法,并通过实例分析它们的工作原理、优缺点以及如何在实际编程中选择合适的方式。 首先,让我们理解...

    0/1背包问题的两种解法--存储优化的递归和自下而上的递归(迭代法)

    递归公式通常为`dp[i][j] = max(dp[i-1][j], dp[i-1][j-weight[i]] + value[i])`,其中`weight[i]`和`value[i]`分别是第`i`个物品的重量和价值。这种方法虽然有效,但递归可能会导致大量的函数调用,效率较低。 2. ...

    DNS递归迭代查询原理

    DNS工作原理以及DNS架设说明,详细并举例说明了DNS的工作原理和整个递归查询的过程。详细的图解说明架设DNS的步骤和注意事项。

    递归方程组解的渐进阶的求法,算法时间复杂度,迭代算法,递归算法

    2. **迭代法**:通过迭代将递归方程转换为级数,然后求级数的和或直接估计级数的渐近阶。例如,如果递归方程可以被表示为一个几何级数或调和级数,那么可以通过级数求和公式来估计解的渐近阶。 3. **套用公式法**:...

Global site tag (gtag.js) - Google Analytics