什麼是 BGP,為什麼 Internet 依賴它?
已發表: 2022-01-29Facebook 於 2021 年 10 月 4 日停電 6 小時,人們爭先恐後地想知道到底發生了什麼。 部分答案在於互聯網的一個組成部分,稱為邊界網關協議或 BGP。
BGP到底是什麼?
最近的文章中使用了幾個非常恰當的比喻來解釋 BGP。 人們將其比作從空中交通管制員到不斷發展的互聯網地圖的一切。 它甚至被稱為“互聯網的膠帶”。 他們都很好。
BGP 是一種協議,它告訴數據請求他們需要採取什麼路徑才能到達服務器。 例如,如果您登錄 Facebook 或打開應用程序以提取您的提要,BGP 將引導您的數據包沿著最快的路線從 Facebook 的服務器檢索數據。
Cloudflare 將 BGP 描述為“互聯網的郵政服務”,因為它會為您的請求選擇最快、最有效的路線以到達其預期的服務器。 BGP 查看您的數據可以採用的所有可用路由,然後選擇它認為最好的路由。
通常,這意味著通過構成整個互聯網的自治系統來路由您的數據。 BGP 找出哪些系統相互通信,然後沿著它們之間的最快路徑發送您的數據,以便它可以到達正確的目的地。
繼續郵局的比喻,互聯網上的每個自治系統就像郵局的一個分支。 即使您所在的城市可能有數千個郵箱,但每封郵件仍然必須經過郵局才能送達。
互聯網上的自治系統示例包括:
- 互聯網服務提供商 (ISP),如 Comcast、AT&T、Verizon 等。
- 像 Facebook 這樣的公司
- 其他大型組織,如政府或大學
為The Verge撰稿的 Mitchell Clark 將 BGP 比作不斷更新的地圖,將自治系統比作地圖上的島嶼。 由於互聯網上有太多“孤島”,無法在每個“孤島”之間建立橋樑,BGP 會告訴您這些橋已經在哪裡。
實際上有兩種類型的BGP:
- 外部 BGP (eBGP) :整個互聯網使用的協議。 在我們的郵局比喻中,這類似於國際航運。
- 內部 BGP (iBGP) :自治系統可以選擇用於在其自己的網絡中路由數據的內部 BGP 協議。 這類似於不同國家的郵件服務。
沒有必要設置 iBGP 來訪問更廣泛的互聯網的 eBGP,但是像大型科技公司這樣的一些自治系統無論如何都使用 iBGP 來路由內部流量。
BGP 和 DNS 如何協同工作?
BGP 使互聯網上的數據路由成為可能,這使得它成為將互聯網連接在一起的膠水或膠帶。 BGP 工作的部分方式是它為數據通告可行的路由。 如果 BGP 停止工作,這些路由將無法找到並從 Internet 上消失,因此數據無處可去。
這就是 Facebook 發生的事情的一部分。 Facebook 的基礎設施副總裁 Santosh Janardhan 在他的博客文章中這樣解釋了中斷的機制:
“我們較小的設施執行的一項工作是響應 DNS 查詢。 DNS 是互聯網的地址簿,可以將我們在瀏覽器中輸入的簡單 Web 名稱轉換為特定的服務器 IP 地址。 這些翻譯查詢由我們的權威名稱服務器回答,這些服務器本身佔用眾所周知的 IP 地址,而這些名稱服務器又通過稱為邊界網關協議 (BGP) 的另一種協議向互聯網的其餘部分發布。”
換句話說,互聯網的域名系統 (DNS) 協議的功能類似於地址列表,而 BGP 是將郵件發送到這些房屋的郵政服務。 如果您有地址但沒有前往房屋的路線,則無法投遞郵件。
賈納爾丹繼續說:
“......如果 DNS 服務器本身無法與我們的數據中心通信,它們會禁用這些 BGP 廣告,因為這表明網絡連接不健康。 在最近的中斷中,整個骨幹網都停止運行,使得這些位置聲明自己不健康並撤回那些 BGP 廣告。 最終結果是我們的 DNS 服務器變得無法訪問,即使它們仍在運行。 這使得互聯網的其餘部分無法找到我們的服務器。”
BGP 是如何擾亂互聯網的
多種因素會影響您的數據通過互聯網地圖的路徑。 成本可能是其中之一,因為一些提供商會收取訪問其係統的費用。 互聯網本身不斷變化的性質是另一回事。
自治系統和網站可以完全從互聯網地圖中移動或刪除。 他們還可以更改或添加服務提供商——例如大學將 ISP 從 Comcast 切換到 AT&T。 BGP 必須定期更新數據可以採用的路由,以確保它們保持最新狀態,並且您的請求不會陷入死胡同,Wile E. Coyote 風格。
自治系統始終運行 BGP 更新而不會發生意外。 但是當他們出錯時,他們可能會出錯。 Clark 在他們的文章中解釋說,由於 BGP 旨在快速從一個系統傳播到另一個系統,因此錯誤可能會產生連鎖反應,就像我們在 Facebook 看到的那樣。
修復錯誤
根據 Cloudflare 的說法,土耳其 ISP TTNet 在 2004 年的一次糟糕的 BGP 更新暫時將 TTNet 宣傳為互聯網上所有流量的最佳目的地。 這導致一整天的連接問題,直到問題得到解決。
此類事件表明了 BGP 的某些弱點,即構成整個互聯網的自治系統將隱含地相信 BGP 告訴他們的數據是最佳路徑。 雖然故障並不經常發生,但有些人認為需要讓 BGP 更安全。 然而,這種規模的更新將需要互聯網上的每個自治系統立即更新。 這意味著至少可以說,對協議進行重大更改將具有挑戰性。
BGP 只是使互聯網正常工作的幾個元素之一。 了解其基礎可以幫助您導航和了解未來的中斷和其他問題。
相關:互聯網如何運作?