递归查询和迭代查询 - 极悦
首页 课程 师资 教程 报名

递归查询和迭代查询的介绍

  • 2022-11-30 10:07:26
  • 1205次 极悦

当客户端或服务器进行递归查询时,它期望对方给出明确的“是/否”答复。是/否意味着应该返回一个已解析的 IP 地址,或者应该返回一条消息说找不到该资源。

递归查询和迭代查询的介绍

迭代查询(也称为非递归)的行为更像是对话,其中服务器 A 询问服务器 B 是否知道某个资源。服务器 A 不一定需要所请求资源的 IP 地址,尽管可以接受。如果服务器 B 不知道资源在哪里,它将在DNS 层次结构中发出对服务器 C 的引用,服务器 B 认为它可能更清楚。服务器 A 然后发出重复请求以搜索相同的 IP 地址,但根据前一次迭代查询的回复将其定向到不同的服务器。迭代查询最终会找到相关域的权威服务器。

默认情况下,客户端始终向其 DNS 服务器发出递归查询,从主 DNS 服务器开始。客户端需要地址或错误消息。就 DNS 服务器而言,它们更喜欢迭代查询,它们相互“交谈”以“找出”所请求资源的位置。如果迭代过程超出了预先配置的时间段,则会生成一条错误消息并返回给客户端,或者将递归查询提交给转发服务器(如果已配置)。

为什么服务器不默认递归?首先,这会导致根服务器过载,因为它们必须了解 Internet 上的所有可用资源才能为递归查询提供服务——本质上,根服务器是不存在的。其次,服务器端的迭代过程最终会导致更多名称被添加到缓存中,从而显着加快对重复域和主机名的进一步搜索的执行速度。如果最终 DNS 服务器既不返回 IP 地址也不返回错误消息,客户端可能会尝试自己进行迭代过程。

可以在Windows Server 2008 DNS服务器上禁用递归,这也会禁用转发。这实质上剥夺了 DNS 服务器解析其不具有权威性的任何名称的能力。换句话说,如果禁用递归,DNS 服务器将只能从其本地正向查找和反向查找区域解析名称。如果您希望将一组特定的 DNS 服务器限制为仅服务于特定区域查询,或者如果它们在物理上无法通过使用递归解析外部名称,则此功能可能很有用。此设置现在通过 DNS 服务器属性的高级选项卡进行控制。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交