8 月 30 日,美国运营商 CenturyLink的AS3356 骨干互联网发生一次严重故障,导致众多互联网应用服务瘫痪,致使全球互联网流量下降约3.5%。根据CenturyLink的故障报告,此次故障是其IP NOC错误配置BGP Flowspec引起的。 CenturyLink的AS3356 骨干互联网是全球领先的 Tier 1 骨干互联网之一,此次故障对全球互联网造成了不同程度的影响。

背景介绍

CenturyLink是美国主要的固定网络服务提供商之一,收购了美国多家知名的骨干互联网服务提供商,成为全球最大的Tier 1 骨干互联网服务提供商。2010年收购Qwest (AS209),2012年收购Savvis (AS3561),2016年收购Level3 AS3356,Level3 在2011年已经将Global Crossing AS3549收归麾下。而Level3 AS3356和 Global Crossing AS3549都是排名在美国传统运营商AT&T、Verizon和Sprint之前的全球Tier1 骨干互联网。CenturyLink收购Level3之后进行了网络整合,将AS3356作为其全球一级骨干网,包括AS3549等IP网络都成为AS3356的下游网络。因此,CenturyLink成为全球骨干互联网的巨无霸之一,在北美、南美、欧洲和非洲都有较强的网络覆盖,是全球电信运营商、ISP、CDN公司最主要的上游主机托管(Host)、互联网转接(IP Transit)服务提供商之一。

CenturyLink美国网络覆盖
图1  CenturyLink美国网络覆盖

 

CenturyLink/Level3 AS3356
图2:CenturyLink/Level(3) IP网络(来自bgp.he.net)图2:CenturyLink/Level(3) IP网络(来自bgp.he.net)

 

故障发生

8月30日,CenturyLink IP NOC对其在密西沙加(靠近加拿大多伦多)的一处数据中心进行BGP Flowspec部署时,由于配置错误,导致全球Web服务流量下降3.5%,后经过7个多小时(官方统计)的紧急处理,全球业务恢复正常。
 
8月30日 UTC 10:03开始,Amazon、Twitter、Microsoft (Xbox Live)、EA、Blizzard、Steam、Discord、Reddit、Hulu、Duo Security、Imperva、NameCheap、 OpenDNS等众多大型ISP公司的服务出现异常,CDN公司的网络监控中心出现大量的“522 Error”,网络社交平台上也开始出现众多用户反馈多个服务网站异常。
全球各大运营商以及ISP公司发现,与AS3356直连的链路出现大量的Error,同时网络上出现大量来自AS3356的BGP路由更新的通知,具备多个上游出口的ISP开始将流量切换到除AS3356外的其他上游网络供应商中,甚至关停与AS3356的BGP互联。
下图3显示Cloudflare与6家全球Tier 1 骨干互联网的流量图,其中红色部分为通达CenturyLink AS3356的流量。CenturyLink故障发生后,Cloudflare将其流量切换到其他上游Tier 1网络,图3底部绿色和顶部淡绿色两家网络的流量占比明显增大。但切换后,还存在少量流经CenturyLink AS3356网络的流量。这是因为有一些web服务器只托管在CenturyLink,以CenturyLink作为唯一的上游互联网服务提供商,导致其流量无法绕开CenturyLink  AS3356网络。 
CenturyLink 网络故障
图3 Cloudflare至6家Tier 1IP骨干网络的流量图,其中红色部分为CenturyLink AS3356,图片来源:Cloudflare

 

故障原因

故障发生后,CenturyLink 公司也紧急开展配置修复操作,通知与其免费对等互联(Free Peering)的所有Tier-1公司关闭与AS3356互联的BGP邻居关系,同时切断所有与其互联的流量(这是大型网络历史上首次采用此种处理方式的案例)。同时也向外界发布此次故障的大概原因是部署BGP Flowspec的时候出现部分配置错误。
CenturyLink未细说具体的故障原因,但是结合网络上相关的故障现象分析,很可能的一个原因就是部署Flowspec时,进行了路由封堵和重定向,从而导致AS3356网络内出现路由环路。
图4是网络用户上传的一张在故障发生时做的路由追踪,发现AS3356网内出现多个路由环路;同时由于网内路由不稳定,导致全网的边界路由器不停地向外更新路由。
CenturyLink网络故障-路由追踪
图4:CenturyLink网络故障时路由追踪图 (来自网络)

   

图5是当天路由更新记录,正常情况下BGP路由更新文件大小一般在1M-2M。但是在CenturyLink网络故障期间,路由更新文件达到29M。从该图也可以判断故障历时大概是9个小时,即从路由更新文件异常变大到恢复正常的时间。
BGP路由更新文件异常变大,可能导致路由器的CPU利用率过高,甚至使CenturyLink IP NOC工程师无法登陆设备,进而导致CenturyLink IP NOC无法主动关闭BGP邻居,需要通知免费对等互联的运营商协助关闭BGP邻居。当大部分BGP邻居都关闭后,CPU利用率就降下来了,设备恢复正常登陆,从而可以进行逐步的业务恢复操作。当然这只是推测。
CenturyLink 网络故障-BGP路由更新
图5:CenturyLink网络故障导致BGP路由更新文件变大(来自archive.routeviews.org)

 

BGP Flowspec

CenturyLink指出此次故障的原因是BGP Flowspec配置错误。

BGP Flowspec是一种在BGP协议基础上扩展的主要用于防止DoS/DDoS攻击的解决方案。

早前IP网络上应对攻击主要有两种方式:基于源地址封堵的uRPF 和基于目的地址封堵的RTBH。这两种手段对攻击流量的过滤都非常有限,同时应对方法也很单一,不是将流量丢弃,就是通过修改下一跳,将攻击流量引入清洗系统。

BGP Flowspec提供了丰富的过滤条件和处理动作,提供多达12种匹配条件(包含源、目的地址、端口、协议、数据包长度等12种,此12种匹配条件还可以部分组合使用)以及12种处理动作(包含下一跳重定向、限流、DSCP标记等),相当于将防火墙的基本功能嵌入到了路由器中。

正是因为BGP Flowspec提供了丰富的功能,从而实施起来就更加的复杂,如果某一个过滤条件或者处理动作出现错误配置,就像此次CenturyLink公司的故障一样,可能就会导致全网出现问题。也正是因为存在如此巨大隐患,因此很少公司会尝试去部署该功能,甚至有部分前期使用该功能多年的ISP公司,也开始慢慢地弃用该功能。

正如动态IGP协议OSPF,功能非常强大,几乎支持任何场景,但也正是因为其复杂的功能,导致大型网络都纷纷抛弃该协议,转向ISIS。目前,仅有部分小型网络或者部分末梢小型接入网部署OSPF。当然OSPF的复杂性导致其能支撑的设备数限制,也是一个原因。

 

故障影响

此次CenturyLink网络故障,不仅严重影响AWS、Garmin、Steam、Discord和Blizzard等众多互联网应用服务,致使全球互联网流量下降约3.5%。鉴于CenturyLink AS3356在全球骨干互联网中的地位,其他骨干互联网也受到一定的影响。
如图6所示,Oracle 全球互联网监测平台监测到CenturyLink/Level3 AS3356 至NTT AS2914、Telia AS1299、Tata Communications AS6453、Cogent AS174等全球Tier 1 骨干互联网的流量几乎被切断,网络时延大幅上升。 
CenturyLink 网络故障-AS3356时延和流量图
图6 CenturyLink 网络故障-AS3356 网络时延和流量图

 

 Oracle 全球互联网监测平台也监测到全球其他Tier-1网络在故障时期均出现流量下降、时延增加或抖动的现象(如图7所示)。

 

CenturyLink 网络故障 - Tier 1网络流量下降
图7 CenturyLink 网络故障影响全球Tier 1网络

 

CenturyLink网络故障对各大洲的运营商网络流量均有一定影响。图8 显示南美洲巴西Algar Telecom、欧洲英国电信BT、澳洲澳大利亚电信Telstra、非洲MTN、亚洲沙特Integrated Telecom等网络受此次故障影响情况。这些网络至CenturyLink/Level3 AS3356的流量都出现下降。比如对于沙特Integrated Telecom来说,CenturyLink/Level3 AS3356和意大利电信AS6762都是其主要互联网转接(IP Transit)服务提供商,在CenturyLink网络故障时,大部分流量通过意大利电信AS6762转接。

CenturyLink 网络故障对各大洲运营商影响
图8:CenturyLink 网络故障对各大洲运营商影响

 

CenturyLink网络故障对中国三大运营商也造成一定影响。图9显示中国联通AS4837、中国电信AS4134、中国电信CN2 AS4809、中国移动AS58453在故障期间到CenturyLink/Level3 AS3356的流量都大幅下降。除中国电信AS4134与CenturyLink/Level3 AS3356是对等互联外,其他中国网络(包括中国电信CN2 AS4809)都把CenturyLink/Level3 AS3356作为上游互联网转接(IP Transit)服务提供商之一。

CenturyLink 网络故障-对中国运营商的影响
图9:CenturyLink 网络故障对中国运营商网络的影响

 

总结

此次CenturyLink 骨干互联网 BGP Flowspec配置错误引起的网络故障是全球范围内比较大的骨干互联网故障之一。这也说明了全球互联网的脆弱性,一家公司的网络故障、失误或人为破坏可能引发全球网络连锁反应,造成严重的网络问题。

但此次BGP Flowspec配置错误与其他BGP路由泄露或路由劫持引发的故障又不太一样。此次故障主要影响的是故障网络本网的客户及通达该网络的流量,对其他运营商的网内业务影响不大。而BGP路由泄露或路由劫持会影响他网流量的正常路由。

在互联网世界里,网络越大,影响会越大,责任也就越大。