從 Cloudflare 全球大當機,討論中心化 CDN 的好壞

Gugu
POSEIDON NETWORK
Published in
4 min readJul 12, 2019

就在上個禮拜 7/2,各處網站應該都有段時間連不上顯示 502 Bad Gateway,又或者卡卡的嗎?

這是因為 CDN、代管 DNS 的大型服務商 Cloudflare 發生全球大當機。

Cloudflare 一度傳出是遭到駭客攻擊,不過官方很快便出面澄清,這是定期進行的軟體更新中出現一個配置錯誤所造成的意外。

在討論這件事的原因及各服務商優缺點之前,再跟大家複習一下 CDN (Content delivery network)

內容傳遞網路。如果將網際網路比喻為一般道路,CDN就如同高速公路 — 可以便捷快速的存取資訊

這只是簡單的概念,現在我們更深入點來探討實例

  1. 不使用 CDN 的情況下

如果你的網站主伺服器架設在於美國,而在台灣的使用者要想直接造訪該網站,就必須”直接” 連接到位於美國的伺服器來獲取資訊。

這非常容易主機處理器及頻寬過載,導致使用者體驗差,更面臨最直接的安全性問題、惡意攻擊( 如 Ddos )

Copyright © Hanif Jetha

2. 使用 CDN 的情況

主伺服器架設於美國,台灣使用者造訪網站時,會同時將該網站資料下載到台灣附近的節點,這之後的台灣使用者將透過存取 “台灣節點” 訪問該站,而非直接連上 “網站伺服器”,大大提升該地區用戶存取該網的速度。

Copyright © Hanif Jetha

所以 CDN 是透過「將網站資料儲存於其他節點上,使用戶可就近取得所需內容」來解決因分佈、帶寬、服務器性能帶來的訪問延遲問題,適用於站點加速、影音串流、直播等場景。解決 Internet網絡擁擠的狀況,提高用戶訪問網站的響應速度和成功率。

好,這樣大概對 CDN 都有基本認識了

現有 CDN 供應商做法大都是,在某地區建造一個超大型的資料中心 (DNS節點) ,並向當地電信及網路服務業者購買線路使用權,這種基礎建設往往需耗費鉅資來完成;而 Poseidon Netowork 則是運用每個用戶的閒置頻寬,即每個人作為一個CDN節點,來進行網路資源的傳輸。

這種“流量共享”的形式直接突破了傳統CDN廠商耗費巨資來建立CDN節點的藩籬。

那 Cloudflare 究竟發生什麼事呢?

Cloudflare說明,該站會定期更新網路應用程式防火牆(Web Application Firewall,WAF)的規則,而其中一個規則所含的正規表示式,造成 Cloudflare全球伺服器的CPU使用率衝上100%,使得那些由Cloudflare代理的網域出現502錯誤(閘道不正確),也讓Cloudflare面臨了前所未見的CPU衰竭事件。

因為中心化 CDN 做法是在某一地區,只建一座大型資料中心作為節點,優勢是管理及維護上方便,

缺點是建置大型節點,還需考量土地、機房、當地基礎建設等成本過高。

這次的事件主因是韌體更新出問題,定期更新這件事無可避免,但中心化方式往往涵蓋相當大的地域範圍,一出狀況可能就造成當地網路癱瘓。

分散式 CDN ,則由各處的小型資料中心作為節點,在進行更新時,可透過分區的方式進行批次更新處理,將突發狀況造成的影響及損失降至最低。

再來我們看到防火牆,分散式架構的 WAF 是建立在 QNAP 的 OS (作業系統) ,使用者節點毋須擔心自己的節點容易遭受攻擊,任何有問題的網路,都會於第一時間被我們的主節點偵測到,從而攔截惡意攻擊,大大降低用戶受到損失機率 (任何網路並非百分之百安全,能做的是盡全力把風險降至最低)

聽起來分散式架構的 CDN 有利無弊,那為甚麼還沒有普及?

要整合所有人的頻寬,聽起來很直覺,但中間牽扯到的問題其實有很多技術層面要克服,像是傳輸過程如何確保資料安全、判斷檔案是否為惡意軟體、線路及頻寬是否穩定、網路環境及服務商不同,又該如何克服?

現實情況來看,不敢說完全解決,但確實是有方案正在進行開發及測試,不然還有許多相似概念的項目,為什麼還會有加速器及機構願意投資我們XD,這裡先賣個關子,近期產品上線後會做更多詳細介紹,記得加入我們社群,才不會錯過這些通知哦~

--

--

Gugu
POSEIDON NETWORK

科技、幣圈、行銷、生產力工具 — 文章改發布於個人網站 https://www.gunotes.com/