如果我的 ISP 的 DNS 服务器不可用,会发生什么情况?

如果我的 ISP 的 DNS 服务器不可用,会发生什么情况?

只是好奇,如果我的 ISP 的 DNS 服务器实际上不可用(而不是像中毒这样的 DNS 攻击),DNS 架构是否有办法遍历 DNS 层次结构,直到找到一个可以运行的 DNS 服务器(或者可以转换浏览器查询的服务器)?

或者,我的浏览器会不会只是告诉我它无法解析地址->IP 地址,因为我的 ISP 的 DNS 服务器已关闭,而我仍能使用我的互联网?

答案1

浏览器和 PC 不具备 DNS 服务器的全部功能。如果您列出的两个 ISP DNS 服务器都宕机了,那么您将收到错误。

您可能希望考虑添加Google 的公共 DNS 服务器(8.8.8.8 和 8.8.4.4)作为现有 DNS 服务器的备份(或替换),但如果您的 ISP DNS 服务器稳定,那么您可能并不关心。

PC 可以配置完整的功能,但性能可能不太好,因为它无法利用缓存。(ISP DNS 服务器和 Google 公共 DNS 服务器都是 DNS 缓存服务器)这也意味着您有责任维护半最新的根服务器列表。这是一个小细节,因为当前的列表可能会在未来几年继续工作,但它应该保持最新状态。

答案2

那里没有“DNS 层次结构”。

这是对 DNS 工作原理最常见的误解。人们认为 DNS 具有某种服务器层级,所有服务器都在一条长链上相互查询。也就是说不是DNS 的工作原理。不存在由更高级别的服务器相互查询的层次结构。

您了解 HTTP 和 WWW 吗?了解吗?很好。 DNS 就是那样的。 一套内容服务器发布从其后端数据库获取的内容,以及一组代理人服务器苦差事位于内容服务器和DNS 客户端库代码链接到要使用 DNS 的应用程序。应用程序与代理执行前端事务,代理与各种内容服务器执行大量后端事务,以构造返回给应用程序的完整答案。内容服务器不会查询其他内容服务器,代理服务器与另一个代理服务器对话的唯一时间是转发整个交易让转发者执行繁重的工作。

可以为应用程序中的客户端库代码配置多个代理服务器,以便将其前端查询发送到这些服务器。在 Microsoft 的 Windows NT 术语中,这些是工作站所配置的“首选”DNS 服务器(集)和“备用”(代理)DNS 服务器(集)。这些服务器不要形成任何类型的层次结构。客户端可以任意选择它们,方式因客户端库而异(并根据各种客户端库错误而定),因此它们应该彼此行为相同才能正常运行。通常,ISP 会提供至少一对行为相同的代理 DNS 服务器供客户使用,这样如果一个服务器出现故障,客户端库可以回退到另一个服务器。

进一步阅读

相关内容