Anycast任意播

什么是Anycast?

任意播(anycast)是一种网络寻址和路由方法。

一般情况下,互联网上的IP地址和服务器是一对一的关系,即一台主机拥有一个独立唯一的IP地址。

但是Anycast则反其道而行,多台主机同时使用相同的IP地址,同时把主机分布在不同地理位置,当路由需要到达此IP地址的主机时,Anycast通常会将传入流量路由到最近主机所处的数据中心。选择性路由使Anycast网络在高流量,网络拥塞和DDoS攻击面前具有弹性。

Anycast如何运作?

Anycast网络路由能够跨多个数据中心路由传入的连接请求。当请求进入与Anycast网络关联的单个IP地址时,网络将基于某种优先级分配方法来分发数据。通过选择距请求者最短距离的数据中心,通常会优化选择特定数据中心后面的选择过程,以减少延迟。Anycast的特征是具有1:1的许多关联性,并且是Internet协议中使用的5种主要网络协议方法之一。

为什么使用选播网络?

如果同时向同一原始服务器发出许多请求,则服务器可能会变得不堪重负,无法有效地响应其他传入请求。使用Anycast网络,负载可以分散在其他可用的数据中心上,而不是由一台原始服务器来承担流量最大的任务,每个数据中心都将具有能够处理和响应传入请求的服务器。这种路由方法可以防止源服务器扩展容量,并避免服务从源服务器请求内容的客户端中断。

Anycast和Unicast有什么区别?

大多数Internet都通过称为单播的路由方案工作。在单播下,网络上的每个节点都有一个唯一的IP地址。家庭和办公室网络使用单播;当计算机连接到无线网络并收到一条消息,指出IP地址已在使用中时,发生IP地址冲突,因为同一单播网络上的另一台计算机已经在使用相同的IP。在大多数情况下,这是不允许的。

当CDN使用单播地址时,流量将直接路由到特定节点。当网络遇到异常流量(例如在DDoS攻击期间)时,这会造成漏洞。由于流量直接路由到特定的数据中心,因此该位置或其周围的基础架构可能会被流量所淹没,从而可能导致拒绝合法请求的服务。

使用Anycast意味着网络可以非常灵活。因为流量将找到最佳路径,所以整个数据中心都可以脱机,流量将自动流向附近的数据中心。

Anycast网络如何缓解DDoS攻击?

在其他DDoS缓解工具过滤掉了一些攻击流量之后,Anycast会将剩余的攻击流量分配到多个数据中心,以防止任何一个位置被请求淹没。如果Anycast网络的容量大于攻击流量,则可以有效缓解攻击。在大多数DDoS攻击中,许多受损的“僵尸”或“僵尸”计算机被用来形成所谓的僵尸网络。这些计算机可以散布在网络上,并产生大量流量,以至于它们淹没了典型的单播连接计算机。

正确的Anycast CDN会增加接收网络的表面积,从而使来自分布式僵尸网络的未经过滤的拒绝服务流量将被CDN的每个数据中心吸收。结果,随着网络规模和容量的不断增长,针对使用CDN的任何人发起有效的DDoS的难度越来越大。

设置真正的Anycast网络并不容易。正确的实施要求CDN提供商维护自己的网络硬件,与其上游运营商建立直接关系,并调整其网络路由以确保流量不会在多个位置之间“扩散”。

扩展阅读:Cloudflare如何在没有负载均衡器的情况下使用Anycast进行负载均衡。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁