DNS解析是将人类可读的域名(如www.example.com)转换为盘算机可理解的 IP 所在(如192.168.1.1)的过程。DNS 是互联网的一个核心部分,负担着在因特网上提供域名与 IP 所在之间映射的功能,使得用户能够通过简易的域名访问网站,而不必记住复杂的 IP 所在。
DNS 解析过程
DNS 解析涉及一系列的查询步调,通常包含从客户端到 DNS 服务器的多次请求。以下是 DNS 解析的具体过程:
1. DNS 查询的启动
当你在欣赏器中输入一个网址(如www.example.com)并按下回车时,欣赏器会启动 DNS 查询过程来找到该网站的 IP 所在。
2. 查询本地缓存
在 DNS 查询过程中,系统会首先查抄本地 DNS 缓存,看看之前是否已经查询过该域名及其对应的 IP 所在。假如缓存中有该域名的解析纪录,直接返回该纪录,制止进行更复杂的查询。
本地 DNS 缓存:操作系统和欣赏器会缓存域名与 IP 所在的映射,以进步访问速率并淘汰网络流量。
3. 查询本地 DNS 服务器
假如本地没有缓存纪录,操作系统会向本地的 DNS 解析服务器发送请求。通常情况下,本地的 DNS 服务器是由 ISP(互联网服务提供商)提供的,大概是你手动配置的第三方 DNS 服务(如 Google 的8.8.8.8或 Cloudflare 的1.1.1.1)。
DNS 递归查询:本地 DNS 服务器会取代客户端完成后续的 DNS 查询,它将会从根域名服务器开始逐步查找,直到找到目标域名的解析效果。
4. 向根 DNS 服务器查询
假如本地 DNS 服务器没有该域名的缓存纪录,它将向根 DNS 服务器发起请求。根 DNS 服务器是 DNS 系统的最高层次,它不直接保存域名和 IP 所在的映射,但它知道该请求应该去哪里查找。
根 DNS 服务器:根 DNS 服务器是全天下分布的几台服务器的集合,每一台根 DNS 服务器都知道所有顶级域(TLD)服务器的 IP 所在。例如,对于 www.example.com,根 DNS 服务器知道该查询应由 .com 域的权势巨子 DNS 服务器来处理。
5. 向顶级域(TLD)DNS 服务器查询
根 DNS 服务器将请求指向与域名的顶级域(例如 .com、.org、.net 等)相对应的 TLD 服务器。TLD 服务器负责处理特定顶级域的所有域名请求。
TLD 服务器:这些服务器存储有关该顶级域的所有域名的 IP 所在纪录。比如,.com 顶级域的服务器存储了所有以 .com 末端的域名的解析信息。
6. 向权势巨子 DNS 服务器查询
TLD 服务器会根据请求提供该域名的权势巨子 DNS 服务器的 IP 所在。权势巨子 DNS 服务器存储着关于该域名的确切解析纪录(例如,A 纪录、CNAME 纪录等)。
权势巨子 DNS 服务器:这是域名的“权势巨子”服务器,它保存着特定域名的确切 DNS 纪录。假如你查询 www.example.com,权势巨子 DNS 服务器会直接返回该域名的 IP 所在。
7. 返回 IP 所在
当权势巨子 DNS 服务器找到该域名对应的 IP 所在后,DNS 查询效果会通过各级 DNS 服务器返回给本地 DNS 服务器,然后再返回给客户端(欣赏器)。此时,欣赏器已经获得了域名对应的 IP 所在,可以向该 IP 所在发起 HTTP 请求,加载网页内容。
8. 缓存效果
在得到 IP 所在后,本地 DNS 服务器会将该 IP 所在缓存一段时间(称为 TTL,Time to Live)。TTL 是一个值,表现缓存的有效期,过期后,缓存会被清除。TTL 的设置通常是由域名的管理员配置的。这样,在未来的查询中,DNS 服务器可以直接利用缓存数据,而无需重新实行完整的查询过程。
DNS 解析类型
DNS 解析有几种不同类型的查询:
A 纪录(Address Record):
A 纪录将一个域名映射到一个 IPv4 所在。例如,www.example.com大概会指向 192.168.1.1。