详解DNS域名解析全过程

阅读:379 2019-03-19 15:33:54 来源:csdn

关于dns域名解析的大致过程很多人都知道,但有些细枝末节的东西容易遗忘,今天有空整理一下,作为以后复习用,如有不对的地方,还望指正。解析大致过程如图(不喜欢看图的可以直接跳过):

当一个用户在地址栏输入www.taobao.com时,dns解析有大致十个过程,如下:

1.浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束。同时域名被缓存的时间也可通过ttl属性来设置。

2.如果浏览器缓存中没有(专业点叫还没命中),浏览器会检查操作系统缓存中有没有对应的已解析过的结果。而操作系统也有一个域名解析的过程。在windows中可通过c盘里一个叫hosts的文件来设置,如果你在这里指定了一个域名对应的ip地址,那浏览器会首先使用这个ip地址。

但是这种操作系统级别的域名解析规程也被很多黑客利用,通过修改你的hosts文件里的内容把特定的域名解析到他指定的ip地址上,造成所谓的域名劫持。所以在windows7中将hosts文件设置成了readonly,防止被恶意篡改。

3.如果至此还没有命中域名,才会真正的请求本地域名服务器(ldns)来解析这个域名,这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了。

4.如果ldns仍然没有命中,就直接跳到rootserver域名服务器请求解析

5.根域名服务器返回给ldns一个所查询域的主域名服务器(gtldserver,国际顶尖域名服务器,如.com.cn.org等)地址

6.此时ldns再发送请求给上一步返回的gtld

7.接受请求的gtld查找并返回这个域名对应的nameserver的地址,这个nameserver就是网站注册的域名服务器

8.nameserver根据映射关系表找到目标ip,返回给ldns

9.ldns缓存这个域名和对应的ip

10.ldns把解析的结果返回给用户,用户根据ttl值缓存到本地系统缓存中,域名解析过程至此结束

写完了,真的累啊

相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>
推荐商标

{{ v.name }}

{{ v.cls }}类

立即购买 联系客服