专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 递归查询和迭代查询的介绍

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

更新时间:2022-11-30 10:07:26 来源:星辉 浏览861次

当客户端或服务器进行递归查询时,它期望对方给出明确的“是/否”答复。是/否意味着应该返回一个已解析的 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 服务器属性的高级选项卡进行控制。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>