域名解析到域名

核心提示如果浏览器的缓存里没有找到对应的条目,操作系统也会有一个域名解析的过程,那么浏览器先搜索操作系统的 DNS 缓存中是否有这个域名对应的解析结果,如果找到且没有过期则停止搜索,解析到此结束。前言今天方木 八分钟带大家读懂 DNS域名解析流程,

如果在浏览器的缓存中没有找到对应的条目,操作系统也会有一个域名解析过程,所以浏览器先在操作系统的DNS缓存中搜索这个域名对应的解析结果,如果找到了并且没有过期,就停止搜索,解析到此结束。

今天方木带你八分钟了解DNS域名解析流程。在解释DNS域名解析流程之前,我们先了解一下什么是DNS。

什么是DNS?

DNS是域名系统的缩写。它是组织成域层次结构的计算机和网络服务的命名系统,用于TCP/IP网络。

当我们在浏览器中输入一个URL地址时,浏览器需要知道服务器的IP,才能向这个URL的主机名对应的服务器发送请求。对于浏览器来说,DNS的作用就是把主机名转换成IP地址。

DNS域名解析流程

DNS域名解析,简单来说就是把域名翻译成IP地址。例如,将www.baidu.com的域名翻译成相应的IP 220.181.38.251就是一个例子。

域名解析流程

上图分八步介绍了域名解析的流程,但在此之前,您将检查本地缓存配置+主机解析,然后您将实际执行上图中的流程:

浏览器缓存检查

浏览器将首先搜索自己的DNS缓存。缓存时间比较短,只有1分钟左右,只能容纳1000个缓存,看看自己的缓存里有没有对应的条目,还没有过期。如果是,决议到此结束。

操作系统缓存检查+主机解析

如果在浏览器的缓存中没有找到对应的条目,操作系统也会有一个域名解析过程,所以浏览器先在操作系统的DNS缓存中搜索这个域名对应的解析结果,如果找到了并且没有过期,就停止搜索,解析到此结束。

在Linux中,可以通过/etc/hosts文件设置,任何域名都可以解析为任何可访问的IP地址。如果在此指定了与域名对应的IP地址,浏览器将首先使用该IP地址。解析到这个配置文件中的一个域名时,操作系统会将解析结果缓存在缓存中,缓存时间也是由这个域名的到期时间和缓存大小空来控制的。

第一步

客户端通过浏览器访问域名为www.baidu.com的网站,发起DNS请求查询该域名的IP地址。请求被发送到本地DNS服务器。本地DNS服务器会先查询其缓存记录,如果缓存中有该记录,可以直接返回结果。如果没有,本地DNS服务器也会查询DNS根服务器。

第二步

本地DNS服务器向根服务器发送DNS请求,请求域名为www.baidu.com的IP地址。

第三步

根服务器查询后没有记录域名和ip地址的对应关系。但是会告诉本地DNS服务器可以继续在域名服务器上查询,并给出域名服务器的地址。

第四步

本地DNS服务器向发送DNS请求。请求www.baidu.com域名的IP地址。

第五步

com服务器收到请求后,不会直接返回域名与IP地址的对应关系,而是告诉本地DNS服务器,域名可以在Baidu.com的域名服务器上解析得到IP地址,并告诉Baidu.com的域名服务器地址。

第六步

本地DNS服务器向Baidu.com域名服务器发送DNS请求,请求域名www.baidu.com的IP地址。

第七步

Baidu.com收到请求后,在自己的缓存表中找到域名和ip地址的对应关系,并将IP地址返回给本地DNS服务器。

第八步

本地DNS服务器将获取的域名对应的ip地址返回给客户端,并将域名与IP地址的对应关系存储在缓存中,供其他用户下次查询。

摘要

最后引用大禹的一张图做个总结:

DNS域名解析流程

 
友情链接
鄂ICP备19019357号-22