什麼是 Anycast?| Anycast 如何運作

Anycast 是一種網路定址和路由方法,其中傳入的請求可路由到各種不同的位置。

學習目標

閱讀本文後,您將能夠:

  • 解釋 Anycast 網路路由
  • 區分 Anycast 和 Unicast
  • 瞭解 Anycast 如何緩解 DDoS 攻擊

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

什麼是 Anycast?

Anycast 是一種網路定址和路由方法,其中傳入的請求可路由到各種不同的位置或「節點」。在 CDN 的環境中,Anycast 通常將傳入流量路由到能夠有效處理請求的最近資料中心。選擇性路由允許 Anycast 網路在面對高流量、網路擁塞和 DDoS 攻擊時具有彈性。

Anycast CDN 圖

Anycast 如何運作?

Anycast 網路路由能夠跨多個資料中心路由傳入的連線請求。當請求進入與 Anycast 網路關聯的單個 IP 位址時,網路會根據某種優先順序方法分發資料。通常會對選擇特定資料中心背後的選擇過程進行最佳化,透過選擇與請求者距離最短的資料中心來減少延遲。Anycast 的特點一對一進行許多關聯,這也是網際網路通訊協定中使用的 5 種主要網路通訊協定方法之一。

為什麼要使用 Anycast 網路?

如果同時向同一來源伺服器發出許多請求,則伺服器可能會被流量淹沒,從而無法有效地回應其他傳入請求。使用 Anycast 網路而不是由一個來源伺服器來承擔流量的壓力,負載也可以分佈在其他可用的資料中心,每個資料中心都有能夠處理和回應傳入請求的伺服器。使用此路由方法,來源伺服器無需擴展容量,且可以避免從來源伺服器請求內容的用戶端面臨服務中斷。

Anycast 和 Unicast 有什麼區別?

大多數網際網路透過稱為 Unicast 的路由配置工作。在 Unicast 下,網路上的每個節點都會獲得一個唯一的 IP 位址。家庭和辦公網路使用 Unicast;當電腦連接到無線網路並收到一條訊息表明 IP 位址已在使用中時,就會發生 IP 位址衝突,因為同一 Unicast 網路上的另一台電腦已使用相同的 IP。在大多數情況下,這是不允許的。

Unicast CDN 圖

當 CDN 使用 Unicast 位址時,流量將直接路由到特定節點。當網路遇到異常流量(例如在 DDoS 攻擊期間)時,這會產生漏洞。由於流量直接路由到特定資料中心,因此該位置或其周圍的基礎結構可能會被流量淹沒,從而導致對合法請求的阻斷服務

使用 Anycast 意味著網路可以具有極高的彈性。由於流量將找到最佳路徑,因此整個資料中心可以離線,流量將自動流向最接近的資料中心。

Anycast 網路如何緩解 DDoS 攻擊?

在其他 DDoS 緩解工具篩選掉部分攻擊流量后,Anycast 會將剩餘的攻擊流量分配到多個資料中心,防止任何一個位置被請求淹沒。如果 Anycast 網路的容量大於攻擊流量,則攻擊將得到有效緩解。在大多數 DDoS 攻擊中,許多受感染的「殭屍」或「機器人」電腦被用來形成所謂的殭屍網路。這些機器可能分散在網路上,並產生巨大的流量,使典型的 Unicast 連接電腦無法承擔。

受到攻擊的 Anycast/Unicast

適當的 Anycast CDN 會增加接收網路的表面積,以便來自分散式殭屍網路的未經篩選的阻斷服務流量將被 CDN 的每個資料中心吸收。因此,隨著網路規模和容量的不斷增長,將越發難以對使用 CDN 的任何人發起有效的 DDoS 攻擊。

建立一個真正的 Anycast 網路並不容易。正確的實作要求 CDN 提供者維護自己的網路硬體,與其上游電訊廠商建立直接關係,並調整其網路路由,以確保流量不會在多個位置之間「翻動」。這篇 Cloudflare 部落格文章說明了 Cloudflare 在沒有負載平衡器的情況下如何使用 Anycast 進行負載平衡。