我对 DNS 有很大的疑问。我一直在观看一些视频并阅读有关 DNS 工作原理的信息。我想我已经取消了它,除了一点。为什么我需要在我的 win 7 操作系统或我的 Ubuntu 盒子中指定 DNS 服务器?有时它被配置为我的 ISP 分配给我的那个,有时我测试了谷歌的公共 dns 服务器(8.8.8.8)。我不明白这些 DNS 服务器是什么意思。
据我所知,操作系统有一个解析名称服务器。这是负责查询 ROOT 名称服务器以获取 TLD 名称服务器,然后是权威名称服务器以最终获取 IP。根名称服务器的 ip 被“硬编码”到操作系统中。所以我不明白为什么我需要我的 ISP dns 服务器或 google 的 dns 服务器,我的操作系统可以自己解决!
非常感谢!
小智 6
除非我犯了严重的错误,否则根名称服务器不会“硬编码”到任何操作系统中。如您所知,DNS 用于将网站名称(或服务器名称)解析为 IP 地址。您的服务器(或 Windows 机器或您拥有的东西)将无法解析任何网站地址,除非您的机器从 DHCP 服务器获取其 DNS,或者除非您明确告诉您的服务器/计算机要查询哪些 DNS 服务器。
在 Linux 中,这是通过编辑 /etc/resolv.conf 来完成的。在 Windows 中,这是通过编辑网络适配器的设置来完成的。
简短回答:您选择不使用 DHCP,它会自动配置您的 ISP 名称服务器(或您的家庭路由器的附加 DNS 缓存层)的 IP 地址。
解释:
DNS 解析器不直接查询根服务器,因为那样效率很低。根服务器必须处理数十亿个连接互联网的设备的所有负载,如果解析器要进行多个非递归查询(并且比必要的更复杂),DNS 查找可能会显着变慢。
因此,ISP 运行“递归”或“缓存”名称服务器供其客户使用。理想情况下,服务器位于附近以最大程度地减少延迟。许多家用路由器甚至提供了额外的缓存层——如果您的 DNS 服务器地址与您的网关地址相同,则很可能就是这种情况。
举例来说,您的 Web 浏览器需要知道 IP 地址superuser.com.
并向您的 ISP 的名称服务器询问。以下是与直接查询权威服务器相比,这样做的性能优势:
您的 ISP 的名称服务器实际上可能知道另一个解析器询问相同问题时的答案,从而节省了时间和带宽。
即使您的 ISP 的名称服务器还不知道答案,它也可能知道去哪里查找:.com.
名称服务器。当解析器询问另一个 .com 域名时,它就知道他们的地址。
它可以记住答案,以防以后收到相同的查询。与特定答案相关联的“生存时间”(TTL) 会使服务器在一段时间后忘记它,以防止过时的信息永远存在。
每个 ISP 的名称服务器都有不同的 IP 地址,因此无法对 DNS IP 地址进行硬编码。也许所有 ISP 操作的递归 DNS 服务器都可以像 Google 公共 DNS 一样使用任播聚集在一个 IP 地址下,但这样做没有意义,因为自动配置 DNS 的问题已经通过 DHCP 和 PPP 等协议解决了。
DHCP 和 PPP 不仅允许配置客户端的 IP 地址,还允许配置其 DNS 服务器地址。如果您已明确选择不使用 DHCP,则只需手动指定 DNS 服务器地址。
归档时间: |
|
查看次数: |
2546 次 |
最近记录: |