內容傳遞網路(CDN)是一種地理分散式的伺服器網路,彼此協同運作,以更快且更可靠地傳送網際網路內容。CDN 不會讓所有使用者都從單一來源伺服器存取內容,而是會將圖片、影片、樣式表與 JavaScript 檔案等靜態資產的副本快取在更靠近全球使用者的伺服器上。

您可以把它想像成零售連鎖店。不是每個人都得跑到一個大型中央倉庫總部購買商品,而是每座城市都有備有熱門商品的在地門市。您能更快取得所需商品,而中央倉庫處理的流量也更少。

全球約有4,600 萬個網站使用 CDN(新視窗),其中包括約 81% 的前 100 萬大網站(新視窗)。主要 CDN 供應商包括 Akamai Technologies,以及幾乎無所不在的 Cloudflare(單是 Cloudflare 就有超過 2,400 萬個網站使用(新視窗))。

為什麼會有 CDN?

傳統上,網站是託管在單一實體位置的一台伺服器上。如果您的所有訪客都住在那台伺服器附近,這種方式沒有問題。但一旦使用者分散到不同國家(或洲),問題就會出現:

  • 延遲(因實體距離造成的載入速度緩慢)
  • 頻寬瓶頸
  • 流量激增時的伺服器過載
  • 更容易受到 DDoS 攻擊(新視窗) 影響

CDN 透過將內容分散到全球多台伺服器來解決這個問題。這表示如果您在紐約,您會從位於美國的伺服器取得內容;而在倫敦造訪同一網站的訪客,則會從歐洲的伺服器取得內容。

CDN 有哪些好處?

CDN 可改善:

  • 速度:內容傳輸的實體距離更短
  • 可擴展性:流量高峰(例如促銷期間或爆紅事件期間)不會讓網站當機
  • 正常運作時間:若某台伺服器故障,另一台會接手
  • 安全性:大多數 CDN 都有助於防禦 DDoS 攻擊

CDN 如何運作?

CDN 由以下部分組成:

  1. 來源伺服器。這是網站實際所在的「主要」伺服器。
  2. 邊緣伺服器,會儲存(「快取」)來自來源伺服器的圖片、CSS 檔案、JavaScript 與影片等靜態內容。大型 CDN(如 Cloudflare)可能會在全球各地運行數百台這類分散式邊緣伺服器。
顯示 CDN 如何運作的圖表

當您造訪使用 CDN 的網站時,流程如下:

  1. 使用者請求:當您造訪網站時,瀏覽器會傳送內容請求。
  2. DNS 解析:CDN 的 DNS 系統會判定哪台伺服器最適合為您提供服務。通常會是離您最近的那一台。
  3. 快取檢查:邊緣伺服器會檢查自己是否已快取所要求的內容。
  4. 傳遞:如果已快取,內容會立即傳送。若未快取,邊緣伺服器會從來源伺服器擷取內容,為未來請求快取一份副本,然後再傳送給您。
  5. 動態內容:對於動態內容(例如個人化頁面),CDN 可將請求路由至來源伺服器,同時仍最佳化連線路徑。

關鍵的是,所有使用相同 CDN 的網站都會透過 CDN 的共享邊緣伺服器傳送內容。這表示數百個原本彼此無關、但服務相似地理區域的網站,可能會共享某地區 CDN 邊緣伺服器的 IP 位址

CDN 與過度封鎖的風險

為了打擊其足球賽事的非法串流,西班牙頂級足球協會 LaLiga 已取得法院命令,要求西班牙網際網路服務供應商封鎖屬於 CDN 供應商 Cloudflare 的數千個 IP 位址。這是因為它已將這些 IP 位址與非法串流服務連結起來。

西班牙受 Cloudflare 封鎖影響的服務

問題在於,這些 IP 位址屬於 Cloudflare 的邊緣伺服器,而這些伺服器同時也被數千個(甚至可能數百萬個)合法網站使用。這使西班牙數百萬人無法可靠地存取一些熱門網站,包括(新視窗) GitHub、ChatGPT、政府網站與銀行服務。

關於 CDN 的最後想法

內容傳遞網路如今已成為現代網頁不可或缺的基礎設施,默默支撐著您早已習以為常的快速且可靠的線上體驗。透過將內容分散到地理位置分布廣泛的邊緣伺服器,CDN 能降低延遲、吸收流量高峰、提升正常運作時間,並增加關鍵的安全防護層。

它們的實用性很大一部分在於其隱形性。雖然網際網路上超過四分之三的網站都在使用 CDN,但我們大多數人甚至從未想過它們的存在。然而它們就在那裡,在今日約四分之三的網站背後默默運作,確保內容無論地理位置如何都能快速且可靠地送達。

近來政府、法院與企業利益集團封鎖網際網路服務的情況,無可避免地對更廣泛的網際網路造成了重大附帶傷害。