summary
2020-08-30 10:04 UTC,CenturyLink/Level 3 位于加拿大密西沙加(Mississauga)的数据中心发出了一个错误的 Flowspec 公告(RFC 5575,用于通过 BGP 分发类防火墙规则),该公告阻止 BGP 在 CenturyLink 网络内部正确建立会话,引发路由翻摆与级联失效,全球互联网流量下降约 3.5%,是有记录以来最大的网络中断之一。Amazon、Twitter、Xbox Live、Reddit、Hulu、Steam、Discord 等大量服务受影响。
timeline
10:04 UTC 错误 Flowspec 公告发出,BGP 会话建立被阻断,控制面连接中断。路由翻摆使问题在 Level 3 及其对等方之间循环。CenturyLink 通过全局配置变更屏蔽该 Flowspec 公告,使 BGP 重新开始正确路由。约 11:30 EDT 服务恢复。但因部分路由器持续公告错误路由、且不遵守撤销,CenturyLink 请求其他 Tier 1 退对等(de-peer),重置全部设备并清空 BGP 表,整个过程约 7 小时(约 12:13-18:58 UTC)。
root_cause
根因是密西沙加数据中心发出的错误 Flowspec 公告。该 Flowspec 本是为某客户屏蔽特定 IP 的常规内部用途,却误用通配符而非限定到具体 IP,配置错误加上过滤机制失效,使 BGP 会话被持续断开,控制面连接随路由翻摆陷入循环(类似无限循环)。
amplifiers
① Flowspec 即发即全网:BGP 扩展的防火墙规则秒级推满网络。② 通配符误配:本应限定单 IP 却用通配,影响范围被放大。③ 循环失效:BGP 终止后重新建立又会收到含错误规则的公告,反复断开。④ 客户单归风险:仅以 CenturyLink 为唯一连接或在其撤销后仍公告路由的客户 100% 受影响。
mitigation
全局屏蔽错误 Flowspec 公告;请求对等方 de-peer 并重置全网设备重建干净 BGP 表。后续强化 Flowspec 变更的审批、过滤与灰度。
lessons
Flowspec 等全网即时策略必须有严格审批与通配符限制;BGP 会话需最大前缀限制;客户应多归(multihome)以避免单 transit 故障全断。
checklist
① Flowspec 变更强制审批+前缀范围校验(禁通配)。② BGP 会话配置最大前缀数上限。③ 客户网络多 transit 冗余。④ 提供一键全局屏蔽危险公告的能力。