如果我对每个 NS 的跟踪路由显示相同的位置,DNS 地理冗余吗?

网络工程 路由 BGP dns 任播
2022-02-25 07:39:53

一些提供商为其 NS 服务器使用 BGP 任播。

作为用户,在进行跟踪路由时,对于给定的客户端,许多人可能会为两台服务器显示相同的位置。

当 he.net 过去从不同位置为欧洲的客户选择 DNS 时,他们的一个 POP 崩溃了几个小时,该nspop 的服务器在几分钟内不可用,然后被另一个接管流行音乐。

基本上,在 BGP 中进行接管是否需要一定的秒数(甚至几分钟?)?这是否意味着如果提供商总是将所有 NS 路由到一个位置,那么在任何时候,如果某个 POP 崩溃,这种设置将在某些秒数内与某些客户端完全断开?

2个回答

很难知道。问题在于,任播路由需要以这样一种方式进行配置,即不会迷失在摘要路由后面,或者以其他方式阻止以实际看到撤回。

另一个问题是运营商如何将服务的健康状况与路线广告联系起来。因此 - 例如 - 如果 DNS 服务器所在的 /24 继续被通告服务器是否处于活动状态(希望不是这种情况),那么所有形式的故障都可能发生,甚至无需尝试恢复。

IMO 理想的设计应该是在合成交易的正确返回条件下广告路由,并且所述路由应该是有效/非汇总 /24(即所有运营商完全接受),但不能保证会是这种情况.

正如 mxrx 所提到的 - 故障转移所需的时间长度不是一个已知的数量 - 它完全取决于针对服务运行的健康检查机制,以及触发 BGP 退出。

至于在不同的位置服务——在这种情况下任播的目的不仅仅是冗余,它也是性能。

在正常操作条件下,您总是希望您的客户前往 NEAREST PoP,以获得主要或次要服务。

显然,对于像 Internet 路由关系这样复杂和不透明的事物,从路由的角度来看,“最近”并不总是意味着从延迟的角度来看是最近的,但理论上,客户端总是会使用“最近”PoP 中的服务,除非存在问题。

不过,DNS 是一个有趣的问题 - 假设您提供的主名称服务器和辅助名称服务器在后端实际上不是同一个框,那么检测故障和撤回覆盖两个服务器的任播前缀的延迟将需要更短比客户端切换到其辅助 NS 的延迟(在主节点没有应答的情况下),否则客户端将不会从两者中得到任何应答。