Cloudflare是一家于2019年上市的CDN和安全服务公司,不过2022年6月21日因为它的服务暂时中断,影响了大量的服务和平台正常运营。包括FTX,Discord,Omegle,DoorDash等等。
本篇文章,会讲一下什么是CloudFlare,到底是个什么公司,CloudFlare和Web3的缘起,以及从技术上解释一下本次故障的原因。
本文结构
1.事件背景
?2022年6月底发生了什么?
2.什么是CDN
什么是CDN
什么是路由
CDN公司通常都是安全公司?
3.Cloudflare是个什么公司?
4.Cloudflare和Web3的缘起
IPFS&以太坊
5.Cloudflare为什么会发生服务中断?
和架构转型有关
本次服务终端的时间线和背景
补救和后续步骤
结论
事件背景
6月21日发生了一件事,就是因为Cloudflare的服务暂时中断,影响了大量的服务和平台正常运营。包括FTX,Discord,Omegle,DoorDash,Crunchyroll,NordVPN和Feedly等等、还有Zeroda,Medium.com,新闻媒体Register,Groww,Buffer,iSpirt,Upstox和SocialBlade的,用户无法访问这些网站,甚至Coinbase,Shopify和英雄联盟也受到了部分影响。
本篇文章,会讲一下什么是CloudFlare,到底是个什么公司,CloudFlare和Web3的缘起,以及从技术上解释一下本次故障的原因。
什么是CDN
在讲Cloudflare之前,我们先普及一个概念
什么是CDN?
CDN,全称为ContentDistributeNetwork(内容分发网络)或者ContentDeliveryNetwork;那么,什么是内容分发网络呢?是可以通过互联网互相连接的电脑网络系统,利用最近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
Web3基础设施协议4EVERLAND将在Nautilus Chain主网集成自身协议:5月9日消息,Web3基础设施协议4EVERLAND将在Nautilus Chain主网集成自身协议,4EVERLAND是一个Web3基础设施,可促进Web3应用更轻松、更快速地托管前端、存储数据/NFT/文件等,并在IFS/Arweave/Dfinity等分布式设施上访问。Layer3链Nautilus Chain不仅具备定制化特性,同时也具备作为行业内第一个并行化,且运行速度最快EVM Rollup的L3扩容方案,在4EVERLAND等基础设施的促进下,有望进一步推动Nautilus Chain生态的繁荣,并提升其生态竞争力。[2023/5/9 14:51:49]
形象的说,CDN有点类似于京东物流模式,通过在全国各地建立物流点(缓存服务器),当有人从京东购买货物时(用户资源请求),京东上次可以根据用户的收货地址(CDN进行用户域名解析)找最近的或者最快的一个物流点进行派送(将访问用户连接到最近的缓存服务器进行资源传输)。
CDN服务可用于确保快速可靠地分发静态内容,这些内容可以缓存,最适合在网速庞大的网络中存储和分发,这样就能把主干网络通道空出来给必须实时传输的动态内容,比如网络直播,降低时延。
我们举个例子,比如有一家英国公司,主要客户也在英国,如果给这家公司建立网站,那么,通常会把网站服务器放在英国。但是,会存在延迟这样的情况,影响用户们的网站访问体验,不过,如果延迟是由于网络阻塞导致的,那么这种延迟是可以改善的。具体怎么改善呢?
主要是通过提高点到点之间的带宽、优化网络路由来解决这些问题。举个例子,比如从伦敦到牛津,增加这两地之间光纤的数量,就是最容易的提高带宽方法。
注意,这里光纤数量主要是我们建设基础设施如海底光缆、铁路和高速公路的时候,同时铺设的。因此,这些年我们用的带宽一直在增加,你可以把增加网络贷款理解为拓宽交通公路,就是个花钱铺设的事情。
路由
我们前面提到过网络路由,路由是啥呢?其实路由解决的主要问题,就是两点之间的通信,究竟走什么线路的问题。举个例子,一旦伦敦到牛津的出现网络堵塞,系统还可以选择其他路由。有点像智慧交通,互联网的路由优化也类似。所以这些年,尽管流量越来越大,但是网络性能也是一直在改善的。
Messari创始人:ETH是Fintech3,而不是Web3:8月15日消息,Messari创始人Ryan Selkis发推称,“以太坊很棒,但我不认为社区中的大多数人有勇气在不妥协的情况下推动完全去中心化(USDC、OFAC、ESG相关妥协)。比特币仍然是贵金属。BTC、ETH对于未来十年都很重要,但老实说ETH是Fintech3,而不是Web3。”[2022/8/15 12:25:26]
通俗一点讲,就是给网站加速,部分网站由于原因使得打开变得极为缓慢,这就需要用CDN来进行加速。
CDN也是一类较为先进网络技术,解决内容在互联网上的分发问题。什么是内容分发网络呢?这与交通网络类似,也就是说,再快的飞机,也是有速度上限的,距离越远,延迟越长。网络也一样,如果距离远,就会出现网络延迟的情况。
所以如果某个欧洲用户想要访问美国网站的内容,CDN?就是在欧洲建立一个服务器,把美国的内容翻译到这个服务器。当欧洲用户进入域名访问时,由于CDN运营商知道这个用户访问来自欧洲系统,就把欧洲服务器的IP地址给这个用户,用户自然就访问到欧洲的服务器了。
CDN公司通常都是安全公司?
属于CDN一个重要特点,是CDN天生具备安全属性,因为cdn对哪些人在访问用户的网络非常清楚,因此,可以帮助客户阻挡网站攻击。网络安全是cdn公司的一项增值服务,尽管cdn的出现,远远早于云计算,但是目前大家已经把cdn归类成云计算,原因是用户通常会根据使用量,来对cdn服务进行按月付费和按照流量付费,这其实属于典型的云计算订阅模式,同时cdn的服务器也不一定就是传统的物理服务器,这些服务器可能也是来自公有云运营商的虚拟机,所以现在你完全可以把CDN看成一个云计算的IaaS服务。
注:本部分关于CDN的解释内容,部分来自于Youtube博主老科谈科技股
Cloudflare是个什么公司?
2010年,Cloudflare正式创立,总部位于美国旧金山。是一家以其CDN和安全服务为主营业务的公司,Cloudflare公司的主营业务是向客户提供基于反向代理的内容分发网络及分布式域名解析服务。从2009年开始,该公司由UnionSquareVentures等风险投资参投,百度也参与了Cloudflare的D轮融资,2019年8月15日,Cloudflare正式IPO。
Tim Draper创办的德雷珀大学将与唯链合作培训Web 3公司创始人:3月22日消息,由亿万富翁风险投资家、加密货币早期采用者Tim Draper创办的企业家培训中心德雷珀大学(Draper University)与区块链应用平台唯链(VeChain)达成合作,为那些有兴趣创办和扩展Web 3业务的人推出新的项目。
为期四周的VeChain Fellowship证书计划的课程内容包括创业精神和区块链基础知识,以帮助参与者基于VeChain Thor公链启动自己的Web 3创业公司。然后,德雷珀大学将挑选大约12名Fellowship计划成员继续参与VeChain Web 3加速器,每个参与者将获得10万美元的资金,以换取其创业公司5%的股权。
该计划的申请期现已开放。(CoinDesk)[2022/3/23 14:12:05]
除此之外,Cloudflare收购了一系列网络服务和安全公司,2014年收购StopTheHacker、CryptoSeal;2016年收购EagerPlatformCo.;17年及以后收购Neumob、S2Systems、Linc、Zaraz;今年收购了Vectrix和Area1Security.
Cloudflare和Web3的缘起
Cloudflare是比较早就开始支持Web3开发的CDN公司,它的官网是这么说的:Cloudflare是用户通往Web3的门户,通过Cloudflare,可以轻松访问IPFS和Ethereum网络。并且,官网提到,Web1.0让世界有了快速传播信息的能力,而Web2.0则让这些信息具有互动性。Web3.0,或Web3,被认为是互联网的下一次迭代,建立在IPFS和以太坊等去中心化的技术之上。
Web3应用Ramper获得300万美元种子轮融资:3月1日消息,Web3基础设施应用Ramper宣布获得300万美元种子轮融资,由Hashed领投,其他投资者包括Terra, Polygon, Goodwater Capital, Samsung NEXT, Golden Ventures, R7 Capital, 500 Global, Maple VC以及其他天使投资人。[2022/3/1 13:29:25]
图片来自Cloudflare官网
Cloudflare具备IPFSGateway,客户可以在继续使用HTTP协议的时候,同时享受IPFS的好处。
Cloudflare以太坊网关允许客户使用自己的域,可以通过HTTP的JSONRPC查询发送到自定义域名。Cloudflare可以管理、维护和监控Web3基础设施,构建者可以专注于重要的事情:构建Dapp。Cloudflare可以通过行业内领先的全球网络,创建基于Web3技术的安全、可靠和快速服务。
Cloudflare为什么会发生服务中断?
2022年6月21日的Cloudflare服务中断事件的官方解释:
2022年6月21日,Cloudflare服务中断,影响了19个数据中心的正常运行,而不幸的是,这19个地点处理了Cloudflare很大一部分全球数据。这次服务中断是由一个长期运行项目出现的问题引起的,这个项目主要是想提高最繁忙数据中心的弹性而发起的。是因为,更改了部分位置的网络配置,而导致服务中断,中断的具体时间是从UTC时间06:27开始,到了06:58UTC,第一个数据中心重新开始工作,到07:42UTC,所有数据中心都可以正常工作。根据用户在世界上的不同位置,可能无法访问依赖Cloudflare为基础设施的网站和服务,不过在其他没有受影响的地点,Cloudflare继续正常运行。
微软正在招聘一名加密业务开发总监,以执行其Web3战略:2月9日消息,微软正在招聘一名加密业务开发总监(Director of Business Development - Cryptocurrencies)。微软的人工智能和新兴技术业务开发团队正在寻求建立其未来的Web3战略。特别值得一提的是,根据该公司2月7日在其网站上发布的招聘信息,该职位将“为微软的Web 3.0战略奠定基础”。
此外,该职位的职责还包括为执行团队提供重要技术和产品路线图决策方面的指导,以及规划和实现微软的Web 3.0伙伴关系模型,其中包括基础设施和API。(Finbold)[2022/2/9 9:41:10]
对此次中断,Cloudflare深表歉意,这是Cloudflare的错误,而不是因为攻击或其他恶意活动的。
本次架构转型的背景
在过去18个月,Cloudflare一直致力于将所有最繁忙的数据中心的架构转型,让它们更为灵活、且更具弹性。目前,已经有19个数据中心,成功转换为此架构,Cloudflare内部称其为Multi-ColoPoP;这19个数据中心分别位于:阿姆斯特丹,亚特兰大,阿什本,芝加哥,法兰克福,伦敦,洛杉矶,马德里,曼彻斯特,迈阿密,米兰,孟买,纽瓦克,大阪,圣保罗,圣何塞,新加坡,悉尼和东京。
这个新架构被设计成Clos网络,它的一个关键部分是增加了一个额外的路由层,创造了一个网状的连接。这个网状结构使我们能够轻松地禁用和启用数据中心的部分内部网络,以便进行维护或处理问题。这一层由下图中标识为的Spine部分表示。
注:Closnetwork是一种多级交换网络,由CharlesClos于1953年首次正式使用该术语,它代表了实际多级电话交换系统的理想化表示。当物理电路交换的需求超过了单crossbarswitch的最大可实现容量的时候需要使用Closnetwork。Closnetwork的主要优势点在于:所需的交叉点数量远小于整个交换系统使用一个大的CrossbarSwitch来实现所需的交叉点数量。
这种新的架构显著改善了Cloudflare的可靠性,可以使Cloudflare能够在这些地方进行维护,并且不中断客户流量。不过,由于这些地点同时也承载着Cloudflare流量的很大部分,任何这里的问题都会产生非常广泛的影响,不幸的是,这就是6月21日Cloudflare服务终端的原因所在。
服务中断的时间线和影响
Cloudflare应用了名为BGP的协议(边界网关协议,BorderGatewayProtocol,是运行于?TCP?上的一种自治系统的路由协议?)。该协议的由运营商定义政策,决定有哪些前缀会被广播给对等的节点。这些策略有单独的组成部分,按顺序进行评估。最终的结果是,任何给定的前缀要么被广播,要么不被广播。政策的变化可能意味着以前会广播的前缀不再被广播,被称为"撤销",这些IP地址将不再能在互联网上正常运行。
运营商制定了某种策略,决定某些路由前缀可以被广播
前缀通告策略更改时,术语的重新编排,导致Cloudflare必须撤回前缀的关键子集。
政策的变化可能意味着以前会广播的前缀不再被广播,Cloudflare工程师在受影响的数据中心,对有问题部分进行恢复时,就遇到了额外困难,不过Cloudflare有处理此类问题的备份程序。
03:56UTC:Cloudflare将更改部署到第一个位置,所有位置都没有受到此次更改的影响,因为这些位置使用的旧的架构。
06:17:部署更改到Cloudflare最繁忙的地点,但是没有部署到具备MCP体系结构的位置。
06:27:部署到达了启用MCP的位置,并且更改已部署到关键部位。这是服务中断事件开始的时候,这个时候,19个数据中心迅速离线。
06:32:Cloudflare内部宣布本次服务中断事件。
06:51:在路由器上进行的首次更改,以验证根本原因。
06:58:排查故障,找出根本原因,还原出现问题的部分
07:42:最后一次还原已完成,网络工程师开始检查对方的更改,还原状态,此时问题偶尔重新出现,因此延迟了一点。
08:00:服务中断事件结束。
这些数据中心的重要性,可以从下图全球范围内处理的成功HTTP请求的数量中清楚地看出:
尽管这些出问题的数据中心,仅占Cloudflare总网络的4%,但这次中断影响了总请求的50%;
(本部分有小部分代码,此处略去,感兴趣的网络工程小伙伴可查看原文:
https://blog.cloudflare.com/cloudflare-outage-on-june-21-2022/)
补救和后续步骤
本次服务终端事件造成了广泛且严重的影响,Cloudflare一贯对可用性是非常重视,目前已经提出了几个需要改进的领域,而后将继续努力,发现可能潜在导致服务终端的所有问题。
流程:虽然MCP计划旨在提高可用性,但我们在更新这些数据中心方面的程序性差距,导致造成了严重影响。虽然Cloudflare确实为设计了交错策略,但是它并不完美,部署过程和自动化中,需要包含MCP的测试和具体部署过程,以确保不会产生意外后果。
架构:路由器配置的错误会阻止正确的路由广播,从而阻止了正常流量和基础设施的运行。Cloudflare将会重新设计路由广播的策略语句,防止排序的错误。
自动化:Cloudflare自动化套件中有可以降低此事件负面影响的部分。Cloudflare将专注于自动化改进,为网络配置的推出强制实施改进的交错策略,并提供自动"提交-确认"回滚。前者将大大降低整体影响,后者将大幅度减少事件中的解决时间。
结论
尽管Cloudflare在MCP架构设计上投入了大量资金,提高服务可用性,但在本次服务中断事件中,让客户失望了。对于服务中断期间,无法访问互联网和数字资产的客户,以及所有用户,Cloudflare深表歉意,已经开始着手进行所有的改进和优化,努力确保类似情况不会再次发生。
CDN解释部分:Youtube-老科谈科技股-Cloudflare
企辰科技:云、CDN、IDC三个概念的区别是什么?
https://techcrunch.com/2022/06/21/cloudflare-outage-crypto-exchanges/
https://blog.cloudflare.com/cloudflare-outage-on-june-21-2022/
https://techcrunch.com/2022/06/20/cloudflare-outage-knocks-popular-services-offline/
https://en.wikipedia.org/wiki/Cloudflare#cite_note-13
https://en.wikipedia.org/wiki/Cloudflare
https://baike.baidu.com/item/%E8%BE%B9%E7%95%8C%E7%BD%91%E5%85%B3%E5%8D%8F%E8%AE%AE/2987527?fromtitle=BGP%E5%8D%8F%E8%AE%AE&fromid=1989644&fr=aladdin
https://www.cloudflare.com/zh-cn/web3/
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。