DNS 域名解析流程
时间:2023-02-19 06:34:01 | 来源:建站知识
时间:2023-02-19 06:34:01 来源:建站知识
DNS 域名解析流程: 什么是 DNS
DNS(Domain Name System)是域名系统的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,用于 TCP/IP 网络。
当我们在浏览器输入一个 URL 地址时,浏览器要向这个 URL 的主机名对应的服务器发送请求,就得知道服务器的 IP,对于浏览器来说,DNS 的作用就是将主机名转换成 IP 地址。
DNS域名解析流程DNS 域名解析,简单地说就是把域名翻译成 IP 地址
浏览器缓存检查浏览器会首先搜索浏览器自身的 DNS 缓存,缓存时间比较短,大概只有1分钟,且只能容纳 1000 条缓存,看自身的缓存中是否有对应的条目,而且没有过期,如果有且没有过期则解析到此结束。
操作系统缓存检查 + hosts 解析如果浏览器的缓存里没有找到对应的条目,操作系统也会有一个域名解析的过程,那么浏览器先搜索操作系统的 DNS 缓存中是否有这个域名对应的解析结果,如果找到且没有过期则停止搜索,解析到此结束。
在 Linux 中可以通过 /etc/hosts 文件来设置,可以将任何域名解析到任何能够访问的IP 地址。如果在这里指定了一个域名对应的 IP 地址,那么浏览器会首先使用这个 IP地址。当解析到这个配置文件中的某个域名时,操作系统会在缓存中缓存这个解析结果,缓存的时间同样是受这个域名的失效时间和缓存的空间大小控制的。
第一步客户端通过浏览器访问域名为
www.baidu.com (
http://www.baidu.com) 的网站,发起查询该域名的 IP 地址的 DNS 请求。该请求发送到了本地 DNS 服务器上。本地 DNS 服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地 DNS 服务器还要向 DNS 根服务器进行查询。
第二步本地 DNS 服务器向根服务器发送 DNS 请求,请求域名为
www.baidu.com(
http://www.baidu.com) 的 IP 地址。
第三步根服务器经过查询,没有记录该域名及 IP 地址的对应关系。但是会告诉本地 DNS 服务器,可以到域名服务器上继续查询,并给出域名服务器的地址(.com 服务器)。
第四步本地 DNS 服务器向 .com 服务器发送 DNS 请求,请求域名
www.baidu.com(
http://www.baidu.com) 的 IP 地址。
第五步com 服务器收到请求后,不会直接返回域名和 IP 地址的对应关系,而是告诉本地DNS 服务器,该域名可以在
http://baidu.com 域名服务器上进行解析获取 IP 地址,并告诉
http://baidu.com 域名服务器的地址。
第六步本地 DNS 服务器向
http://baidu.com 域名服务器发送 DNS 请求,请求域名
www.baidu.com(
http://www.baidu.com) 的 IP 地址。
第七步http://baidu.com 服务器收到请求后,在自己的缓存表中发现了该域名和 IP 地址的对应关系,并将 IP 地址返回给本地 DNS 服务器。
第八步本地 DNS 服务器将获取到与域名对应的 IP 地址返回给客户端,并且将域名和 IP 地址的对应关系保存在缓存中,以备下次别的用户查询时使用。