有人可以简短地解释一下“递归DNS查询”的含义以及如何将其视为错误的吗?
有人可以简短地解释一下“递归DNS查询”的含义以及如何将其视为错误的吗?
Answers:
TL; DR:递归查询是Internet和DNS工作方式的一部分,但并非所有DNS服务器都应接收递归查询,当不响应的服务器响应时,您会遇到问题。
较长版本:
递归,n:请参见递归下。
当您要求提供unix.stackexchange.com的地址的DNS服务器本身不知道答案时,就会发生递归DNS查询,因此必须与另一台服务器进行检查。
通常,这实际上就是DNS的工作方式-ISP的DNS服务器由于明显的原因并没有永久记住整个Internet的域记录,因此以下交换是在后台进行的:
您:嘿,浏览器,请告诉我http://unix.stackexchange.com
浏览器:当然可以!嗯 我实际上不知道这是什么IP地址。
嘿,操作系统,您能告诉我在哪里可以找到unix.stackexchange.com吗?
操作系统:当然可以。
嗯 它不在我自己的主机文件中。我只是检查我的解析器配置...
嘿,ISP的DNS服务器,您能告诉我在哪里可以找到unix.stackexchange.com吗?
ISP的DNS服务器:当然可以!
嗯 那不在我的权威领域列表中,而现在我还没有缓存该答案。
嘿,互联网根服务器,您能告诉我谁对stackexchange.com权威吗?
Internet根服务器:当然可以!根据我们的记录,您需要ns1.serverfault.com,ns2.serverfault.com或ns3.serverfault.com。
ISP的DNS服务器:谢谢,Internet根服务器!
嗨,ns2.serverfault.com,您能告诉我在哪里可以找到unix.stackexchange.com吗?
ns2.serverfault.com:好的!那是地址64.34.119.12
ISP的DNS服务器:太好了,谢谢!
操作系统,您要查找的数字是64.34.119.12。
操作系统:太好了,谢谢!
浏览器,您需要地址64.34.119.12
浏览器:太好了,谢谢!
好的,现在调出页面。
您:是的,谢谢浏览器!
现在请记住,这里实际上查询了两种类型的名称服务器- 权威 DNS服务器(所谓的“根”服务器,告诉您ISP的DNS服务器在哪里可以找到SE.com的DNS服务器,以及SE.com的权威DNS服务器。 )并递归或 转发 DNS服务器(您的ISP的DNS服务器)。
通常,前一种类型不应响应递归查询,尤其是不能从其自己的域之外响应。较小的ISP有时会通过将其主要权威名称服务器与其主要转发名称服务器置于同一服务器来节省成本,但这是不安全的策略-尤其是如果您未将服务器配置为拒绝来自您自己IP范围之外的递归查询。
在Wikipedia上进一步阅读。
.com
服务器,然后ISP的递归服务器将从那里指向SE.com的服务器。