DNS解析是什么过程?
第一个过程,客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二个过程,当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三个过程,如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
第四个过程,本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五个过程,重复第四步,直到找到正确的记录。
第六个过程,本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
扩展资料:
当一个用户在地址栏输入www.taobao.com时,DNS解析有大致十个过程,如下
第一个过程,浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束。同时域名被缓存的时间也可通过TTL属性来设置。
第二个过程,如果浏览器缓存中没有(专业点叫还没命中),浏览器会检查操作系统缓存中有没有对应的已解析过的结果。而操作系统也有一个域名解析的过程。在windows中可通过c盘里一个叫hosts的文件来设置,如果你在这里指定了一个域名对应的ip地址,那浏览器会首先使用这个ip地址。
第三个过程,如果至此还没有命中域名,才会真正的请求本地域名服务器(LDNS)来解析这个域名,这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了。
第四个过程,如果LDNS仍然没有命中,就直接跳到Root Server 域名服务器请求解析。
第五个过程,根域名服务器返回给LDNS一个所查询域的主域名服务器(gTLD Server,国际顶尖域名服务器,如.com .cn .org等)地址。
第六个过程,此时LDNS再发送请求给上一步返回的gTLD。
第七个过程,接受请求的gTLD查找并返回这个域名对应的Name Server的地址,这个Name Server就是网站注册的域名服务器。
第八个过程,Name Server根据映射关系表找到目标ip,返回给LDNS。
第九个过程,LDNS缓存这个域名和对应的ip。
第十个过程,LDNS把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中,域名解析过程至此结束。
参考资料:百度百科-域名解析
2024-10-28 广告
DNS解析过程是比较复杂的,除了考虑不同层级域名服务器的请求和响应外,还应该注意DNS缓存的存在,因此一个比较详细的DNS解析过程应该是这样的:
客户端对某个域名发起访问,浏览器首先会查看自身缓存中是否有该域名的记录结果,如果有直接返回客户端,解析到此结束;
如果浏览器缓存没有命中结果,就会查看本机中的hosts文件,如果hosts文件中记载有该域名的映射关系,直接返回,解析结束;
如果hosts文件中没有记录,系统才会请求递归服务器,递归服务器接到请求后,同样会查看自身缓存,如果缓存有结果,直接返回,解析结束;
如果缓存中没有结果,递归服务器首先请求根服务器,根服务器告知递归服务器请求域名所属顶级域名(.cn\.com)的地址;
递归服务器对顶级域名服务器发起请求,顶级域名服务器告知目标域名所属权威域名服务器的地址;
递归服务器对权威域名服务器发起询问,权威域名服务器告知域名所对应的服务器IP地址;
递归服务器将最终结果告知客户端,客户端对该服务器IP发起访问,整个解析过程结束。