dns中递归查询与迭代查询的区别

发布网友 发布时间:2022-03-29 08:45

我来回答

4个回答

热心网友 时间:2022-03-29 10:14

两者区别如下:

递归是用户只向本地DNS服务器发出请求,然后等待肯定或否定答案。而迭代是本地服务器向根DNS服务器发出请求,而根DNS服务器只是给出下一级DNS服务器的地址,然后本地DNS服务器再向下一级DNS发送查询请求直至得到最终答案。

简介:

DNS

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。

2.递归查询:
一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机。

3.迭代查询(反复查询):
一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求。

热心网友 时间:2022-03-29 11:32

给你打个比方。
你是一台PC主机,你的老师是一台DNS服务器。
你有一个数学问题(也就是DNS查询请求)不会,于是咨询你的老师,王老师。他如果会,则直接告诉你;如果不会,那么他有几种方法寻找答案。
1、递归查询
王老师问宋校长(即根域DNS),
宋校长他不会,于是去问数学教学组的张教授(即一级DNS)。
张教授他没有直接回答,而是去问他下属的一位教几何的*(即二级DNS)
正巧,你问的题目*他懂,他把答案告诉了张教授。
张教授又把答案告诉了宋校长
宋校长又把答案告诉给你的老师,即王老师。
最后,王老师把答案告诉你,这样完成了一次递归查询。
在这个过程中,你始终等待查询结果。
流程图:
你→王老师
王老师→宋校长
宋校长→张教授
张教授→*
*→张教授
张教授→宋校长
宋校长→王老师
王老师→你

2、迭代查询
还是用这个例子来说明。
你有一个数学问题(也就是DNS查询请求)不会,于是咨询你的老师,王老师。
王老师问他的导师,宋校长(即根域DNS),

宋校长他也会,请注意,此处开始与递归查询不一样的是,他不会去帮王老师问其他人,而是对王老师说“你去找张教授(即一级DNS)”,并告诉了张教授的电话号码。
王老师打电话找到了张教授问这个问题,张教授也不知道,就对王老师说:“你去找张教授(即一级DNS)”,并告诉了张教授的电话。
张教授他没有直接回答,而是让你去问他的下属,教几何的*(即二级DNS)
正巧,你问的题目*他懂,他把答案告诉了王老师。
这么一来,王老师知道答案就很快告诉了你,这样完成了一次迭代查询。
流程图:
你→王老师
王老师→宋校长
宋校长→王老师

王老师→张教授
张教授→王老师

王老师→*
*→王老师
王老师→你

文字写的可能有点啰嗦,但基本原理是这样的。 可以结合根域、一级DNS、二级DNS理解。

热心网友 时间:2022-03-29 13:07

1.递归查询:
一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机;
2.迭代查询(反复查询):
一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求;

举例:比如学生问老师一个问题,王老师告诉他答案这之间的叫递归查询。这期间也许王老师也不会,这时王老师问张老师,这之间的查询叫迭代查询!

热心网友 时间:2022-03-29 14:58

网页链接这是最好的解释,最佳答案有误导人的嫌疑。

举例:1.递归查询

A(dns客户端)想知道F的住处,直接询问B(本地dns服务器),然后就等着B给自己返回信息(不管是知道还是不知道),后面工作交给B处理,B自己不知道,就去询问C,C也不知道(但是告诉B,D可能知道),B就去询问D,D也说不知道(但是告诉B,E可能知道),B就去询问E,然后E告诉F的地址给B,B把F的地址告诉A。整个域名解析请求是A发起的,整个解析过程是B完成的。

2.迭代查询

A(dns客户端)想知道F的住处,直接询问B(本地dns服务器),B说我不知道,你去问C,然后A就去问C,C也不知道,让A去问D,D也不知道,让A去问E,然后A去问E,E说我知道,然后把F的地址告诉A。B只参与了第一步,剩余的工作是A自己完成的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com