domain-name-system – 谁在递归DNS查找中实际“递归”?

我试图理解迭代和递归DNS查找之间的区别.从根本上说,我认为迭代就像打电话给百货公司寻找产品一样,当他们没有它时,他们会给你另一个分支机构的号码,然后你自己打电话给另一个分支机构.与递归相反,就像打电话给百货公司一样,当他们没有你所拥有的东西时,他们会代表你打电话给另一家分店寻找产品.事实是,当涉及到DNS时,我对此有了相互矛盾的看法.当我想到递归时,我想到的东西看起来像这样:

但是在阅读网页上的文章,甚至在DNS recursive上进行谷歌图片搜索时,我看到更多的例子看起来像这样:

对我来说,第二个示例看起来比递归更迭代,因为每个“其他DNS服务器”都在告诉“首选DNS服务器”要查找的下一台机器的地址,而不是代表首选它查找它DNS服务器.我看到的唯一递归元素是首选的DNS服务器代表DNS客户端进行查找,但从这里开始,它确实看起来是迭代的.

所以我想我的问题是,“递归”DNS查找真的只意味着在首选DNS服务器代表客户端做某事的意义上的递归,但是从这里开始迭代了吗?我在Google image search年看到的大部分结果都让我相信这一点,然后引出了一个问题,这篇文章中的第一张图片是不是很明显?

解决方法

你的最后一段是正确的.

客户端在DNS请求标头中发送的“递归期望”(RD)标志(参见RFC 1035)询问服务器“请给我这个问题的完整答案”.

该服务器比迭代地询问名称服务器链的正确答案.那些查询本身不应该设置RD位.

最终,递归服务器的响应将设置“递归可用”(RA)标志,表明答案确实得到了完全回答.相反,权威服务器不会设置RA标志.

恕我直言,这是一个糟糕的术语选择.

对于它的价值,您发现的第一张图基本上是不正确的.根服务器不对任何其他服务器执行查询,它们仅向其他服务器发出引用.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些