# DNS域名解析过程

DNS(Domain Name System)是一种组织成域层次结构的计算机和网络服务命名系统,用于 TCP/IP 网络。

  1. 浏览器首先需要看看自己浏览器缓存有没有对应的IP记录,同时还要查询一下主机本地文件(hosts文件)里面有没有对应记录,如果有记录就没必要进行后面的步骤了
  2. 将请求发送到了本地DNS服务器上。本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果;如果没有,本地DNS服务器还要向DNS根服务器进行查询
  3. 本地DNS服务器向根服务器发送DNS请求。根服务器会告诉本地DNS服务器,可以到顶级域名服务器上继续查询,并给出域名服务器的地址(如.com 服务器)
  4. 本地DNS服务器向顶级域名服务器发送DNS请求。顶级域名服务器收到请求后,告诉本地DNS服务器权威域名服务器(或权威域名服务器)的地址(如baidu.com)
  5. 本地DNS服务器向权威域名服务器发送DNS请求。权威域名服务器收到请求后,在自己的缓存表中发现了该域名和 IP 地址的对应关系,并将 IP 地址返回给本地 DNS 服务器。
  6. 本地 DNS 服务器将获取到与域名对应的 IP 地址返回给客户端,并且将域名和 IP 地址的对应关系保存在缓存中,以备下次别的用户查询时使用。

TIP

解析器与本地DNS服务器之间用的是递归的方式传输而本地DNS服务器和三层服务器之间用的是迭代的方式传输 DNS视频讲解可在B站观看https://www.bilibili.com/video/BV1uL4y1B7aE?spm_id_from=333.999.0.0