电脑在访问百度时 首先在本地hosts文件里面查看本地有无域名对应的IP地址,若有就直接返回。若无,则本地DNS服务器当DNS的客户,向其它根域服务器发送报文查询IP地址,简单来说就是帮助主机查找IP,所以递归查询就在客户端与本地DNS服务器进行
本地域名服务器向根服务器发出的查询就是迭代查询。根服务器收到迭代查询的请求报文之后,向本地域名服务器说,下一步应该去找哪个域名服务器查询。然后本地服务器进行后续的查询。
一般根域服务器会返回顶级域服务器的IP给本地服务器去查询,然后顶级域服务器就会返回对应的网站域服务器,最终返回域名对应的IP,之后本地域服务器先记录对应的IP,然后再返回给主机
此时还没完,电脑只是拿到了网站的IP,整个过程还没结束 ,此时主机就可以和该IP对应HTTP/HTTPS建立tcp连接,之后才可以正常访问网站
电脑-本地DNS服务端:这部分属于递归查询。(范围)
本地DNS服务端---外网:这部分属于迭代查询。(范围)
递归查询,返回的结果只有两种:查询成功或查询失败.
迭代查询,又称作重指引,返回的是最佳的查询点或者主机地址.
递归:客户端只发一次请求,要求对方给出最终结果。
迭代:客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表,客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。
授权回答:向DNS服务器查询一个域名,刚好这个域名是本服务器负责,返回的结果就是授权回答。