我们正在尝试决定是使用我们的托管公司的 DNS 还是使用亚马逊的 Route 53。
亚马逊吹捧的 Route 53 的优点之一是它使用 Anycast,这意味着他们的 DNS 服务器分布在全球各地,当需要解析 DNS 请求时,该请求将被发送到最近的服务器,这将减少查找所需的时间。
我的问题是 - 用户使用的任何 DNS 的 DNS 缓存都不会使这变得无关紧要吗?所有辅助 DNS 服务器是否都会缓存 DNS 的本地副本,以便它们不需要将请求转发到主 DNS 服务器?并且这些信息不是根据 SOA 记录“刷新”值自动更新的(不是在用户请求时)吗?
我对正常运行时间也有类似的疑问。假设我们选择了托管公司的 DNS,并且它停机了几个小时。辅助 DNS 服务器是否只会在 SOA 的“过期”值设置为(在我们的例子中为 1 周)的时间内继续提供缓存内容?
答案1
并且该信息不是根据 SOA 记录“刷新”值自动更新的吗(不是在用户请求时)?
不会。只有当 a) 辅助 DNS 服务器收到该域的 DNS 请求,并且 b) 该记录的本地缓存已过期时,才会更新。如果我的 ISP 上一段时间内没有人请求 Google.com,它将完全从缓存中删除。
只要 SOA 的“过期”值设置为(在我们的例子中为 1 周),辅助 DNS 服务器是否就不会继续提供缓存内容?
当您的 DNS 出现故障时,其中一些辅助服务器位于 6 天 23 小时 59 分 59 秒处。
答案2
任播 DNS 与单播 DNS 相比的优势
- 降低整体延迟
- 负载分配(通常不是主要原因,但可能会产生大量流量)
- 更好的抵抗 DoS 攻击能力
- 透明冗余
确实,随着 DNS 缓存时间的延长,这在整体上变得不那么有用。同样,它也不能免除您为服务器指定多个地址的义务。理想情况下,这些多个地址应该通过不同的 AS 编号进行宣传。
请记住,DNS 缓存仅当有人在您之前请求过该地址,并且在缓存服务器过期之前您再次请求该地址时才有效。
总结
它比单播更好吗?是的,尤其是对于根 DNS 服务器;它们大多是任播地址。它是否好到足以对您的系统产生影响?对于 99% 的人来说,不是。优势来自于其他人管理服务器并使其保持活动状态。