DNS 的工作原理
1.浏览器缓存检查:
首先,浏览器会查看自己的缓存。如果你之前访问过 www.sumingcheng.cn
,浏览器可能已经保存了它的 IP 地址。如果找到了,就会直接使用这个 IP 地址去访问,整个过程在这里结束!
2.操作系统缓存检查:
如果浏览器没有相关缓存,它会查询操作系统的 DNS 缓存。操作系统每次成功解析域名后都会将结果暂时存储。如果操作系统缓存中有该域名的 IP 地址,查询过程在此结束,浏览器会用这个地址去访问网站。
3.本地 DNS 服务器查询:
如果上述两个缓存都没有结果,浏览器会发出一个系统调用,请求操作系统查询配置好的 DNS 服务器。这个服务器通常是由你的网络服务提供商 (ISP) 设置的,但也可能是其他公共 DNS 服务器,如 Google DNS (8.8.8.8)。
4.真正的 DNS 查询开始:
a.请求根服务器:
本地 DNS 服务器首先会查询一个 DNS 根服务器。虽然根服务器不知道 www.sumingcheng.cn
的 IP 地址,但它知道哪些服务器负责 .cn
域名,因此它会返回一个 .cn
的顶级域名 (TLD) 服务器的地址。
b.查询.cnTLD 服务器:
本地 DNS 服务器随后会向 .cn
TLD 服务器发送查询请求。这个服务器会告诉本地 DNS 服务器哪个权威 DNS 服务器负责 sumingcheng.cn
这个域名。
c.查询权威 DNS 服务器:
然后,本地 DNS 服务器会向 sumingcheng.cn
的权威 DNS 服务器发出请求。这个权威服务器包含了 www.sumingcheng.cn
的确切 IP 地址,并将这个地址返回给本地 DNS 服务器。
5.结果返回给用户:
权威 DNS 服务器的答案随后被返回给本地 DNS 服务器。本地 DNS 服务器将这个答案传递给用户的操作系统,操作系统再把这个 IP 地址传递给浏览器。现在,浏览器可以使用这个 IP 地址与 www.sumingcheng.cn
的服务器建立连接。
6.结果被缓存:
为了加速未来的 DNS 查询,该 IP 地址会在多个级别被缓存:浏览器、操作系统、以及本地 DNS 服务器。
整个过程结束