searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Anycast技术浅析与应用

2023-10-27 07:02:07
224
0

一、Anycast基础

TCP/IP协议中定义的unicast(单播)、mutlicast(组播/多播)、broacast(广播),那anycast是属于哪种?或者是了新定义的?

关于anycast属于上述三种中哪一种,网上各有各的看法,我个人理解anycast广播是在多个地区节点均为BGP接入的前提下,在多个节点广播同一个uncast IP段。

我们知道,当前全球Internet是基于BGP协议,连接各个大中小ISP网络而组成的。

BGP协议中有两个特点适合Anycast应用场景:

一是BGP支持多线同时接入,且同一个目的IP网段一般会有多个路径可达,BGP根据14条选路原则(见上一遍文章)选出一条最优路由和其他备用路由(实时监测,随时可能切换);

二是EBGP在接收各线路路由时,会丢弃那些AS-PATH中带有本地AS号的路由,这样避免AS环路问题

因此,当前我们在多个不同节点/国家广播同一个IP段时,当地ISP都会根据他们BGP选路算法选出最优路由和备用路由

在anycast广播线路选择和BGP属性配置得当的前提下,各区域本地ISP一般都能优先接入当地anycast广播节点,网络覆盖效果最优

 

二、anycast优点与存在问题分析

与传统的单播路由相比,Anycast技术有着不少的优势:

  • 自动负载平衡:Anycast在多个地区同时广播同一个IP段,各个地区请求一般会优先吸到本地广播节点,这样不同节点服务器负载会更均衡一些。
  • 高可用性:当anycast某个广播节点down掉时,本地ISP会在秒级内自动选择出第二优路由,保障业务连续性;
  • 更低的网络延迟:Anycast会根据路由距离优先转发到最短路径的节点上,这可以有效地降低请求的延迟;
  • 天然防攻击:由于anycast IP同时在多个节点广播,且会优先吸引本地ISP路由,当某个地区或ISP受攻击时,攻击流量会吸到当地清洗节点,避免攻击流量集中到某个广播节点,提升整体平台防攻击能力。

当然,Anycast应用时也存在一些问题:

  • 广播线路选择与BGP广播策略优化难度较大,策略不当的话会引起流量跨大洲绕路问题,影响访问速度
  • 当某个节点本地设备服务异常时,若无法及时关闭anycast广播,会出现用户请求到了而无法服务问题
  • 当某CDN节点本地线路正常而国际线路异常时,无法远程关闭本地anycast广播,会导致用户请求到节点后,节点回源失败而无法正常响应问题

三、anycast主要应用场景 

1、Anycast DNS广播

一般DNS NS服务器只能配置几个unicast IP,这样不管使用哪些节点NS服务器,对于全球用户访问,都会存在跨大洲访问问题,严重影响DNS解析速度。

通过Anycast广播技术,我们可以在各个大洲都广播同一个DNS IP段,这样各大洲用户一般都会优先访问本地DNS节点,提高解析速度和DNS可用性。

2、防范DDOS攻击

DDoS攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃。

DDOS攻击最关键是需要把所有地理位置分散的小流量最终汇集为一个巨大的流量,从而发起攻击。

在AnyCast环境下,由于多个地理位置不同的主机同时使用同一个IP地址。因此,DDOS攻击流量在穿越运营商路由器时,路由器会根据地理位置远近把数据包路由到距离源地址最近的受害者主机站点,从而间接又再次分散了整个DDOS流量。

3、anycast CDN/Cache部署

AnyCast在大型企业中也常用于CDN部署,采用了Anycast技术为用户提供距离用户最近的Cache服务器,可大大提高了用户的服务体验。在全球建设了多个数据中心,凭借于AnyCast的高冗余性,任何一个数据中心出现网络、系统故障。均不会影响客户体验度,所有当地的客户流量会自动路由到其他就近的数据中心。相对传统企业网络面对网络节点故障的脆弱性,Anycast具有很强的优势。

四、Anycast应用情况

1、Anycast DNS应用厂家

  • 114DNS:114.114.114.114

腾讯:119.29.29.29

阿里:223.5.5.5,223.6.6.6

百度:180.76.76.76

海外Cloudflare、Amazon、Google

2、Anycast CDN厂家

主要有Cloudflare、Google、Lumen、CacheFly、Edgecast等

 

小结:anycast在国外应用比较普遍,国内其实也可以使用,但由于BGP带宽较贵,使用厂家没那么多而已。

 

 

0条评论
0 / 1000