公共名称服务器实际上起什么作用?

公共名称服务器实际上起什么作用?

我试图了解公共 DNS 名称服务器(公共的,不是 SOA;例如 8.8.8.8)的用途。

我执行了一个dig +trace命令,据我所知,唯一使用名称服务器的时候是查找根域的 SOA .。之后,查询层次结构中每个域的 SOA。

我的假设是,公共名称服务器用于:

  • 识别根域的 SOA,这样它们就不必在客户端上进行硬编码。
  • 分散流程和缓存。因此,如果某个域的 SOA 出现故障,另一台服务器可以引导客户端。
  • 减少 SOA 的负载。如果另一台服务器知道该记录,则无需查询 SOA。

我有 3 个问题:

  • 我的假设正确吗?

  • 如果这些确实是名称服务器唯一能做的事情,如果我不需要缓存并且愿意自己进行递归查询,我可以停止使用名称服务器吗?

  • 如果 SOA 执行的请求过多,它是否可以拒绝回答来自特定名称服务器的查询?

答案1

您的假设是错误的。该+trace选项告诉 dig 查询每个域的 SOA 服务器;这不是它的正常行为。正常的 DNS 查找将使用您配置的 DNS 服务器(例如公共递归 DNS 服务器)进行所有查找。

除非您准备只使用 IP 地址,否则您无法停止使用名称服务器。但您可以运行自己的递归名称服务器,可能与您的客户端软件在同一台机器上,在这种情况下,您可以停止使用公共递归名称服务器。

答案2

作为Mike Scott 的回答...

公共名称服务器(正如您所定义的)的主要目的是:

  1. 使个人无需运行自己的名称服务器。

  2. 帮助(潜在地)加快域名解析过程。

关于“三个假设”的一些说明

  • 有些名称服务器只是将未知请求的查找转发给其他递归解析器(例如公共名称服务器)。由于公共名称服务器保留根提示文件进行递归查找,这意味着这个文件在这些方面是不必要的仅转发名称服务器。但是,这与任何“客户端”无关(就我理解您的意思而言)。

  • 公共名称服务器(可以说)有助于分散化和缓存。同样,它们还可以为整个 DNS 系统提供稳健性。但这些都是附带好处。

  • 公共 DNS 服务器可以减少权威名称服务器的负载,但这并不是绕过这些服务器的主要原因。这样做的目的是,缓存的信息比从权威名称服务器请求信息更快返回。

答案3

公共解析器(请注意术语“名称服务器”:名称服务器有两种,解析器和权威解析器,它们几乎没有共同之处)只是一个解析器,就像您的 ISP 的解析器或您在网络上运行的解析器一样。与任何服务一样,它们可能比默认服务更快或更慢,更可靠或更不可靠,具有一些额外的优点或缺点,但它们不会执行任何特定操作。

相关内容