1、递归查询
* 谁向谁查询:客户端(如你的电脑)向本地 DNS 服务器发起的查询。
* 查询的特点:“不达目的誓不罢休”。客户端只发出一次请求,然后等待最终的结果(要么是 IP 地址,要么是错误信息)。本地 DNS 服务器有责任为你完成整个查找过程。
* 好比:你让行政人员“帮我找到张三的电话号码”,然后你就等着他给你最终答案。
第4步:向本地 DNS 服务器发起递归查询
如果以上步骤都未命中,你的电脑就会将查询请求发送到本地 DNS 服务器(也称为“递归解析器”)。这个服务器通常由你的 ISP(互联网服务提供商,如电信、联通)提供,或者是你手动设置的公共DNS(如 `114.114.114.114` 或 `8.8.8.8`)。这时,你的电脑发出的是一个递归查询请求。
第5步:本地 DNS 服务器询问根域名服务器
假设本地 DNS 服务器的缓存中也没有记录,它就会开始进行迭代查询。它首先会联系全球13组根域名服务器之一。根服务器不负责具体的域名,但它会返回负责 `.com` 这个顶级域的TLD 服务器的地址。
第6步:本地 DNS 服务器询问 TLD 服务器
本地 DNS 服务器拿到 TLD 服务器地址后,会向其中一台发起查询。TLD 服务器负责管理其顶级域下的所有权威服务器。它会返回负责 `65.hk` 这个域的权威域名服务器的地址。
第7步:本地 DNS 服务器询问权威域名服务器
本地 DNS 服务器接着向 `65.hk` 的权威服务器发起查询。权威服务器是域名记录的最终来源,它掌握着该域名下所有主机(如 `www`、`mail` 等)的IP地址。
第8步:返回最终结果
权威服务器会查询自己的记录,将 `www.65.hk` 对应的 IP 地址(例如 `93.184.216.34`)返回给本地 DNS 服务器。
收尾工作:
1、 缓存结果:本地 DNS 服务器收到IP地址后,会将其存入自己的缓存一段时间(根据记录的 TTL 值决定),以便后续相同的查询能快速响应。
2、 返回给客户端:本地 DNS 服务器将这个最终的IP地址返回给你的电脑。
3、 客户端缓存:你的电脑也会将这个记录缓存起来。
4、 建立连接:浏览器终于拿到了 `www.65.hk` 的IP地址,随后通过TCP/IP协议向该地址发起HTTP连接,加载网页。