Facebook大規模服務中斷事件調查:BGP與DNS服務器離線所致

BGP 是“邊界網關協議”的縮寫,作為一套允許在互聯網上的自治系統(AS)之間交換路由信息的機制,其在剛剛過去的 Facebook 大規模服務中斷事件中也扮演了重要的角色。Cloudflare 指出,BGP 使得互聯網上工作的大型路由器能夠擁有龐大的、不斷更新的可能路由列表,從而將各個挽留過數據包送達最終的目的地。

1.png

(圖自:Cloudflare)

若缺乏 BGP,互聯網路由器將不知如何正確工作。畢竟 Internet 的本意,就是在 BGP 綁定之下、一個套着另一個的網絡。

以社交媒體巨頭 Facebook 為例,BGP 使之能夠向構成互聯網的其它網絡通告自身的存在。

2.png

BGP / SAN 簡圖

然而在周一的服務大中斷事件中,Facebook 卻烏龍般地沒有宣告自身的存在,最終導致互聯網服務提供商(ISP)和其它網絡無法與之建立正確的連接。

TheVerge 編輯 Alex Castro 指出,BGP 又被稱作互聯網上的“郵局系統”或“空中交通管制員”,但他更喜歡將之看成一幅眾人參與製作和更新的地圖,以引導用戶正確訪問油管或臉書等網絡服務。

3.png

Tom Strickx 與 Celso Martinho 在 Cloudflare 專欄文章中寫道:每個單獨的網絡,都有一個被稱作 ASN 的自治系統編號,而自治系統(AS)是具有統一內部路由策略的單個網絡。

4.png

AS 能夠產生前綴(比如其控制的一組 IP 地址)並傳輸,以讓互聯網知曉如何將信息送達特定的 IP 地址組,而 Cloudflare 的 ASN 編號就是 AS13335 。

5.png

然後每個 ASN 都需要藉助 BGP 向互聯網通告其前綴路由,否則將無人知曉該如何與之取得連接、以及在哪裡找到它們。

在 UTC 協調世界時的 16:58,Cloudflare 開始留意到 Facebook 已停止公布其 DNS 前綴路由。在最不嚴重的情況下,這也意味着該公司的域名解析服務(DNS)已不可用。

6.png

由於 Cloudflare 的 1.1.1.1 DNS 解析器無法再響應詢問 facebook.com 或 instagram.com 等網絡服務的 IP 地址查詢,大規模服務中斷也開始變得無法避免。

7.png

與此同時,儘管仍有其它 Facebook IP 地址在被路由,但它們所能起到的效果也相當有限 —— 畢竟只要 DNS 服務躺下了,與 Facebook 相關的服務也變得實際上無法訪問了。

8.png

Cloudflare 指出,其會跟蹤全球網絡中觀察到的所有 BGP 更新與公告。然而 UTC 時間 15:40 左右,Cloudflare 留意到了 Facebook 的路由變更高峰,麻煩在這個時候開始集中爆發。

9.png

說到這,本次 Facebook 大規模服務中斷的前因後果已基本疏離完成。首先是路由被撤回,接着 Facebook 的 DNS 服務器離線。

10.png

問題發生一分鐘后,Cloudflare 工程師們開始思考為何 1.1.1.1 無法解析 facebook.com、甚至一度懷疑是自家公司的系統出現了問題。

(0)
上一篇 2021-10-05 18:09
下一篇 2021-10-05 18:10

相关推荐