基于维基百科对Anycast的描述,它既包括跨多个DNS服务器的域名到多个IP映射的分布,也包括对地理上最接近(或最快)服务器的客户的回复。
在全球分布的、高度可用的站点中,比如google.com (或任何具有许多全局边缘位置的CDN服务),这听起来像是一个需要的两个关键特性。
像亚马逊的Route53、EasyDNS和DNSMadeEasy这样的DNS服务都将自己宣传为支持Anycast的网络。
因此,我的假设是,每个DNS服务都透明地为我提供了这两个致命的特性:多IP到域映射和将客户端路由到最近的节点。
但是,这些服务似乎都将这两个功能分开,将第二个功能(将客户端路由到最近的节点)称为"GeoDNS“、"GeoIP”或“全球流量主管”,并对服务收取额外费用。
如果一个支持Anycast的系统的核心租户已经这样做了,为什么这个功能被指定为这个额外的功能呢?这个"GeoDNS“功能做的是一个标准的Anycast DNS服务做不到的功能(根据维基百科对Anycast的定义--我理解广告的内容,只是不知道为什么它还没有隐含)。
当像Route53这样不支持这种模糊的"GeoDNS“功能的DNS服务列出如下功能时,我会感到特别困惑:
快速-使用全球DNS服务器的全球选播网络,路由53是设计为自动路由您的用户到最佳位置取决于网络条件。因此,该服务为最终用户提供了较低的查询延迟,并为DNS记录管理需求提供了较低的更新延迟。
..。这听起来与GeoDNS的意图完全一样,但地理位置指导的客户端是他们的显然还不支持它。
最终,我将从DNS提供程序中寻找以下两个特性:
如前所述,这似乎都是"Anycast“DNS服务(所有这些服务都是这些服务)的一部分,但我从这些服务中看到的特性和市场营销表明,在做出部署选择之前,我需要更多地了解DNS的工作原理。
谢谢您的任何澄清。
发布于 2011-10-26 20:25:24
GeoDNS的主要优点是它根据请求者的IP地址将相同的名称解析为不同的IP地址。
一个Anycasted的DNS服务器将返回相同的IP地址,不管是谁在询问。
这两个工作在不同的网络层。Anycast低于GeoDNS,因为它不知道请求者IP地址的位置,只知道它在网络图中的位置。可能接近DNS服务器的内容可能不接近所请求的资源,Anycasted服务器无法告诉这一点。
GeoDNS使用资源位置映射并执行逻辑以确定哪些资源最接近给定的请求IP地址,然后返回该IP地址。
除非您的DNS服务器与您的网络资源同时使用,否则接近DNS服务器的东西并不总是接近该资源,所以使用Anycast作为您的数据局部性方法不如直接使用GeoDNS有效。
发布于 2011-10-26 20:12:46
BGP anycast方面允许客户端向给定的DNS服务器发送请求,并通过BGP路由表将请求发送到附近的DNS服务器实例,希望得到快速响应。
但是,一个正常的ol‘DNS服务器在地理上是分布的,并且任意分布的,它不具备根据请求客户端的位置不同地响应查询的能力--这是那些“Geo”服务提供额外成本的额外功能,允许您将客户端发送到与它们相近的服务实例。
之所以存在此特性,是因为BGP anycast对于一些无状态的东西(如DNS )来说工作得很好,在这种情况下,它既快速又脏,不需要连接或会话持久性,但是对于web服务器这样的东西,您希望将实例粘贴到世界各地,并确保给定的客户端将坚持某个特定的实例--全局BGP表中的路由更改会破坏TCP连接,破坏web应用程序会话,并且通常会造成破坏;因此,通常不会对web服务器使用任何广播。
最好是通过DNS为X县的用户提供国家X的一个实例的IP,这就是你要用Geo服务支付现金的原因。
发布于 2011-11-18 21:13:16
传统上,您将有多个DNS服务器。客户端将随机选择一个,并询问它的web服务器的IP地址。如果DNS服务器靠近客户端,这是很好的,但是如果DNS服务器离客户机很远的话--就像通常的情况一样--这是很糟糕的。无论哪种方式,客户端都将获得与答案相同的IP地址。
Anycast允许多个服务器响应相同的IP地址。使用anycast DNS时,当客户端试图与您的名称服务器交谈时,最近/最快的名称服务器会响应。这意味着客户端总是得到对他的DNS查询的快速响应。但是,对于DNS查询,他仍然会得到相同的答案--服务器的IP。如果您的服务器远离客户端,则客户端体验可能不是最佳的。
GeoDNS允许DNS服务器使用不同的IP地址进行响应,这取决于客户端的位置。(显然,这要求您拥有多个地理分布的服务器。)GeoDNS并不意味着要进行任何广播,不过通常您会同时部署这两种方式,这样客户端就会得到地理位置相近的DNS服务器的响应,后者将使用地理位置相近的web服务器的IP地址进行应答。
https://serverfault.com/questions/325076
复制相似问题