CDN和中心性

今年 6 月 17 日下午,在线服务普遍中断 。在澳大利亚,它影响了该国三大银行、国家邮政服务、国家储备银行和一家航空公司 。距离澳大利亚更远的地方,停电影响了香港证券交易所和一些美国航空公司 。受影响服务的点名似乎达到了大约 500 个服务 。
这些问题在澳大利亚东部时间中午左右首次被发现,直到四小时后才完全恢复 。问题当然是这500家受影响的企业有什么共同点?这不是蓄意攻击的结果 。但这与许多互联网企业(无论大小)用来转移此类攻击的影响的措施有关 。答案是他们都是 Akamai 的客户,尤其是 Akamai 的 Prolexic DDoS 保护系统 。Akamai 的事后回应是:

CDN和中心性

文章插图
 
“无意中超出了此特定服务使用的路由表值 。结果是服务意外中断 。”
https://blogs.akamai.com/2021/06/akamai-provides-prolexic-ddos-service-impact-update-status-resolved.html
是的,互联网仍在增长,在 IPv4 网络中,我们正在接近大约 100 万个路由条目,而在 IPv6 中,数量现在接近 150,000 个条目 。交换单元以各种方式实现数据包决策结构 。有些使用三元内容寻址存储器 (TCAM),有些使用定制的 ASIC 。这里的共同目标是基于对数据包的目标地址与从大约 100 万个条目池中提取的路由条目的最佳匹配的查找来做出转发决策 。这个查找必须尽可能快 。如果我正在构建一个可以处理多个 100G 电路的数据包负载的非常高速的交换机,那么我可能希望我的设备每秒做出大约 100M 左右的切换决策 。这意味着我需要设计一个决策系统,该系统可以在 100 万个条目的集合中执行此查找,并且只需 10 纳秒 。这是一个非常具有挑战性的目标 。相比之下,最快的可用内存周期时间略低于 1 纳秒 。然而,事情并没有那么简单 。如果我正在构建这样的开关元件,那么我需要对其进行设计,使其能够应对从现在起 1、2 甚至 5 年内我可以预期的峰值开关负载 。如果我弄错了并且没有设计足够的容量和速度,那么我的设备将提前报废,这将给网络运营商带来更多成本 。如果我过度设计,那么我将在最先进的高速内存上花费太多,我的产品将比我的竞争对手贵得多 。每台设备都是以这种设计权衡构建的,这些设备的使用寿命取决于诸如互联网未来增长率之类的不确定因素 。关键是我们的网络使用这样的设备,网络运营商的作用是不断升级他们的交换设备能力,以保持领先于这些需求 。并且意味着有时它们会滑倒不可避免 。Akamai 显然也是如此 。当我们处于硅能力的最边缘时,我们不能只是设计这个问题 。网络运营商的作用是不断升级他们的交换设备能力,以保持领先于这些需求 。并且意味着有时它们会滑倒不可避免 。
但这并不是 Akami 独有的问题 。所有的网络服务提供商都在追求一个相似的目标,并且所有这些系统有时都可能会切换到过载状态并出现服务中断 。这次特定中断的值得注意的是,这次中断影响了大量在线服务提供商 。作为在线平台的后端服务提供商的业务并不完全是一个人口稠密且多样化的商业环境 。事实上,提供此类服务的企业很少,如果其中任何一家出现运营中断,那么影响将非常明显 。
事实证明,这并不是 2021 年 6 月的孤立事件 。本月早些时候,我们看到一组热门服务消失了一个小时或更长时间 。受影响的服务列表包括 Twitch、Pinterest、Reddit、Spotify、纽约时报和 BBC 等 。所有这些服务有什么共同点?他们使用 Fastly 。
CDN和中心性

文章插图
ABC 关于Fastly停电的新闻报道
“由于有效的客户配置更改于 6 月 8 日出现了一个未被发现的软件错误,我们经历了全球中断 。我们在一分钟内检测到中断,然后确定并隔离原因,并禁用配置 。在 49 分钟内,我们 95% 的网络正常运行 。这次中断是广泛而严重的,我们真的很抱歉对我们的客户和依赖他们的每个人造成的影响 。”
https://www.fastly.com/blog/summary-of-june-8-outage
同样,这不是攻击 。它更像是一个定时炸弹,特定的客户配置设置可能会触发共享 CDN 平台的故障 。所需要做的就是让客户偶然发现该特定配置设置,系统就会失败 。
Fastly 建立在一个名为“Varnish”的配置管理平台上 。正如 Fastly 报道的那样:
“Fastly 建立在 Varnish 之上,它允许高性能的内容交付,包括能够立即清除其全球网络中的内容 。使用 Varnish 配置语言 (VCL),Catch 可以自定义其 Fastly 配置,从而实现更智能的缓存 。


推荐阅读