发布网友 发布时间: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
给你打个比方。热心网友 时间:2022-03-29 13:07
1.递归查询:热心网友 时间: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自己完成的。