摘要

  • 事件边界固定:2017 年 11 月 6 日,独立监测将一次大规模 Comcast 可达性中断与 Level 3 Communications 和 AS3356 相关的路由变化联系起来。ThousandEyes 将其观察到的主要 Comcast 影响大致定在太平洋时间 09:45 至 11:25,路由不一致从约 09:30 开始可见。[2] 当时的报道引述 Level 3 的声明称是配置问题导致了中断。[1][5][6] 本文不将这一事件与 Level 3 独立的 2016 年故障、CenturyLink 2018 年 12 月的 911 故障或 2020 年 8 月的 AS3356 FlowSpec 事件混为一谈。
  • 观察到的机制:ThousandEyes 报告了超过一千个 Comcast 子公司和客户前缀的更具体路由宣告,并观察到此前经过 Comcast 的 AS7922 骨干网的流量被引导经过 Level 3 AS3356,同时丢包和时延增加。[2] 这是路由策略失效及其转发后果的有力证据。它并未揭示确切的内部命令、路由策略对象、部署过程或受影响用户的完整集合。
  • 责任边界:Level 3 控制着其配置生成、审批、部署范围、BGP 导出策略、路由监测、回滚权限和事件沟通。对等网络和下游网络控制着导入策略、客户锥体预期、前缀限制、异常检测和故障转移选择。Comcast 控制着用户沟通以及部分面向用户的恢复路径。客户和终端用户能够观察到故障,但无法修复域间路由状态。
  • 控制教训:一个配置可以语法上有效,却仍违反运行不变量。骨干网变更控制必须在部署前测试预期可达性、导出范围、路径变化和爆炸半径,然后将实时路由状态和用户可达性与这些预期进行比较。Batfish 用这一事件论证应进行基于模型的网络验证,而不是仅依赖人工审查的自信。[3]
  • 现实层:注册机构和 ASN 记录有助于识别资源和责任运营商,但它们并不执行 BGP 策略。路由收集器显示正在运行的网络宣告和接受了什么;转发探针显示流量是否到达预期目的地。问责取决于连接预期策略、运行中的宣告、数据包路径、回滚记录和用户可见的恢复。

本事件必须限定在 2017 年 11 月 6 日

可问责还原的第一项要求是明确所审查的是哪个事件。Level 3 以及后来的 CenturyLink 或 Lumen 组织出现在多起重大故障记录中。将这些记录合并会得到更长的叙事,但得出的结论会更弱,因为机制、控制所有者和证据各不相同。

本文关注 2017 年 11 月 6 日星期一观察到的 BGP 事件。ThousandEyes 报告称,其使用 Comcast 连接的员工遇到了涉及 Slack、Gmail 和 Webex 等服务的故障。其测量将主要 Comcast 影响定在太平洋时间约 09:45 至 11:25。它还识别出从约 09:30 开始的 BGP 不一致,早于其描述的用户可见完整区间。[2]

Wired 报道称,Level 3 的一次配置错误影响了美国部分地区的互联网接入,且该提供商表示问题纠正后服务已恢复。[1] 其他当时的报道描述了多个接入提供商出现广泛投诉,并引述 Level 3 以配置问题为核心的解释。[5][6] 这些报道确立了广泛的公共影响信号,但投诉地图和同时出现的报道并不能证明每个网络都因同一技术原因而故障。

ThousandEyes 提供了路由状态与用户体验之间最强的公共桥梁。其分析描述了 Comcast 和 Level 3 路径内的丢包、与 Comcast 相关目的地的路由变化,以及在 Level 3 撤回泄漏路由后趋向正常。[2] APNIC 后来的年度路由安全回顾也将这一事件列为 2017 年值得注意的大规模 BGP 事件之一。[4]

三项排除至关重要。

第一,该事件不是 Level 3 的 2016 年故障。那一独立事件后来引起监管和行业审视,且涉及不同机制。[8] 第二,它不是 2018 年 12 月扰乱传输和 911 服务的 CenturyLink 故障。第三,它不是 2020 年 8 月的 AS3356 FlowSpec 事件;在那一事件中,流量过滤操作通过骨干网传播并造成不同的故障模式。

共同的运营商历史可以支持比较性治理问题。它不能用一件事的证据替代另一件事。2017 年的结论必须建立在 2017 年的路由观察、提供商声明和当时的用户路径证据之上。

AS3356 让一次配置变更成为跨网络事件

自治系统是向互联网呈现共同路由策略的一个网络或一组网络。BGP 允许自治系统交换可达性信息,包括它们能够到达的前缀以及路径中所代表的自洽系统序列。RFC 4271 定义了协议机制以及运营商应用本地策略的决策框架。[14]

Level 3 运营 AS3356,一个主要的全球转接网络。RIPEstat 记录为该 ASN 提供公共资源和路由视图。[10] ASN 记录有助于识别与路由观察相关联的运营商。它并不显示事件期间生效的每一份私有对等合同、客户关系或路由器策略。

规模改变了配置的问责属性。一个小型企业可能只向一个提供商宣告一组有限的前缀。一个大型转接网络则与接入提供商、内容网络、企业和其他运营商交换路由。处于该位置的策略错误会影响远超运营商直接零售客户的范围。

互联网没有一个审批每条路由的中央控制器。每个网络自行决定宣告什么和接受什么。这一设计支持独立运行,但同时也意味着,当多个网络根据本地策略认为某个不良宣告可接受时,它就可能传播。后果取决于前缀具体程度、路径属性、商业关系、过滤器和路由选择的时机。

ThousandEyes 描述 Level 3 宣告了与 Comcast 子公司网络和客户相关的更具体路由。原本经过 Comcast 的 AS7922 骨干网的流量被观察到改为经过 AS3356。[2] 更具体路由之所以重要,是因为转发通常遵循最长匹配前缀。即使更宽泛的路由仍然可见,覆盖更窄地址块的宣告也可能吸引流量。

这一证据并不意味着某台路由器支配了整个互联网。它意味着一个互联广泛的网络发起或传播了信息,且足够多的其他网络接受了这些信息,从而产生显著的转发变化。每一次接受都是一项本地策略决策,但 Level 3 控制着引入所观察到的路由状态的变更。

这就是为什么骨干网配置不能被当作内部行政细节。它的实际输出是一组被其他自治系统消费的断言。互联足迹越大,建模导出范围、分阶段部署并验证外部效果的义务就越强。

BGP 证据与转发证据回答不同的问题

路由收集器和用户路径探针观察到事件中相关但不同的部分。

路由收集器记录参与对等体的 BGP 更新。RouteViews 存档提供 2017 年 11 月的历史更新数据。[11] RIPE NCC 的路由信息服务同样从世界各地观测点收集路由信息。[12] CAIDA BGPStream 提供分析 BGP 事件的工具和数据接口。[13]

这些系统有助于还原某个前缀何时被宣告或撤回、在收集器上出现了哪个源和路径,以及可见性如何随时间变化。它们无法看到每台路由器中的每条路由。在一个收集器上不可见的路由仍可能存在于别处。一条可见的路由未必承载大量流量。本地优先级、流量工程和私有对等可能产生公共收集器馈送中未完全体现的转发行为。

转发和应用测量增加了另一层。ThousandEyes 报告了来自分布式代理的路径变化、时延和丢包。[2] 这些测量显示选定数据包在选定位置所经历的情况。它们比仅凭控制平面更新更接近用户影响,但仍不代表每个用户或每条路径。

可问责的调查应将各层结合起来:

  • 变更前的预期路由策略;
  • 确切的配置差异或所生成的策略;
  • 内部观察到的 BGP 宣告和撤回;
  • 独立收集器观察到的宣告;
  • 来自不同网络的转发路径;
  • 丢包、时延和成功事务;
  • 客户投诉和提供商状态更新;
  • 回滚或纠正性变更;
  • 对路由和可达性恢复的独立确认。

若没有这种结合,团队可能对事件进行错误分类。一条路由更新可能可见却未造成实质性危害。丢包可能在无 BGP 原因时发生。一个应用可能因为 DNS、身份或云依赖故障而失败,而其路由保持稳定。

2017 年的证据之所以有说服力,是因为路由和转发观察指向同一方向。ThousandEyes 同时看到路由不一致、AS 路径变化以及时延和丢包增加。[2] 提供商将中断归因于配置。[1][5][6] 这种组合支持 BGP 错误配置的结论,同时对内部实现保留不确定性。

同样的纪律也适用于恢复。在一个收集器上看到撤回,不足以宣布每条用户路径均已恢复。运营商应确认路由状态稳定、路径选择符合预期、丢包减少、时延正常化,并确认相关地区内的应用事务成功。

路由泄漏比劫持更准确,但仍需归因

公开讨论常混用路由泄漏和路由劫持。这一区别很重要,因为它影响关于意图、授权和预防的主张。

RFC 7908 将路由泄漏定义为路由宣告传播超出其预期范围。[16] 该文件基于网络之间的关系以及路由传播方向描述了不同类别。当客户将学自提供商的路由导出给另一提供商、内部路由外泄,或网络宣告了违反预期商业关系的信息时,都可能发生泄漏。

劫持常指未经授权的源或路径吸引流量,有时带有恶意。2017 年 11 月 6 日的公开证据支持无意的配置失效,而非恶意意图。当时的报道描述配置问题,ThousandEyes 使用路由泄漏术语。[1][2][5][6]

即便是泄漏标签也应与证据挂钩。公开观察者并未掌握 Level 3 的完整策略意图、合同和路由器配置。ThousandEyes 观察到与 Comcast 正常路由不一致的更具体宣告和路径变化。[2] 这种行为与泄漏一致,且具名分析师如此定性。本文应保留这一归因,而不是声称能够触及私有意图。

术语也影响控制分析。如果核心问题是未经授权的源,路由源验证可以解决其中一部分。如果源仍是授权的,但导出范围违反关系策略,源验证仍可能将该路由报告为有效。如果一条更具体路由在技术上被授权覆盖但在运行上错误,接受它就需要其他策略控制。

因此,最稳妥的结论是有边界的:Level 3 承认了配置问题;独立测量观察到与 AS3356 相关的路由变化和转发受损;分析师将事件定性为路由泄漏。来源并不支持破坏、凭证泄露、拦截意图或某一条确切内部命令。

这一边界不是回避。它防止技术不确定性变成指控。它也让补救聚焦于证据所支持的控制:变更验证、导出策略、对等过滤、路由监测和回滚。

语法上有效的配置仍可能在运行上错误

网络变更系统常检查配置文本是否可解析以及设备是否接受。这些检查是必要的,但它们不能证明所产生的网络行为符合策略。

一个 BGP 配置对路由器可能有效,却违反运行不变量。它可能将路由导出给错误的邻居、接受预期集合之外的客户路由、以非预期可达性创建更具体路径、改变优先级或移除过滤器。路由器会执行所收到的命令。失败在于语法有效性与预期网络状态之间的差距。

Batfish 对 Level 3 事件的分析主张在部署前针对预期属性测试网络配置。[3] 基于模型的验证可以询问:重要目的地是否仍可达、是否出现被禁止的路径、路由是否超出预期范围、冗余能否在故障后幸存,以及变更是否影响比预期更多的设备或前缀。

这并不意味着模型可以完美再现公共互联网。外部对等体拥有私有策略,路由状态持续变化,有些关系并未记录。有用的模型应当明确这些限制。

因此,变更控制链应包含若干检查:

  1. 来源控制:拟议配置或策略对象以可审查差异形式存储,并具有已识别所有者。
  2. 模式与语法验证:工具确认配置被接受,并引用了有效对象。
  3. 策略不变量:自动化测试检查导出范围、接受的前缀、预期源、路径约束和可达性。
  4. 爆炸半径计算:系统估计受影响的路由器、会话、前缀和客户类别。
  5. 代表性预演:在足够接近生产的拓扑和策略状态下测试变更,以暴露有意义的冲突。
  6. 金丝雀部署:在更广泛推广前,先让一个有限、可观察的子集接收变更。
  7. 独立遥测:路由收集器、对等视图和转发探针比较预期与观察到的效果。
  8. 自动停止条件:非预期的路由数量、路径变化、丢包或时延会阻止进一步部署。
  9. 回滚权限:具名操作员可以逆转变更,而无需等待漫长的审批链。
  10. 变更后验证:团队证明预期路由和服务保持稳定。

没有任何单一检查能消除风险。这些检查共同降低了一次行政错误演变为骨干网范围事件的机会。

问责需要证明这些控制存在且运行过。一份只说发生了配置错误的事后报告,并不能回答该变更是否经过同行评审、测试是否覆盖导出行为、哪些告警被触发,以及回滚获得授权的速度如何。

爆炸半径应是部署前属性

运营团队常在事件发生后通过统计受影响的服务、前缀或用户来描述爆炸半径。对于高后果的网络变更,爆炸半径也应在部署前估算。

问题不只是多少设备会收到配置。应用于一个路由策略对象的变更可能影响许多 BGP 会话。一台边缘路由器上的变更可能改变大型对等体消费的宣告。一条更具体前缀无需大量设备即可重定向流量。共享模板可以把一行变成全网络范围的行为。

部署前的爆炸半径评估应当询问:

  • 哪些路由器和会话引用了被变更的对象;
  • 哪些前缀可能匹配该策略;
  • 哪些邻居可能收到新的或改变的宣告;
  • 变更是否对客户、对等体和提供商关系产生不同影响;
  • 哪些关键服务依赖受影响的路由;
  • 回滚本身是否会产生大量更新突发;
  • 监测是否覆盖可能的外部路径;
  • 一个金丝雀是否能代表最终部署的有意义样本。

评估应当包含不确定性。如果对等策略未知,这种不确定性就是缩小初始部署并加强外部监测的理由,而不是假设对等体会遏制错误。

ThousandEyes 在 2017 年事件中报告了超过一千条更具体路由。[2] APNIC 的年度回顾将这一事件列为影响数千个自治系统的大型路由安全事件之一。[4] 这些数字来自具名分析的观察,而非完整的内部计数。但它们仍说明为什么路由数量和外部传播本应成为停止条件。

运行目标不是保证零路由更新。网络必须变化。目标是使预期范围可测量,并在运行状态偏离预期时检测到。

对骨干网而言,停止条件可以结合路由数量、新源或路径模式、对等体特定的导出变化、收集器可见性、丢包和客户告警。阈值应与变更请求关联,以便响应者知道某个异常是属于预期、可容忍还是需要回滚。

当事件发生时,同一爆炸半径模型成为证据记录的一部分。调查者可以比较预测范围与实际范围,识别缺失的依赖,并改进下一次测试。

回滚是一种生产能力,不是计划中的一句话

如果回滚只是恢复先前配置的指令,那么变更控制流程是不完整的。BGP 回滚本身可能产生收敛、撤回和流量转移。它必须作为运行操作来设计和测试。

公开记录称 Level 3 纠正了配置问题,且 ThousandEyes 观察到泄漏路由在太平洋时间约 11:25 被撤回。[1][2] 它并未披露谁授权回滚、先前配置是否原子恢复、设备如何收敛,或使用了哪些外部信号确认恢复。

这些未知项定义了可问责运营商应保留的证据:

  • 变更标识符和确切差异;
  • 部署开始时间、范围和操作员;
  • 首次异常和告警;
  • 事件宣告和指挥负责人;
  • 停止或逆转推广的决策;
  • 回滚命令或替代策略;
  • 按设备和会话记录完成情况;
  • 路由撤回和预期重新宣告;
  • 按地区和对等体记录转发恢复;
  • 客户和接入提供商确认;
  • 回滚后的稳定区间。

回滚速度不是唯一标准。一次快速逆转如果留下陈旧路由状态或使会话过载,可能延长损害。如果较慢的分阶段回滚能防止第二次故障,则可能是合理的。记录应解释决策并显示其效果。

团队还需要一条带外路径,以便在生产路由降级时控制网络。依赖正在修复的同一条路径的管理访问,可能把路由错误变成恢复失败。2017 年的公开证据并未说 Level 3 失去了管理访问。重点是源自该故障类别的控制要求,而非针对事件的断言。

客户需要并行的回滚计划。看到上游路由故障的企业可能转移流量、改变宣告或启用另一提供商。此类行动可能产生自身的传播风险。客户应定义谁能行动、哪些路径是独立的,以及如何验证故障转移不会使事件恶化。

当运营商能够在演练中展示回滚,并证明实时事件证据与计划阶段相符时,回滚才变得可信。一句“配置已纠正”的笼统声明是起始事实,不是恢复治理的完整证明。

对等网络也有自己的遏制控制

引入不良路由的网络是变更的主要控制所有者,但域间路由分散了责任。每个对等体决定接受什么、偏好什么和传播什么。

RFC 7454 描述了 BGP 的运行安全实践,包括前缀过滤、AS 路径过滤、限制和关系感知策略。[15] MANRS 同样为网络运营商设定了过滤、协调、全局验证和反欺骗的期望。[18]

对等责任并非在所有关系中均等。提供商比无结算对等体更有理由了解客户的预期前缀集和路由角色。客户可能没有每个提供商路由的完整列表。大型动态网络使静态过滤器更难维护。策略错误可能发生在任何一方。

尽管如此,接受路由的网络应当能够解释其信任模型:

  • 预期每个客户宣告哪些前缀和源;
  • 是否允许更具体宣告;
  • AS 路径是否与关系一致;
  • 适用何种路由数量或最大前缀限制;
  • 异常宣告是否触发告警或拒绝;
  • 例外如何获批和过期;
  • 哪些独立数据源验证预期;
  • 如何与宣告网络进行紧急协调。

公共注册信息可以支持这些控制,但可能过时或不完整。互联网路由注册对象、RPKI 授权和观察到的路径各自回答不同问题。运营商不应把某个数据源当作完整的策略预言机。

2017 年事件显示了一个集体遏制问题。Level 3 控制着产生所观察到的宣告的配置。其他网络接受了足够的这些宣告,从而改变了流量路径。有些网络依据当时可用的信息可能有正当的运行理由。另一些网络可能缺少本可限制传播的过滤器。

可问责的审查不应在看不到配置的情况下把责任推给未具名的对等体。它应当询问哪些遏制控制在技术上可用、哪些已在使用、哪些告警被触发,以及后续演练是否证明有所改进。

同样的逻辑防止成本转嫁。骨干网可以将配置错误的影响外部化给接入提供商、内容网络和用户。对等体可以将弱过滤外部化给更广泛的路由系统。共享证据和协调补救是必要的,因为没有哪一个运营商控制着每一次接受决策。

RPKI 有助于来源授权,但并非每种泄漏

RPKI 允许地址持有者创建路由源授权,以指明哪些自治系统可以宣告指定前缀。路由源验证根据路由的源和前缀长度是否与有效授权一致对其进行分类。RFC 6811 定义了该验证状态以及它如何为本地策略提供信息。[17]

这是一项重要控制,但必须精确说明其范围。

如果未经授权的自治系统宣告了一个前缀,有效 ROA 可以帮助网络识别并拒绝该无效路由。如果路由泄漏保留了授权源但违反导出范围,该路由仍可能是源有效的。RPKI 源验证并不编码完整的商业关系或预期路径。

Level 3 的公开记录并未确定 2017 年 11 月每个受影响前缀的 ROA 状态、每个对等体的 ROV 策略,或一个能防止该事件的反事实控制。因此,本文不声称 RPKI 本可阻止该事件。

RPKI 作为一层属于补救框架:

  • ROA 使源授权明确;
  • ROV 可以拒绝部分未经授权的源;
  • 前缀过滤器限制邻居可以宣告什么;
  • 关系感知的路径策略限制路由传播;
  • 最大前缀控制限制数量;
  • 异常检测识别意外变化;
  • 基于模型的变更验证测试预期导出行为;
  • 路由收集器和转发探针验证实时结果。

后来的机制如 BGP Roles 和路由泄漏预防可以更直接地编码关系的部分边界。它们应作为后来的控制来评估,而不是回溯性断言已在 2017 年部署。

更广泛的问责要点是,安全控制必须匹配故障模式。把所有 BGP 问题都标记为 RPKI 缺口会造成虚假的保证。一个网络可以有完整的来源授权,却仍将有效路由导出到错误方向或带有非预期的更具体路由。

运营商应报告他们认为本可打断实际链条的控制。如果故障在于策略生成,就展示新的不变量测试。如果故障在于缺少对等过滤器,就展示过滤器和路由拒绝演练。如果无效源传播了,就展示 ROV 覆盖。每项主张都应链接到观察到的行为。

注册记录是证据,不是路由执行

Heng.lu 原则在记录与运行系统之间划出了有用的区分。

ASN 和地址记录保存标识符、资源持有者、联系人和注册历史。路由注册机构可以记录预期策略。RPKI 可以记录来源授权。这些系统支持唯一性、可追溯性、转移记录、安全元数据和协调。

它们不转发数据包,也不通过声明来执行每个对等体的策略。

RIPEstat 可以帮助调查者识别 AS3356 并查看公共路由数据。[10] RouteViews、RIPE RIS 和 BGPStream 可以显示收集器观察到的宣告。[11][12][13] 这些记录是问责台账的一部分。每个网络接受的运行路由以及为数据包选择的转发路径仍是现实层。

这一区分防止两类错误。

第一类错误是把注册当作健康运行的证明。一个注册正确的 ASN 可以在错误策略下宣告路由。准确的资源数据并不能证明配置变更安全。

第二类错误是把注册机构当作域间路由的最高控制者。运营商选择本地策略并运行路由器。记录保管者可以改进证据和安全元数据,但他们不替代运行责任。

对 2017 年事件而言,证据链因此应连接:

  • 注册的 ASN 和地址资源;
  • 预期的 Level 3 与 Comcast 关系策略;
  • 改变路由行为的配置差异;
  • 内部路由状态;
  • 收集器观察到的宣告;
  • 对等体接受;
  • 实际转发路径;
  • 用户可见的丢包和时延;
  • 撤回和恢复。

没有哪一层足够。没有外部证据的私有配置差异可能遗漏传播。没有意图的收集器更新不能证明路由为何出现。没有路由数据的用户投诉无法识别失效的控制。

该原则是一条实用治理规则,而不是宣传文案。它说问责应跟随运行系统的当事方,同时准确的记录保存谁曾控制资源以及所声称的策略是什么。

事件沟通应指明失效层级

在 2017 年中断中,用户看到应用失败或变慢。他们通常看不到 BGP 策略对象、AS 路径或重定向流量的路由。

这一差距使事件沟通成为技术控制系统的一部分。说发生了“互联网中断”过于宽泛,无法指导接入提供商、企业或内容网络。说配置问题影响了路由则缩小了问题。有用的更新可以在不暴露敏感细节的情况下更进一步。

可问责的通知可以说明:

  • 受影响的网络层级;
  • 大致的开始时间和发现来源;
  • 当时已知的广泛范围;
  • 运营商是否停止了进一步变更;
  • 路由是否正在撤回或恢复;
  • 哪些客户类别或对等地区仍受影响;
  • 什么证据将定义恢复;
  • 哪些事实仍未确认。

公开报道引述了 Level 3 关于配置问题的解释。[1][5][6] 这比无解释的服务降级通知更有信息量。公开记录并未显示一份包含完整内部顺序和控制变更的详细提供商事后报告。

接入提供商也有沟通责任。Comcast 用户遇到服务故障,ThousandEyes 的分析以 Comcast 路径为中心。[2] Comcast 控制着客户关系,可以描述用户影响,即使它并不控制 Level 3 的配置。

沟通应保留不确定性。AT&T、Verizon、Spectrum 等网络在相近时间遇到问题的报道,并不能证明存在共同技术原因。[5][6] 提供商应区分已确认的共同影响与仍在调查的相关投诉。

恢复信息也需要证据。“已解决”不应只是变更被回滚。它应得到稳定路由、预期路径、正常化的丢包以及在定义区间内成功的客户事务支持。

精确的沟通会降低运行成本。它帮助客户决定是否故障转移、保留日志或等待上游恢复。它也创建了带时间戳的记录,可供以后的主张验证。

用户影响不应超出实测路径夸大

当时的报道描述了一次大范围或全国性的中断。ThousandEyes 看到美国多个地区受到影响,并报告可能有数百万 Comcast 用户卷入。[1][2][5][6] 这些叙述确立了实质性影响。它们并不能证明每个 Comcast 客户或每个被报道的提供商都遭遇了同样中断。

影响评估应区分:

  • 收集器上的路由可见性;
  • 来自具体探针的转发变化;
  • 丢包和时延;
  • 无法到达具名目的地;
  • 接入提供商的服务投诉;
  • 应用事务失败;
  • 按地理和网络划分的持续时间;
  • 潜在用户与已确认失败会话。

一个人可能拥有缓存的 DNS 答案和可用路径,而另一个人无法到达同一服务。一个企业可能使用了第二家转接提供商。一个移动应用可能通过不同端点重试。同一 BGP 事件可能产生异质结果。

来源数据包中不包含可辩护的总财务损失数字。它也没有为每一次业务中断确定法律因果关系。本文不会通过将用户估计乘以中断时长来凭空制造一个数字。

拥有内部遥测的运营商可以做得更好。它可以报告流量转移、丢弃的数据包、失败的会话、受影响的前缀、客户工单和按地区的恢复情况。接入提供商可以测量用户会话和应用层面效果。大型客户可以测量失败事务和依赖特定损失。

这些指标应当相互核对,而不是压缩为一个标题数字。路由数量衡量网络状态。丢包衡量路径症状。投诉量衡量可见的挫败感。事务失败衡量业务影响。每一项在说明其分母和限制时都有用。

这种克制对问责很重要。夸大的主张会让报告更容易被驳回。有边界的测量能识别控制在哪里失效以及补救必须证明什么。

独立还原有局限,应记录

公共路由数据异常有价值,因为它允许在运营商之外研究事件。这种独立性创造了问责,但并不创造全知。

RouteViews 和 RIPE RIS 看到参与对等体发送给其收集器的路由。[11][12] BGPStream 帮助研究人员处理并比较这些观察。[13] RIPEstat 结合资源和路由视图。[10] ThousandEyes 增加来自分布式观测点的转发和服务测试。[2]

这些来源合起来可以确立:

  • 选定路由发生了变化;
  • 哪些源和路径可见;
  • 宣告和撤回的大致时间;
  • 流量是否从测量位置沿变化后的路径转发;
  • 丢包或时延是否上升;
  • 测得的可达性何时恢复。

它们通常无法确立:

  • 操作员输入的确切命令;
  • 内部策略生成链;
  • 每台路由器中的每条路由;
  • 私有对等和本地优先级决策;
  • 完整客户集合;
  • 推广或回滚的决策负责人;
  • 内部告警和事件沟通;
  • 补救措施当前的有效性。

独立报告应标注收集器覆盖范围、时钟精度、标准化选择以及缺失数据。应尽可能保留原始更新引用,以便另一位分析师能够复现结论。

运营商应保留更丰富的资料包。该资料包可以包括配置版本、设备日志、路由策略评估、路由反射器状态、对等通知、遥测、数据包路径测试、事件工单和变更审批。敏感细节可以在控制下与审计方或受影响合作伙伴共享。

最可信的事后报告连接私有视图和公共视图。它解释所观察到的宣告为何出现、哪个内部控制失效、路由如何被遏制,以及如今什么测试能防止复发。

在运营商不发布这些证据的情况下,独立观察仍支持有边界的结论。它们不应被拉伸以填补私有空白。

补救必须可针对可重复的路由故障进行检验

本文审视的公开记录并未确定 Level 3 或其合作伙伴在 2017 年 11 月之后实施了所有补救措施。因此,负责任的评估应定义何种证据能够证明修复,而不是断言当前失败或成功。

可检验的补救计划应覆盖五个控制组。

配置生成与审查

运营商应展示路由策略从受控数据生成、以差异形式审查并针对不变量检查。证据应指明一次变更可能影响哪些路由类别和关系。

分阶段部署与停止条件

运营商应尽可能通过有边界的金丝雀部署,将实时宣告与意图比较,并在路由数量、路径变化、丢包或时延超出批准边界时停止。

对等和客户过滤

运营商和对等体应维护预期前缀和关系策略,测试例外处理并监测非预期的更具体宣告。控制应使用多个证据源,而不是假设某个注册机构完整。

回滚与恢复

团队应演练回滚、路由撤回、会话收敛和带外管理。恢复应通过独立路由和转发观察确认。

披露与验证

事件后报告应区分已确认原因、促成控制、范围、未知项和补救措施。后续测试应显示新控制能否检测或遏制代表性故障。

现实演练可以在实验室或隔离路由域中引入一个安全的合成策略错误。该错误应尝试将一条更具体路由导出到预期关系之外。系统应在生成或部署前验证时拒绝它。如果它到达金丝雀,监测应停止推广。对等测试应展示导入过滤。回滚测试应移除路由并确认预期转发。

演练不应将有危害的路由注入公共互联网。其目的是在代表性环境中证明控制链并保留可审计证据。

补救在与原始故障路径关联时最强。对监测的通用投资不能证明导出策略验证。新的 RPKI 计划不能证明对源有效泄漏的遏制。一份修订程序不能证明回滚在路由震荡下有效。

董事会和服务采购方应提出哪些问题

骨干网路由风险对董事会监督而言可能显得过于技术化。相关的治理问题是具体的。

董事会应询问有多少变更可以改变对外宣告的路由、谁可以批准、哪些部署前不变量是强制的,以及存在哪些自动停止条件。他们应要求演练证据,而不是成熟度标签。

服务采购方应询问其提供商是否从自身网络之外监测路由和转发、多快通知客户路由事件,以及备用路径是否在运行上独立。一份列出两家运营商的合同并不能证明路由多样性,如果两者都依赖同一骨干网或共享设施。

网络运营商应询问注册机构、RPKI 和观察到的路由数据是否相互核对,客户锥体预期如何维护,以及例外如何过期。他们应知道哪些对等体可以发送异常宽泛或更具体的路由集合。

事件负责人应询问谁可以冻结部署、谁可以授权回滚,以及什么证据定义恢复。决策路径应能在受影响网络不稳定时仍可用。

审计方应抽样当前配置和路由观察,而不是只审查政策文件。一项存在于标准中却被模板或紧急例外绕过的控制,并未有效运行。

监管者应避免把路由安全简化为单一技术强制要求。来源验证、过滤、变更验证、监测、协调和连续性针对不同故障模式。证据要求可以在了解技术的同时,不假装一种机制能解决所有泄漏。

这些问题并不假设有不当行为。它们遵循实践控制。拥有有力证据的运营商可以表明,一个不寻常故障通过了一个合理控制并被迅速遏制。没有证据的运营商不能拿 BGP 的复杂性来替代尽职证明。

未决问题属于调查结论的一部分

公开证据留下了重要未答问题:

  • 哪项确切配置或生成策略引入了这些路由?
  • 部署前运行了哪些审查和验证检查?
  • 多少设备和会话接收了该变更?
  • 哪些对等关系预期接受或拒绝这些宣告?
  • 哪个内部告警首先识别出意外传播?
  • 谁停止了部署并授权回滚?
  • 如何验证路由撤回和转发恢复?
  • 事件后哪些对等体更改了过滤器?
  • 实施并在后来演练了哪些补救措施?

这些未知项并不抹去所观察的事件。它们定义了结论的边界以及加强结论所需的证据。

记录支持一个根因类别:Level 3 将中断归因于配置,而独立分析师观察到涉及 AS3356 的路由泄漏和转发受损。[1][2][3][4][5][6]

记录支持促成条件:骨干网规模、跨网络路由接受、更具体前缀的力量以及外部遏制的局限。

记录仅在较高层面支持一个触发事件:一次路由配置变更或错误配置。确切命令和部署路径仍未披露。

记录支持来自外部测量的检测和恢复时间顺序,但不支持完整的内部事件时间线。

这一区分很重要。根因、促成条件、触发、检测、响应和恢复相关但不可互换。一份把“人为错误”称为根因的报告会在尚未审查为什么一次变更能够逃过审查、传播并需要外部观察者解释故障之前就停下。

问责标准是运行状态中经证明的预期策略

2017 年 11 月 6 日的事件不只是几个网站似乎变慢的时段。它是一次域间路由事件,外部观察到的 BGP 变化重定向了流量,并使跨组织边界的可达性下降。

最强公开证据是有边界的。ThousandEyes 报告了路由和转发变化、与 Comcast 网络相关的更具体宣告、丢包和时延增加,以及在太平洋时间约 11:25 的撤回。[2] Level 3 将中断归因于配置问题。[1][5][6] Batfish 利用该事件说明为什么应在部署前建模策略意图。[3] APNIC 将其列入 2017 年的大型路由安全事件。[4]

来源并未暴露确切的内部命令、每一个受影响前缀和用户、所有对等策略、决策归属或当前补救有效性。它们不支持恶意意图主张。

问责跟随实际控制。Level 3 控制着变更及其导出策略。对等体控制接受和遏制。Comcast 控制用户沟通和部分服务恢复。客户可以设计备用路径和外部监测。终端用户可以报告影响,但无法修复 BGP。

Heng.lu 原则给出最终检验。ASN、注册和策略记录识别资源并保存意图。它们是问责台账,而非路由执行。运行中的 BGP 宣告、对等决策、转发路径和观察到的恢复决定网络是否真正履行了该意图。

因此,可信的修复不是声明过滤器、RPKI 或审查程序存在。它是证据:一次代表性的错误导出被拒绝或遏制,非预期的路由变化停止部署,回滚恢复预期路径,独立探针确认用户可达性。

对于配置可以影响数千个网络的骨干网,预期策略必须在运行状态中得到证明。这是 2017 年 Level 3 事件使不可回避的问责标准。

来源

  1. Wired,《一个小错误如何让美国部分地区断网》
  2. ThousandEyes,《Comcast 因重大 Level 3 BGP 路由泄漏而中断》
  3. Batfish,《不要像 Level 3 那样意外搞坏互联网》
  4. APNIC,《14,000 起事件:2017 年路由安全》
  5. Axios,当时的 Comcast 中断报道
  6. KTNV,当时的多提供商中断报道
  7. Customer Paradigm,当时面向客户的中断解释
  8. Fierce Network,区分独立的 2016 年 Level 3 故障的报道
  9. IFIP CNSM 2023,后来对大规模 IP 服务中断的比较研究
  10. RIPEstat,AS3356 资源与路由视图
  11. RouteViews,2017 年 11 月 BGP 更新存档
  12. RIPE NCC,路由信息服务
  13. CAIDA,BGPStream
  14. RFC 4271,边界网关协议 4
  15. RFC 7454,BGP 运行与安全
  16. RFC 7908,BGP 路由泄漏的问题定义与分类
  17. RFC 6811,BGP 前缀源验证
  18. MANRS,《网络运营商行动》