Verizon和BGP Optimizer如何离线设置


一次主要的路由泄漏影响了包括Cloudflare在内的大型Internet部门


发生什么事了


6月24日,世界标准时间10:30,互联网瘫痪:宾夕法尼亚州北部的一家小公司从许多路线中涌入大量流量,这些流量经过大型提供商Verizon(AS701),而导航仪也可以成功地将多车道的车辆从多车道高速公路发送到狭窄的街道。 结果,Cloudflare上的许多网站和许多其他提供商都遇到了访问问题。 这根本不应该发生,因为Verizon不应将这些路由发送到整个Internet。 要了解它是如何发生的,请继续阅读。


以前我们已经写过此类事件 ,它们不时发生,但是这次我们感到全世界的后果。 Noction的BGP Optimizer加剧了该问题。 它具有将接收到的IP前缀拆分为更小和更具体的IP前缀的功能。 例如,我们的IPv4路由104.20.0.0/20分为104.20.0.0/21和104.20.8.0/21。 好像宾夕法尼亚州的路标已被其他两个取代:宾夕法尼亚州的匹兹堡和宾夕法尼亚州的费城。 通过将大IP块划分为小IP块,网络可以管理其内部的流量,但是这种分离不应公开。 否则,会出现此类麻烦。


为了解释接下来发生的事情,让我们首先回顾一下互联网的工作方式。 本质上,Internet是由称为自治系统的网络组成的网络。 每个自治系统都有其自己的唯一标识符。 所有网络都使用边界网关协议(BGP)相互连接。 BGP连接这些网络并形成Internet结构,流量在该Internet结构中从您的Internet提供商传递到世界其他地方的热门网站。


网络通过BGP交换有关路由的信息,即:如何从任何地方到达路由。 这些路线可以是特定的(例如地图上的特定城市),也可以是一般的(例如区域)。 然后发生了麻烦。


宾夕法尼亚州的一家Internet服务提供商( AS33154 -DQE Communications)在其网络上使用了BGP优化器,这意味着其网络上有许多特定的路由。 特定路线优先于一般路线(例如,在同一导航器中,到白金汉宫的路线会比到伦敦的路线更具体)。


DQE向其客户( AS396531 -Allegheny Technologies Inc)提供了这些特定的路由,然后从那里到达了传输提供商( AS701 -Verizon),后者在Internet上承载了这些“最佳”路由。 它们似乎是最优的,因为它们具有更多的细节和细节。


所有这些都不应超出Verizon。 尽管有有效的方法来防止此类崩溃,但Verizon缺少过滤器已导致崩溃,从而影响了许多服务,如Amazon,Linode和Cloudflare


结果,Verizon,Allegheny和DQE吸引了大量试图通过其网络访问这些服务的用户。 它们不是为如此强大的流量而设计的,从而导致中断。 即使有足够的资源,DQE,Allegheny和Verizon也不应该告诉所有人有关Cloudflare,Amazon,Linode等的理想途径。



BGP Optimizer的BGP泄漏过程。


在发生故障的最严重时刻,我们发现损失了约15%的全球流量。



事件期间的Cloudflare流量水平。


如何防止泄漏?


有几种方法。


对于BGP会话,可以为接受的前缀设置硬限制,并且如果前缀数量超过阈值,则路由器将终止会话。 如果Verizon对前缀有这样的限制,则不会发生任何事情。 对于像Verizon这样的提供商,安装它将毫无价值。 为什么没有限制? 我有一个版本:过失和懒惰。


防止此类泄漏的另一种方法是使用IRR过滤。 IRR(Internet路由注册表)是Internet路由的分布式数据库,网络在其中添加了条目。 其他网络运营商使用这些IRR条目为与其他网络的BGP会话创建特定前缀的列表。 如果使用IRR过滤器,则这些网络都不会接受错误的特定路由。 令人难以置信的是,尽管IRR过滤已经使用了24年以上(并且有据可查),但Verizon在与Allegheny Technologies的BGP会话中根本没有这种过滤。 IRR过滤器不会使Verizon付出任何代价,也不会以任何方式限制其服务。 再说一次-过失和懒惰。


去年,我们实施并部署了RPKI平台,该平台可防止此类泄漏。 它根据源网络和前缀大小设置过滤器。 Cloudflare宣布最大长度为20的前缀。RPKI表示无论路径如何,都无法接受更特定的前缀。 为了使该机制起作用,必须在网络上启用BGP Origin Validation。 例如,许多提供商已经在其网络中成功使用了AT&T


如果Verizon使用RPKI,他们将看到建议的路由无效,并且路由器将自动拒绝它们。


Cloudflare建议所有网络运营商立即部署RPKI



使用IRR,RPKI和前缀限制来防止路由泄漏。


所有这些建议在MANRS( 路由安全性的相互同意的规范 )中都有很好的描述。


如何解决问题


Cloudflare网络团队联系了受影响的网络AS33154(DQE Communications)和AS701(Verizon)。 这并不容易-也许是因为这一切刚开始时,是在美国东海岸的一个清晨。



给Verizon的一封信的屏幕截图。


我们的一位网络工程师迅速联系了DQE Communications,经过短暂的延迟,我们与可以解决问题的一位工程师建立了联系。 在我们的电话支持下,DQE能够停止向Allegheny Technologies Inc.发送“优化”路线。 我们感谢他们的帮助。 一切恢复稳定并恢复正常。



尝试联系DQE和Verizon支持服务的屏幕快照


不幸的是,尽管我们一直试图通过电话和电子邮件与Verizon联系,但在撰写本文时(事件发生已超过8个小时),没有人回答我们,而且我们不知道他们是否在做任何事情。


我们Cloudflare不想重复此操作,但不幸的是,为此所做的工作很少。 现在该行业应该采取更有效的措施来确保路由安全,例如使用RPKI之类的系统。 我们希望主要供应商会关注Cloudflare,Amazon和AT&T并开始检查路线 。 Verizon对您来说尤其如此。 我们仍在等待答案。


尽管我们无法影响所发生的事情,但我们对服务中断表示歉意。 我们关心客户,在发现问题后几分钟,美国,英国,澳大利亚和新加坡的工程师与我们联系。


其他标有BGP的文章。

Source: https://habr.com/ru/post/zh-CN457712/


All Articles