菜鸟vsc 2024-03-26 22:56 采纳率: 50%
浏览 6
已结题

DNS服务器的递归查询和迭代查询。

我现在查阅了很多资料。
递归查询是将查询任务交给下一级去做。
迭代查询是我自己来做。
这个决定方式由发送者决定。udp报文里的一个字段
但是整体的每一段路查询方式还是根据各级DNS服务器的配置去决定。
不知道我这么理解对不对,有没有可以解释一下
看了很多资料都说的不太一样

  • 写回答

1条回答 默认 最新

  • 檀越@新空间 2024-03-26 22:56
    关注

    菜鸟vsc 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    你的理解基本是正确的。递归查询和迭代查询是常用的两种DNS查询方式,用于解析域名到IP地址。

    递归查询是指当一个DNS服务器接收到一个查询请求时,它会负责完成整个查询过程。它会将查询任务交给下一级DNS服务器,并等待下一级DNS服务器返回结果,然后将结果返回给请求者。递归查询重复这个过程,直到最终找到所需的IP地址或返回一个错误。

    迭代查询是指当一个DNS服务器接收到一个查询请求时,它会返回一个指向下一级DNS服务器的引用,告诉请求者前往下一级DNS服务器查询。请求者根据返回的引用信息,直接发送查询请求给下一级DNS服务器。这个过程一直持续到最终找到所需的IP地址或返回一个错误。

    整体的每一段查询方式是根据各级DNS服务器的配置决定的,而发送者可以根据自身的需要选择递归查询或迭代查询。

    简单来说,递归查询是请求者委托DNS服务器完成整个查询过程,而迭代查询是请求者自己负责查询过程的每一步。

    解释大致如下:

    1. 当一个设备发送一个DNS查询请求时,它会首先向本地DNS服务器(通常是由网络服务提供商提供的)发送请求。
    2. 本地DNS服务器会检查自己的缓存,如果已经有目标域名的解析结果,那么它会直接返回给请求者,完成查询过程。
    3. 如果本地DNS服务器没有目标域名的解析结果,它可能会选择进行递归查询,也可能进行迭代查询(根据配置决定)。
    4. 如果进行递归查询,本地DNS服务器会向根DNS服务器发送查询请求,请求根DNS服务器提供目标域名的解析结果。
    5. 根DNS服务器收到查询请求后,检查自己的缓存。如果有目标域名的解析结果,根DNS服务器会直接返回给本地DNS服务器。
    6. 如果根DNS服务器没有目标域名的解析结果,它可能会选择进行递归查询,也可能进行迭代查询(根据配置决定)。
    7. 递归查询或迭代查询的过程会一级一级地向下进行,直到找到目标域名的解析结果或返回一个错误。

    总结一下,递归查询和迭代查询是两种DNS查询方式,发送者可以根据自身需求选择其中一种。整体的每一段查询方式是根据各级DNS服务器的配置决定的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月3日
  • 已采纳回答 3月26日
  • 创建了问题 3月26日