因 BGP 路由错误,北美电信运营商 Level 3 “宕机”

tech2022-08-26  119

北京时间 8 月 31 日,美国最大电信运营商之一 CenturyLink/Level 3 由于 BGP 路由错误,导致北美大量用户无法访问网络。该问题引起了连锁反应,造成许多服务瘫痪,涉及 Twitter 、Xbox Live、Garmin、Steam、Discord 和 Blizzard 等。根据美国 CDN 供应商 Cloudflare 统计,该问题最终导致了全球 Web 流量下降了 3.5 个百分点 。

 

CenturyLink/Level 3 报告称,由 Mississauga 数据中心发出的存在问题的 Flowspec 公告阻止边界网关协议 (BGP)跨整个 CenturyLink 网络建立连接。

 

Flowspec 是 BGP 协议的扩展,它允许各公司使用 BGP 路由在其网络中分发防火墙规则。在处理安全事件(例如 BGP 劫持或 DDoS 攻击)时,通常使用 Flowspec 公告,因为它允许各公司更改整个网络,以便在几秒钟内做出反应并缓解攻击。不过,一旦 Flowspec 出错,就有可能导致 BGP 路由无法通信,就像这次故障一样。

 

要知道,CenturyLink/Level 3 拥有全球规模最大和最复杂的 AS,即自治系统,Autonomous system,是指在一个(有时是多个)实体管辖下的所有IP网络和路由器的全体,它们对互联网执行共同的路由策略。CenturyLink/Level 3 的 Peer 影响的路由表数量庞大。所以这次 Flowspec 配置异常,影响范围非常广泛。

 

我们也在第一时间监测到了北美地区网络传输的异常,并重点关注了在北美地区使用声网服务的客户的传输质量。

 

一般来讲,受 BGP 协议本身广播和收敛速度影响,故障扩散后需要数小时以上的时间才能逐渐恢复。此次 CenturyLink 用了大约 7 小时的时间才恢复服务。此类故障从技术上很难100%根除,而且是无法预知的,因此为了避免此类故障影响用户使用,我们在设计声网Agora SDK 及 Agora SD-RTN™ 时,就已经做好了“主动防御”措施。

 

一方面,我们在声网Agora SDK 中已经加入实时动态分配策略,一旦感知到网络故障,会将用户的连接分配到可用节点上,可以在数秒内恢复用户的正常访问。

 

在监控与网络感知方面,声网也有包括多路传输和动态传输策略在内的诸多应对。在用户使用我们的传输服务的最开始,我们会自动生成全网的传输策略。在这次网络故障期间,如果 Agora SD-RTN™ 网络内有流量会经过 Level 3 的节点,我们的服务会自动感知到故障线路,动态更新传输策略,并自动为他选择最优的传输链路。可以在用户无感知的情况下,避开故障路线。

 

因为有以上预案,即使在 Level 3 网络暂时不可用的情况下,我们仍能保证绝大部分客户的服务可用。当然,如果用户本身是 Level 3、或只能从 Level 3 连接互联网,那么仍然会有一些概率出现连不上的问题。

 

用户业务无小事,没有技术可以做到100%稳定,但声网会始终保持诚惶诚恐、如履薄冰的心态,不断从技术、服务、机制、流程上加强,努力去追求为用户提供最可靠的服务。

最新回复(0)