BGP 是“邊界網(wǎng)關(guān)協(xié)議”的縮寫,作為一套允許在互聯(lián)網(wǎng)上的自治系統(tǒng)(AS)之間交換路由信息的機(jī)制,其在剛剛過去的 Facebook 大規(guī)模服務(wù)中斷事件中也扮演了重要的角色。Cloudflare 指出,BGP 使得互聯(lián)網(wǎng)上工作的大型路由器能夠擁有龐大的、不斷更新的可能路由列表,從而將各個(gè)挽留過數(shù)據(jù)包送達(dá)最終的目的地。
(圖自:Cloudflare)
若缺乏 BGP,互聯(lián)網(wǎng)路由器將不知如何正確工作。畢竟 Internet 的本意,就是在 BGP 綁定之下、一個(gè)套著另一個(gè)的網(wǎng)絡(luò)。
以社交媒體巨頭 Facebook 為例,BGP 使之能夠向構(gòu)成互聯(lián)網(wǎng)的其它網(wǎng)絡(luò)通告自身的存在。
BGP / SAN 簡(jiǎn)圖
然而在周一的服務(wù)大中斷事件中,F(xiàn)acebook 卻烏龍般地沒有宣告自身的存在,最終導(dǎo)致互聯(lián)網(wǎng)服務(wù)提供商(ISP)和其它網(wǎng)絡(luò)無法與之建立正確的連接。
TheVerge 編輯 Alex Castro 指出,BGP 又被稱作互聯(lián)網(wǎng)上的“郵局系統(tǒng)”或“空中交通管制員”,但他更喜歡將之看成一幅眾人參與制作和更新的地圖,以引導(dǎo)用戶正確訪問油管或臉書等網(wǎng)絡(luò)服務(wù)。
Tom Strickx 與 Celso Martinho 在 Cloudflare 專欄文章中寫道:每個(gè)單獨(dú)的網(wǎng)絡(luò),都有一個(gè)被稱作 ASN 的自治系統(tǒng)編號(hào),而自治系統(tǒng)(AS)是具有統(tǒng)一內(nèi)部路由策略的單個(gè)網(wǎng)絡(luò)。
AS 能夠產(chǎn)生前綴(比如其控制的一組 IP 地址)并傳輸,以讓互聯(lián)網(wǎng)知曉如何將信息送達(dá)特定的 IP 地址組,而 Cloudflare 的 ASN 編號(hào)就是 AS13335 。
然后每個(gè) ASN 都需要借助 BGP 向互聯(lián)網(wǎng)通告其前綴路由,否則將無人知曉該如何與之取得連接、以及在哪里找到它們。
在 UTC 協(xié)調(diào)世界時(shí)的 16:58,Cloudflare 開始留意到 Facebook 已停止公布其 DNS 前綴路由。在最不嚴(yán)重的情況下,這也意味著該公司的域名解析服務(wù)(DNS)已不可用。
由于 Cloudflare 的 1.1.1.1 DNS 解析器無法再響應(yīng)詢問 facebook.com 或 instagram.com 等網(wǎng)絡(luò)服務(wù)的 IP 地址查詢,大規(guī)模服務(wù)中斷也開始變得無法避免。
與此同時(shí),盡管仍有其它 Facebook IP 地址在被路由,但它們所能起到的效果也相當(dāng)有限 —— 畢竟只要 DNS 服務(wù)躺下了,與 Facebook 相關(guān)的服務(wù)也變得實(shí)際上無法訪問了。
Cloudflare 指出,其會(huì)跟蹤全球網(wǎng)絡(luò)中觀察到的所有 BGP 更新與公告。然而 UTC 時(shí)間 15:40 左右,Cloudflare 留意到了 Facebook 的路由變更高峰,麻煩在這個(gè)時(shí)候開始集中爆發(fā)。
說到這,本次 Facebook 大規(guī)模服務(wù)中斷的前因后果已基本疏離完成。首先是路由被撤回,接著 Facebook 的 DNS 服務(wù)器離線。
問題發(fā)生一分鐘后,Cloudflare 工程師們開始思考為何 1.1.1.1 無法解析 facebook.com、甚至一度懷疑是自家公司的系統(tǒng)出現(xiàn)了問題。
(舉報(bào))