天天看點

AnyCast IP 和 Google Cloud Premier Service Tier

作者:MeshCloud脈時雲

作者:MeshCloud脈時雲CSM 高現起

什麼是AnyCast IP?

網際網路協定 (IP) 使用三種類型的尋址方案:單點傳播、多點傳播和任播。

單點傳播位址用于辨別單個唯一主機。它用于将資料發送到單個目的地。在計算機網絡中,單點傳播通信是從網絡中的一個點到另一個點的一對一傳輸。

多點傳播位址用于将資料傳送到一組目的地(一對多傳輸)。IP 多點傳播組位址由專門為多點傳播通信保留的 D 類 IP 位址表示,範圍從 224.0.0.0 到 239.255.255.255。發送到多點傳播位址的任何 IP 資料包僅傳送到已加入該特定 IP 多點傳播組的主機,進而減少網絡流量,進而減少帶寬和網絡開銷。如果主機沒有加入該組,接收方将忽略硬體級别的資料包,進而消除該網絡元素中的平台軟體資源消耗。IPv6 多點傳播取代了 IPv4 支援的廣播位址。

Anycast IP 也稱為 IP Anycast 或 Anycast 路由,是一種 IP 網絡尋址方案,允許多個伺服器共享同一個 IP 位址,允許多個實體目标伺服器由單個 IP 位址邏輯辨別。根據使用者請求的位置,任播路由器根據最低成本分析将其發送到網絡中的伺服器,該分析包括評估跳數、最短距離、最低傳輸成本和最小延遲測量以優化選擇目标伺服器。

為什麼要用 AnyCast IP?

CDN 服務提供商使用 Anycast 有效地分發内容,以在 CDN 網絡中實作更快的網絡通路。支援任播的 CDN 将相同的 IP 位址配置設定給多個邊緣伺服器,依靠 IP 路由将請求傳送到網絡中靠近發起請求的用戶端的伺服器。使用的另一種 CDN 任播方法是基于任播的 CDN 負載平衡提供對複制媒體内容的通路。結合路由協定,Anycast 可以将内容請求最佳地路由到任何一個複制的内容伺服器節點,以保持服務的可擴充性。

另一個著名的任播用例是域名系統 (DNS)使用時。DNS 的入口點是通過 DNS 根伺服器,可以處理所有 DNS 請求。這些伺服器托管為使用任播尋址的 DNS 伺服器叢集。這有兩件事:它允許路由算法确定“最近”的廣告位置并向其發送資料包,并在本地 DNS 根伺服器可能關閉時建立内置備援。許多商業 DNS 提供商已切換到 IP 任播環境,以提高 DNS 查詢性能和備援并提供高效的負載平衡。

Anycast 與邊界網關協定 (BGP) 的核心路由功能相關聯。BGP 任播 IP 位址或字首從多個位置通告。此路由在 Internet 上傳播,使 BGP 能夠“通告”對通告字首的最短路徑的認識,并釋出多個輔助源路徑以到達目标 IP 位址。這使得能夠選擇“相對靠近”使用者資料請求位置的任播伺服器。

為什麼在右側圖中并沒有經過 Oregon 的 PoP 點?

最近的一次分享中,有一個同學對下邊這個圖檔産生了疑問,為什麼在 Premier Service Tier 中,從 Google Cloud Region 沒有從就近的 Oregon 的 PoP 點經過,而是舍近求遠從使用者比較近的 PoP 點經過?下邊的内容我将試着解釋這一問題。

AnyCast IP 和 Google Cloud Premier Service Tier

黃色圓點為 Google Cloud Region,藍色圓點為 Google PoP 點,紅色圓點為 使用者

Standard Service Tier 圖檔所示,使用者的響應資料從俄勒岡附近的 Region 發出,通過附近的 PoP 點出 Google Cloud 網絡,經過網際網路節點的不斷路由,最終到達使用者。該層級網絡,在 PoP 點和使用者之間,需要經過許多不同的網絡、自治系統、ISP,有比較多的路由節點,會存在比較大的延遲和丢包。通俗的說,Standard Service Tier 的資料包在 Google 網絡上花費的時間更少,而在公共網絡上花費的時間比較多,是以性能更差。

AnyCast IP 和 Google Cloud Premier Service Tier

Premier Service Tier 圖檔所示,使用者的響應資料從俄勒岡附近的 Region 發出,通過使用者附近的 PoP 點出 Google Cloud 網絡,經過使用者所在 ISP 營運商網絡,直接到達使用者。該層級網絡,在 Region 和 PoP 點之間,使用到了大量的 Google 内部網絡,同時在 PoP 點和使用者之間,資料包是直接從 PoP 點通過 ISP 營運商網絡直接到達使用者,進而擁有更好的網絡品質。通俗的說,Premier Service Tier 資料包在 Google 網絡上花費的時間更多,反彈更少,是以性能更好。

AnyCast IP 和 Google Cloud Premier Service Tier

這和 UniCast IP 、 AnyCast IP 有什麼關系?

在 Standard Service Tier 網絡中,使用到的公網 IP 為 UniCast IP ,其特點是單點傳播通信,從網絡中的一個點到另一個點的一對一傳輸。上圖中,在 PoP 點和使用者之間,UniCast IP 需要經過比較多的路由進行轉發,擁有更多的跳數,較長的路徑,是以整體而言,網絡性能等同于其他雲廠商。

而在 Premier Service Tier 網絡中,使用到的公網 IP 為 AnyCast IP ,AnyCast IP 是一種 IP 網絡尋址方案,允許多個伺服器共享同一個 IP 位址,允許多個實體目标伺服器由單個 IP 位址邏輯辨別。同時,任播路由器根據最低成本分析将其發送到網絡中的伺服器,該分析包括評估跳數、最短距離、最低傳輸成本和最小延遲測量以優化選擇目标伺服器。Google Cloud 把 AnyCast IP 位址釋出在 176 個 PoP 節點中,同時這些 PoP 節點和 3000+ ISP 廠商做了對等互聯,是以在該層級下的使用者流量,Google Cloud 會盡可能多的使用 Google 網絡,和 ISP 廠商的對等互聯則幫助使用者流量直接從 PoP 點直接通過 ISP 網絡到達使用者手裡,進而整體的網絡性能也會更好。

參考資料:https://kinsta.com/blog/google-cloud-network/

繼續閱讀