10

2021年10月4日Facebook宕机的原因

 3 years ago
source link: https://www.jdon.com/57335
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
2021年10月4日Facebook宕机的原因

今天,Facebook 及其附属服务 WhatsApp 和 Instagram 都已关闭。他们的 DNS 名称停止解析,他们的基础设施 IP 无法访问。初步分析是BGP路由配置错误导致!

以下是cloudflare的博文分析:

什么是BGP

BGP代表边界网关协议。它是一种在 Internet 上的自治系统 (AS) 之间交换路由信息的机制。 互联网正常运转需要大型路由器,这些路由器拥有庞大的、不断更新的可能路由列表,可用于将每个网络数据包传送到其最终目的地。如果没有 BGP,互联网的路由器将不知道该做什么,互联网将无法工作。

Internet互联网顾名思义就是一个网络的网络,它由 BGP 绑定在一起。BGP 允许一个网络(例如 Facebook)向构成 Internet 的其他网络通告其存在。在这段中断时间内,Facebook 没有向其他路由广播其存在,ISP 和其他网络无法找到 Facebook 的网络,因此它变得不可用。

每个单独的网络都有一个 ASN:自治系统编号。自治系统 (AS) 是具有统一内部路由策略的单个网络。AS 可以产生前缀(比如它们控制一组 IP 地址),以及传输前缀(比如它们知道如何到达特定的 IP 地址组)。每个 ASN 都需要使用 BGP 向 Internet 通告其前缀路由;否则,没有人会知道如何连接以及在哪里找到它。

Facebook的BGP路由问题导致DNS解析失败:

DNS 受到影响

在 UTC 时间1658,我们注意到 Facebook 已停止公布其 DNS 前缀的路由。这意味着,至少,Facebook 的 DNS 服务器不可用。因此,Cloudflare 的 1.1.1.1 DNS 解析器无法再响应询问 facebook.com 或 instagram.com 的 IP 地址的查询。

其直接后果是,世界各地的 DNS 解析器停止解析其域名。

发生这种情况是因为 DNS 与 Internet 上的许多其他系统一样,也有其路由机制。当有人在浏览器中键入https://facebook.com URL 时,DNS 解析器负责将域名转换为要连接的实际 IP 地址,首先检查它的缓存中是否有内容并使用它。如果没有,它会尝试从域名服务器中获取答案,域名服务器通常由拥有它的实体托管。

如果域名服务器无法访问或由于某些其他原因无法响应,则返回 SERVFAIL,并且浏览器会向用户发出错误消息。

但这还不是全部。现在,人类行为和应用程序逻辑开始发挥作用并导致另一个指数效应。随之而来的是额外的 DNS 流量海啸。1.1.1.1处理的查询比平时多 30 倍,并可能导致其他平台出现延迟和超时问题。

发生这种情况的部分原因是应用程序不会接受答案错误并开始重试,有时是积极的,部分原因是最终用户也不会接受答案错误并开始重新加载页面,或杀死并重新启动他们的应用程序,有时还是很积极重试。

其他消息渠道

其他人认为:Facebook、Instagram、WhatsApp 都是因 BGP 配置错误而关闭。

还有人认为:Facebook 当前的中断是如何由reactjs的合成事件逃逸和堵塞互联网管道造成的。

有人很生气:人们拿 Facebook 服务宕机开玩笑让我感到恶心。任何当时使用 Oculus 耳机的人目前都被困在 VR虚拟现实中,他们会像在现实生活中死去。#元宇宙


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK