【发布时间】:2020-11-11 22:22:53
【问题描述】:
我最近一直在探索 DNS 服务及其工作原理。据我了解,如果浏览器不知道用户输入的某个 URL(例如 maps.google.com),那么 DNS 流程将如下所示:
浏览器检查其缓存 => 浏览器检查设备上的操作系统解析器软件(如果是 Windows,可能检查机器上存在的 host.txt 文件)=> 操作系统联系 ISP DNS 服务器 = > ISP DNS 服务器检查缓存,然后来自 ISP DNS 服务器的解析器软件直接到达 DNS 根服务器 IP 地址(根服务器 IP 在 ISP 解析器中硬编码)=> 根服务器将解析器定向到 TLD 服务器(在我们的示例中为 .com ) => TLD 服务器将解析器发送到我们询问的域的权威服务器 (google.com) => 权威服务器为我们提供了我们寻找的 IP 地址 (maps.google.com)
我正在 Windows 10 中试验 nslookup 命令。我执行以下操作:
C:\Users\me>nslookup
Default Server: UnKnown
Address: "Here I get an Ip6 address"
>root
Default Server: A.ROOT-SERVERS.NET
Addresses: 2001:503:ba3e::2:30
198.41.0.4
在上面我们可以看到 Verizon 的根 DNS 服务器之一,它用于为 Internet 上的用户提供 DNS 服务。
我的问题是:
-
nslookup模式下root命令返回的信息,它们来自哪里?
-
这些信息是来自我的电脑缓存还是保存在我的电脑正在联系以获取 DNS 服务的 DNS 服务器上的信息?
【问题讨论】:
标签: dns