DNS查询流程

DNS查询流程

  1. 客户端通过浏览器访问域名为www.baidu.com的网站,发起查询该域名的IP地址的 DNS 请求。该请求发送到了本地DNS服务器上。本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地DNS服务器还要向 DNS根服务器进行查询
  2. 本地DNS服务器向根服务器请求域名www.baidu.com的IP地址。
  3. 根服务器经过查询,没有记录该域名及 IP 地址的对应关系。但是会告诉本地 DNS 服务器,可以到顶级域名服务器(.com 服务器)上继续查询。
  4. 本地 DNS 服务器向 .com 服务器发送 DNS 请求,请求域名www.baidu.com的 IP 地址。
  5. com 服务器收到请求后也没有找到该域名及 IP 地址的对应关系,但是告诉本地DNS服务器,该域名可以在权威域名服务器 baidu.com上进行解析。
  6. 本地 DNS 服务器向baidu.com域名服务器请求域名www.baidu.com的 IP 地址。
  7. baidu.com服务器收到请求后,发现了该域名和 IP 地址的对应关系,并将 IP 地址返回给本地 DNS 服务器。
  8. 本地 DNS 服务器将获取到与域名对应的 IP 地址返回给客户端,并且将域名和 IP 地址的对应关系保存在缓存中,以备下次别的用户查询时使用。

其中客户端与本地DNS服务器之间是递归查询,本地DNS服务器与其他服务器直接是迭代查询

高速缓存
缓存的目的是将数据临时存储在某个位置,从而提高数据请求的性能和可靠性。DNS 高速缓存涉及将数据存储在更靠近请求客户端的位置,以便能够更早地解析 DNS 查询,并且能够避免在 DNS 查找链中进一步向下的额外查询,从而缩短加载时间并减少带宽/CPU 消耗。
由于域名到IP地址的映射关系并不是永久不变,为保持高速缓存中的内容正确,DNS中的每项记录都会设置对应的TTL,超过TTL就会删除这段记录。

作者

ShiHaonan

发布于

2024-04-08

更新于

2024-04-08

许可协议

评论