谷歌的BGP可以讓日本800萬網民斷網一小時,中國網民卻笑了
據外媒報道,部分地區的網民於 8 月 25 日遭遇網路連接性故障,其網速緩慢或部分網路無法訪問。然而此次事故影響最大的是日本網民。
當網路出現故障,想必大多數網友都會以為是自己電腦或運營商(也就是電信、聯通等)出問題,但怎麼也想不到是Google引起的。
有的朋友開玩笑說,是不是谷歌AlphaGo的人工智慧要開始統治地球了?
言歸正傳,接下來我們大致講下是如何引起這次的故障的,由於運營商和Google之間直接建立BGP鄰居,這樣運營商和Google之間可以直接傳輸路由。這時候Google的工作人員把錯誤的路由發布到BGP中,而運營商又學習了Google的路由,然後運營商傳至其他運營商,造成大範圍網路故障。
1.首先為什麼運營商要和Google建立BGP鄰居呢?
正常情況下公司不會把公網的路由導到自己的網路設備上,因為把公網中五十多萬條路由導到公司的網路設備上對設備的負載非常大(很多小公司支持不了這麼多路由)。
那為什麼Google要和運營商建立BGP的鄰居關係呢?
比如PC1訪問公網,默認情況下是往ISP電信線路出去,對於正常公司說,電信主用,聯通備用。現在公司的內網有台PC1訪問聯通的站點伺服器,PC1→公司出口→ISP電信→ISP聯通→聯通的站點伺服器
正常情況下:
這裡電信到聯通肯定有延遲,有什麼辦法能夠讓目的是聯通的走聯通線路,目的是電信的走電信線路。公司設備和運營商設備間建立BGP鄰居。
PC1→公司出口→ISP聯通→聯通的站點伺服器
2.運營商要和Google建立BGP鄰居.
在這種情況下只要運營商更新路由,Google立即能學到最新路由,如果,Google更新路由,運營商也立即能學到最新路由。
這次事故就是因為一個粗心的網路工程師在Google設備上發布了Google自己不存在的路由,運營商學習到路由,日本剛好在用這個網段。這時候大家要訪問或者回程的路由都指向Google,數據包發送至Google之後,Google也不存在這個網段,直接進行丟包。
3.如何防止這種情況.
很多同學說以上情況在國內有某防火牆可以有效的防止,其實跟某防火牆沒有半毛錢關係,只是剛好Google發布的網段不是和國內的網段重合而已。
如果要防止這種情況再次發生,運營商要多一個從其他公司接收路由的控制,比如Google公司發送的路由運營商要在BGP的in的方向默認不全部接收所有路由,如果需要接收Google的路由需要在運營商寫對應的接收策略。
那麼說的通俗一點,想要防止這類情況,就要借鑒具有我們中國特色的處理方式即顆顆紅心湧向黨,祖國發展我成長,將谷歌發送給運營商的路由,要有運營商審批後接受就可以完全避免這種情況。
往期文章:1.CCIE日記-致正在路上的人2.IP地址詳解-你,是誰?3.網路工程師如何避免走彎路4.我的第一場知乎LIVE:網路工程師的進階之路5.只要不懦弱,憑什麼要錯過推薦閱讀:
※路由基礎(三)靜態現網用法
※網路工程師的HCNP數通認證要具備哪些專業能力?
※網路工程師已經淪為IT從業人員最底層打工者了么?
※如何分析數據包判斷網路故障?
※網路工程師有必要非得去系統集成商鍛煉么?