序
今天方木带你八分钟了解DNS域名解析流程。在解释DNS域名解析流程之前,我们先了解一下什么是DNS。
什么是DNS?
DNS(域名系统)是域名系统的缩写,是组织成域层次结构的计算机和网络服务命名系统,用于TCP/IP网络。
当我们在浏览器中输入一个URL地址时,浏览器需要知道服务器的IP,才能向这个URL的主机名对应的服务器发送请求。对于浏览器来说,DNS的作用就是把主机名转换成IP地址。
DNS域名解析流程
DNS域名解析,简单来说就是把域名翻译成IP地址。例如,将***.baidu.com的域名翻译成相应的IP 220.181.38.251就是一个例子。
域名解析流程
上图分八步介绍了域名解析的流程,但在此之前,您将检查本地缓存配置+主机解析,然后您将实际执行上图中的流程:
浏览器缓存检查
浏览器将首先搜索自己的DNS缓存。缓存时间比较短,只有1分钟左右,只能容纳1000个缓存,看看自己的缓存里有没有对应的条目,还没有过期。如果是,决议到此结束。
操作系统缓存检查+主机解析
如果在浏览器的缓存中没有找到对应的条目,操作系统也会有一个域名解析过程,所以浏览器先在操作系统的DNS缓存中搜索这个域名对应的解析结果,如果找到了并且没有过期,就停止搜索,解析到此结束。
在Linux中,可以通过/etc/hosts文件设置,任何域名都可以解析为任何可访问的IP地址。如果在此指定了与域名对应的IP地址,浏览器将首先使用该IP地址。解析到该配置文件中的域名时,操作系统会将解析结果缓存在缓存中,缓存时间也是由该域名的到期时间和缓存大小空控制的。
第一步
客户端通过浏览器访问域名为***.baidu.com(http://***.baidu.com)的网站,发起DNS请求查询该域名的IP地址。请求被发送到本地DNS服务器。本地DNS服务器会先查询其缓存记录,如果缓存中有该记录,可以直接返回结果。如果没有,本地DNS服务器也会查询DNS根服务器。
第二步
本地DNS服务器向根服务器发送DNS请求,请求域名为***.baidu.com的IP地址(http://***.baidu.com)。
第三步
根服务器查询后没有记录域名和ip地址的对应关系。但是会告诉本地DNS服务器可以继续在域名服务器上查询,并给出域名服务器的地址(。com服务器)。
第四步
本地DNS服务器向发送DNS请求。com服务器请求域名***.baidu.com的IP地址(http://***.baidu.com)。
第五步
com服务器收到请求后,不会直接返回域名与IP地址的对应关系,而是告诉本地DNS服务器,域名可以在Baidu.com的域名服务器上解析得到IP地址,并告诉Baidu.com的域名服务器地址。
第六步
本地DNS服务器向baidu.com域名服务器发送DNS请求,请求域名***.baidu.com(http://*** . Baidu . com)的IP地址。
第七步
Baidu.com收到请求后,在自己的缓存表中找到域名和ip地址的对应关系,并将IP地址返回给本地DNS服务器。
第八步
本地DNS服务器将获取的域名对应的ip地址返回给客户端,并将域名与IP地址的对应关系存储在缓存中,供其他用户下次查询。
摘要
最后引用大禹的一张图做个总结。
DNS域名解析流程
本文来自学如穿井投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/567909.html