Cloudflare:什么是 Anycast?

來源: Cloudflare
作者:Cloudflare
時間:2021-01-25
20743
Anycast 是一種網(wǎng)絡(luò)尋址和路由方法,可以將傳入請求路由到各種不同的位置或“節(jié)點”。在 CDN 的上下文中,Anycast 通常會將傳入的流量路由到距離最近并且能夠有效處理請求的數(shù)據(jù)中心。選擇性路由使 Anycast 網(wǎng)絡(luò)能夠應(yīng)對高流量、網(wǎng)絡(luò)擁塞和 DDoS 攻擊。

什么是 Anycast?

Anycast 是一種網(wǎng)絡(luò)尋址和路由方法,可以將傳入請求路由到各種不同的位置或“節(jié)點”。在 CDN 的上下文中,Anycast 通常會將傳入的流量路由到距離最近并且能夠有效處理請求的數(shù)據(jù)中心。選擇性路由使 Anycast 網(wǎng)絡(luò)能夠應(yīng)對高流量、網(wǎng)絡(luò)擁塞和 DDoS 攻擊。

ia_1000000029.png

Anycast 如何工作?

Anycast 網(wǎng)絡(luò)路由能夠跨多個數(shù)據(jù)中心路由傳入的連接請求。當(dāng)請求進(jìn)入與 Anycast 網(wǎng)絡(luò)關(guān)聯(lián)的單個 IP 地址時,網(wǎng)絡(luò)將根據(jù)某種優(yōu)先級排序方法分發(fā)數(shù)據(jù)。通常,通過選擇與請求方距離最短的數(shù)據(jù)中心來優(yōu)化選擇特定數(shù)據(jù)中心的選擇過程,從而縮短延遲。Anycast 的特征是許多關(guān)聯(lián)中的一對一,并且是 Internet 協(xié)議中使用的 5 種主要網(wǎng)絡(luò)協(xié)議方法之一。

為什么使用 Anycast 網(wǎng)絡(luò)?

如果同時向同一源站服務(wù)器發(fā)出許多請求,該服務(wù)器可能會不堪重負(fù),無法有效響應(yīng)其他傳入請求。在 Anycast 網(wǎng)絡(luò)中,主要流量不是由一臺源站服務(wù)器來承擔(dān),其負(fù)載可以分散到其他可用的數(shù)據(jù)中心,每個數(shù)據(jù)中心都具有能夠處理和響應(yīng)傳入請求的服務(wù)器。這種路由方法可以預(yù)防源站服務(wù)器擴(kuò)充容量,而且能避免向源站服務(wù)器請求內(nèi)容的客戶端遭遇服務(wù)中斷。

Anycast 和單播有什么區(qū)別?

大多數(shù) Internet 通過稱為“單播”的路由方案工作。在單播下,網(wǎng)絡(luò)上的每個節(jié)點都有一個唯一的 IP 地址。家庭和辦公室網(wǎng)絡(luò)使用單播;如果一臺計算機連接到無線網(wǎng)絡(luò)并收到一條消息,指出 IP 地址已被使用,這時發(fā)生了 IP 地址沖突,因為同一單播網(wǎng)絡(luò)上的另一臺計算機已在使用同一個 IP。在大多數(shù)情況下,這是不允許的。

ia_1000000030 (1).png

如果 CDN 使用單播地址,流量會直接路由到特定的節(jié)點。當(dāng)網(wǎng)絡(luò)遇到異常流量時(例如在 DDoS 攻擊期間),這會造成漏洞。由于流量直接路由到特定的數(shù)據(jù)中心,該位置或其周圍的基礎(chǔ)設(shè)施可能會被流量所壓垮,進(jìn)而可能導(dǎo)致合法請求遭受拒絕服務(wù)。

使用 Anycast 意味著網(wǎng)絡(luò)可以極有彈性。由于流量會找到最佳路徑,因此整個數(shù)據(jù)中心脫機也沒有關(guān)系,流量會自動流向鄰近的數(shù)據(jù)中心。

Anycast 網(wǎng)絡(luò)如何緩解 DDoS 攻擊?

在其他 DDoS 緩解工具過濾掉一些攻擊流量后,Anycast 會將剩余的攻擊流量分散到多個數(shù)據(jù)中心,以防止任何一個位置被請求壓垮。如果 Anycast 網(wǎng)絡(luò)的容量大于攻擊流量,就可以有效緩解攻擊。在大多數(shù) DDoS 攻擊中,許多受損的“僵尸”或“機器人”計算機被用來組建成所謂的僵尸網(wǎng)絡(luò)。這些計算機可以在網(wǎng)絡(luò)上四處分散,產(chǎn)生大量流量,以致壓垮典型的單播連接機器。

ia_1000000031 (1).png

正確實施 Anycast 的 CDN 可以擴(kuò)大接收網(wǎng)絡(luò)的表面積,使得來自分布式僵尸網(wǎng)絡(luò)的未過濾拒絕服務(wù)流量能被 CDN 的各個數(shù)據(jù)中心吸收掉。因此,隨著網(wǎng)絡(luò)規(guī)模和容量的不斷擴(kuò)大,針對使用 CDN 的任何人發(fā)起有效 DDoS 的難度也越來越高。

設(shè)置一個真正的 Anycast 網(wǎng)絡(luò)并不容易。正確實現(xiàn)需要 CDN 提供商維護(hù)自己的網(wǎng)絡(luò)硬件,建立與上游運營商的直接關(guān)系,并調(diào)優(yōu)他們的網(wǎng)絡(luò)路由,以確保流量不會在多個位置之間“交替”。這篇 Cloudflare 博客文章闡述了 Cloudflare 如何在沒有負(fù)載均衡器的情況下使用 Anycast 來進(jìn)行負(fù)載均衡。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家