企業出海,網絡先行:UCloud 基於 SD-WAN 的羅馬全球網絡加速

隨着越來越多的企業踏上業務出海的征程,亟待解決的問題便是:如何做到全球範圍內 IT 資源的快速調動和信息暢通?若選擇公網遠距離傳輸,網絡時延和抖動的體驗很差;專線價格昂貴,多條專線還會造成運維困難;隨着多雲部署的流行,跨雲傳輸也是企業所要面臨的難題之一。

企業出海,網絡先行。在此背景下,UCloud 的 SD-WAN 產品羅馬 Rome 應運而生。與傳統方案相比,Rome 通過底層架構設計,在成本、性能、可用性等方面存在巨大的優勢。例如利用 Segment Routing 提高轉發效率,智能鏈路調度實現秒級選路等,下面將重點介紹。


—— 01 ——

Rome:基於 SD-WAN 助力全球網絡加速

SD-WAN 技術是 SDN 在廣域網下的特定應用,它通過消除物理設備的流量管理負擔並將其轉移到軟件,從而獲得部署和管理的靈活性,幫助用戶最大限度地減少管理基礎架構和連接的麻煩。


| Rome 網絡構成:核心網 + 接入網
(1)Rome 核心網
基於 SD-WAN 技術,Rome 核心網依託 UCloud 全球數據中心及跨地域、跨運營商網絡,爲用戶提供全球範圍內的就近接入、鏈路動態調度,實現端到端的高穩定連接,規避骨幹網絡故障、跨地域 / 跨運營商擁堵等導致的響應慢 、丟包等問題。

圖:分佈全球的 Rome 核心網

(2)Rome 接入網
Rome 提供多種場景接入,包含專線、多雲、混合雲、互聯網等,用戶需選擇最合適的接入方式。Rome 將用戶接入同地域或鄰近地域核心網轉發節點,由 Rome 核心網將流量分發至目的地域,用戶可選的接入方式如下:
① 初期業務量較小時,可選擇 EIP 方式接入,該方式屬於同地域 EIP 互聯,不會對網絡質量造成影響; 當業務量較大時,可選擇專線方式接入,該方式可以極大程度的保證網絡質量,且當接入專線均發生故障時,Rome 支持無縫切換至 EIP 以保證用戶業務正常。專線接入方式可以通過 UCloud 控制檯實現一鍵打通,後續 Rome 也將同步上線 EIP 一鍵打通功能,用戶無需等待漫長的施工週期。

| 控制平面與數據轉發平面相分離
由於遠距離傳輸的特殊性,SD-WAN 根據功能分離爲控制平面和數據轉發平面,這樣的分離能夠大大增加網絡服務的敏捷性,可以更加智能地從數據平面到更加抽象的和可編程的控制平面遷移。Rome 同樣由控制面和轉發面兩部分組成,完成數據高可靠傳輸的保障。

(1)Rome 控制平面設計

控制平面主要負責網絡信號的交換和數據包路由的選擇,它也包含設備的系統配置和管理,同時還負責保障業務面通暢的控制管道。

圖:UK8S 同城雙活架構

如上圖,Rome 控制層採用 UK8S 同城雙活架構,每個應用多副本對等部署在兩個數據中心的 UK8S 集羣,利用域名解析服務 DNS 將入口流量分別導入兩個集羣,有效預防並降低由於單個數據中心出口或單個副本故障造成的業務不可用,在集羣 (數據中心) 和應用層面保證了業務的穩定性和高可用性。


此外,控制層分別由 API、TASK、CONFIG、Monitor、DB 以及 Analysis 組成,各組件執行邏輯如下圖:當 API 接收到數據轉發請求時,便會下發至各個 UK8S 集羣中。TASK 爲主要邏輯執行者,CONFIG 則負責對轉發面各個網元進行配置下發等操作,DB Agent 則負責保存需要持久化的數據,Analysis 對 Rome 核心網進行調度,保證用戶流量能 Run 在最優路徑上,最終由 Monitor 完成對各服務以及 Rome 核心網狀態及質量的監控。

圖:Rome 控制面執行邏輯示意圖

其中,Analysis 和 Monitor 對鏈路調度起着關鍵性的作用,下文還會詳細介紹。


(2)Rome 轉發平面設計

轉發平面主要承載網絡的轉發應用和用戶數據,由高吞吐轉發節點組成。Rome 基於 DPDK 實現高吞吐低時延的包轉發節點,且任意兩節點之間均採用專線作爲主線路,保證線路網絡高可靠。

圖:Rome 轉發面架構圖
如上圖,每個轉發節點和接入節點均由雙節點組成,且互爲主備。當主節點不可達時自動切換到備節點,可做到秒級切換,從而最大程度上保證網絡質量。此外,Rome 各地域之間形成環網,由 Analysis 根據路徑質量對路徑進行統一調度。


值得一提的是,Rome 還採用了 Segment Routing (以下簡稱 SR) 技術。


SR 是一種新型的 MPLS 技術,其中控制平面基於 IGP 路由協議擴展實現,轉發層面基於 MPLS 轉發網絡實現,SR 的好處在於簡化了 MPLS 控制協議、減少資源佔用、簡化網絡運維和管理,增強路徑調整和控制能力。


Rome 轉發平面採用 SR 路由方式實現流量轉發。控制平面根據實時網絡質量計算出兩點間的最優路徑,併爲鄰接節點分配標籤(用於標識 SR 網絡中的路由鄰接鏈路,是 SR-TE 主要使用的標籤類型,鏈路標籤具有一定的方向性,用於指導報文的轉發,僅在源節點本地有效),爲整條路徑分配標籤棧(標籤排序的集合,用於表示一條完整的 LSP)。轉發節點識別報文攜帶的標籤,並根據標籤進行路由。Rome 應用 SR 大大提高了網絡的轉發效率,降低時延,最大程度保障了用戶的使用體驗。


—— 02 ——

條條大道通羅馬:實時監控下的智能鏈路調度

高穩定與高性能之外,網絡的靈活性和敏捷性有時反而更爲關鍵:那如何根據用戶需求與網絡實時狀態快速做到最優鏈路調度,從而實現數據在全球範圍內的無縫流動呢?☟Rome 的答案是在選路和切換時的智能鏈路調度技術,舉個例子:用戶在用網絡的兩鄰接節點時延突增時,Rome 會在秒級內將流量切換至相鄰時延較小的節點,從而保證整體網絡質量。


| 建立線路質量元數據
首先,Rome 通過建立細粒度的線路質量元數據,實現數據實時監控的良好基礎,也幫助網絡運維人員能夠更加便捷實時地掌握全球業務數據動態與流向。

圖:線路質量元數據實時監控示意
如上圖,Rome 分爲接入節點、轉發節點及 DB 三部分完成線路質量元數據的建立與實時監控,接入節點 & 轉發節點負責定時上報線路丟包率、線路時延、帶寬負載、接入點 CPU 使用率、接入點磁盤利用率等數據,DB 將所有數據保存以供後臺實時分析與監控。
每個接入節點、轉發節點均有主備節點,且接入節點與轉發節點爲網狀連接、轉發節點之間也爲網狀連接,如下圖,所有轉發節點組成 Rome 核心網。

圖:Rome 核心網
| 智能選路
基於分佈全球的專用線路,Rome 通過鏈路智能檢測技術,提供更加靈活高可靠的選路。智能選路分爲兩方面:接入節點選路和轉發節點選路。
(1)接入節點選路

以地域 0 爲例,如下圖,用戶 VPC——> 接入點 VPC——> 轉發點 VPC 爲打通狀態,默認分別與主節點相連,在接入節點爲用戶 VPC 創建 TC 規則,接入節點與轉發節點通過隧道封裝報文。

圖:用戶 VPC——> 接入點 VPC——> 轉發點 VPC 打通
接着,Rome 會在 Local 接入節點與 Remote 接入節點分別進行鏈路檢測,將鏈路檢測結果持久化,由 Monitor 拉取鏈路檢測結果,並根據該結果選擇接入節點與轉發節點的路徑。


鏈路檢測結果包含以下幾個維度:Local 接入節點到 Local 轉發節點可達性、丟包率及時延;Local 接入節點到 Remote 接入節點可達性、丟包率以及時延;Local 轉發節點負載。最終會出現以下三類情況:
 若 Local 主接入節點到 Local 主轉發節點不可達或網絡質量較差,則選擇 Local 備接入節點到 Local 備轉發節點路徑; 若 Local 主接入節點到 Remote 主接入節點不可達或網絡質量較差,則選擇 Local 備接入節點到 Remote 備接入節點; 若 Local 主轉發節點負載較高,則選擇 Local 備接入點節點到 Local 備轉發節點。


(2)轉發節點選路
以地域 0-> 地域 2 爲例,地域 0-> 地域 2 的可用路徑有地域 0-> 地域 1-> 地域 2 和地域 0-> 地域 3-> 地域 2,每兩鄰接地域的主備轉發節點均互連,即:兩鄰接地域的 link 有 4 條。

圖:地域 0-> 地域 1-> 地域 2 轉發示意

Rome 同樣對鄰接轉發節點進行鏈路檢測,將鏈路檢測結果持久化,由 Analysis 拉取鏈路檢測結果,並根據該結果選擇鄰接轉發節點的 link。


鏈路檢測結果包含以下幾個維度:鄰接轉發節點間可達性、時延以及丟包率;轉發節點負載;資費。鏈路檢測及調度步驟如下:
 根據源和目的轉發節點信息計算出源轉發節點 -> 目的轉發節點的可用路徑; 根據所有可用路徑每根 link 的時延、丟包率、負載、資費,計算出一個 cost 值,從而爲每條可用路徑計算出一個總的 cost 值; 根據每條可用路徑的 cost 值選擇最優路徑,爲整條路徑經過的轉發節點分配標籤,當流量進入某轉發節點之後根據標籤選擇下一跳; cost 計算原則(cost 越小路徑優先級越高): 網絡不可達時 cost 最大; 網絡可達時專線 cost=a * 時延 + b * 丟包率 + c * 轉發節點負載; 網絡可達時 EIP cost=x*(a * 時延 + b * 丟包率 + c * 轉發節點負載),由於資費原因 x>1。


| 智能切換
智能切換分爲接入節點切換和轉發節點切換,且所有切換動作在秒級完成,當在用網絡出現故障時能夠保證第一時間切換爲正常線路。當 link 所有專線均故障時,也會及時將流量切換至 EIP,爲用戶提供穩定可靠的網絡質量。
(1)接入節點切換
Monitor 根據接入節點選路原則進行最優路徑的計算,當計算出的最優路徑與當前路徑不相同時,比較兩路徑的 cost 值:
(當前路徑 cost 值 – 最優路徑 cost 值)/ 當前路徑 cost 值 < 閾值,維持原路徑狀態;(當前路徑 cost 值 – 最優路徑 cost 值)/ 當前路徑 cost 值 > 閾值,將用戶 VPC 路由指向備用接入節點,互換主備接入節點角色。
(2)轉發節點切換
Analysis 每次選路之後都會做一個路徑 cost 值的切片,根據轉發節點選路原則選出當前線路的最優 link(兩鄰接轉發節點的有效路徑),當最優 link 與當前 link 不相同時,比較兩 link 的 cost 值:
(當前 link cost 值 – 最優 link cost 值)/ 當前 link cost 值 < 閾值時,維持原路徑狀態;(當前 link cost 值 – 最優 link cost 值)/ 當前 link cost 值 > 閾值時,爲最優 link 分配標籤,並同步更新最優路徑信息,將流量引入新計算出的最優路徑。

—— 03 ——

Rome 應用實例:境外跨地域多雲電商場景
目前,Rome 可支持多場景下的應用部署,包括多雲場景、跨雲災備等,此處我們以境外跨地域多雲場景爲例介紹。
某跨地域多雲電商爲保證全球範圍內的業務高可靠,在初期網絡搭建時選擇了多雲方案支持全球業務部署:倉儲系統分佈於 a 雲廠商東京地域,Web 業務則分佈在 b 雲廠商俄勒岡地域。但是由於後期業務量增大,Web 業務需要實時訪問倉儲系統,這就需要分佈於不同雲廠商的兩處網絡實現全球範圍內的快速可靠通信。

不同雲廠商之間存在接口協議區分,很難做到直接打通,更遑論還需達到遠距離實時傳輸的目的,這本應該是一件不可能實現的訴求。最終,該電商採用了 Rome 方案成功解決,網絡架構方案如下圖所示。

圖:境外跨地域多雲電商應用實例


同時,Rome 的使用也非常簡單便捷,即便是如此複雜的跨地域多雲場景,用戶只需在控制檯上做一些簡單的操作,無需關心路由配置等問題便可實現跨地域多雲網絡的一鍵打通。用戶操作完後,Rome 會爲用戶在需要打通的地域分配接入節點,並將接入節點連通 Rome 核心網內最近的轉發節點,從而實現跨地域多雲下的遠距離互聯互通。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章