技術乾貨丨雲企業網CEN2.技術揭祕
簡介:隨著企業數字化轉型的加速,越來越多的企業選擇了將業務部署在雲上,這其中有超過20%的企業有全球組網的需求,這就使得雲上網路的規模越來越大,複雜度也越來越高,為了應對這些變化,阿里雲推出了升級版的雲企業網產品,為給客戶提供更加智慧,更具彈性也更加靈活的全球化雲網絡體驗。
01、雲企業網CEN2.0產品功能
CEN 是主打企業私有專用網路組網型產品。它提供的是基於意圖的全球雲網絡,實現全球多個地域比如北京和杭州之間、資料中心之間的互聯,同時能夠打通雲上的各種服務,比如 OSS、 RDS 等。提供豐富多樣的私網連線,是 CEN 提供的基礎能力。
相對於 CEN 1.0,2.0 版本在豐富連線能力上做了持續拓展,支援了 VPC 載入多 CEN ,同時即將推出雲上和跨域的組播,支援就近轉發等能力;在規模上, CEN 2.0 支援超大規模的組網能力,單地域最大支援 1000 個 VPC Attachment ,全球最大支援 5000 條路由的大規模組網,比原先的組網規模擴大了 100 倍。
為了更方便、更快捷的管理網路,我們提供了動態路由傳播,簡化網路運維,同時也提供路由匯聚、靜態路由等來縮減路由規模,對使用者的網路提供靈活的工具進行精細化管理。基於多路由表加轉發關聯的能力,提供 ServiceChain 能力,能夠更好的將防火牆等安全業務整合到使用者的私網中,提高網路的全球性。此外還有 flowlog、 流量標記、分賬等能力,提高網路的可管理水平。
02、CEN2.0背後的技術架構
上圖展示了 CEN2.0 背後的技術架構。CEN2.0 是基於阿里雲網絡的洛神技術底座的具體業務。
最底層是資料中心網路、廣域網路、公網、專線等基礎物理資源,左邊是業務平面。
第二層是軟硬一體化的架構,比如伺服器、MOC、 FPGA、 可程式設計交換晶片等,此層提供了高效能網路轉發的閘道器和虛擬機器資源等,負責計算虛擬化和網路虛擬化。
第三層是彈性開放的虛擬化網元平臺,代號為 CyberStar,它為業務提供了執行環境,以及容災切換、彈性排程等能力。
最上層是各種各樣的網元,在此層面網元可以專注地實現自己的業務邏輯,無須過多關注底層細節。除了 TR 之外,上面還存在很多其他豐富多樣的網元,比如NAT閘道器、ALB等。
右側是控制平面,首先是 CEN SDN 控制平面,它是 CEN 2.0 網路意圖的大腦。最初的CEN 就堅持使用全 SDN 的思想來構造 CEN 的大腦,提供許多靈活的特性。網路大資料智慧分析平臺“齊天”,負責分析網路並提供網路執行的狀態度量和洞察能力。
03、CEN2.0的智慧控制器
CEN SDN 控制器是大腦,它能夠將使用者意圖和配置翻譯為資源和連通性的配置,提供私網連線的能力。同時它還能接受各種事件,產生各種排程,優化底層的服務質量。它具有以下三個顯著優點:
第一,CEN 的控制器堅持使用 SDN 的理念和方法自研,將所有路由都通過 RPC 的方法接入到控制器中,包括 VPC 、專線、VPN 、CCN 等,而不是反過來的將路由注入到傳統的路由協議棧裡來實現。
此方法擁有很強的能力以及很大的自由性和靈活性。既可以給使用者更靈活的控制能力,比如提供routemap的能力,讓使用者編輯和修改路由,匹配路由的屬性,實現各種路由的控制,同時又能更好地與雲產品結合,提供更好的使用者體驗,比如可以跟 SLB、DTS 等服務進行很好的整合。
第二,控制器實現了智慧感知的能力,它會關注業務的位置和業務的需求,在智慧和業務之間 match ,提供就近轉發、智慧服務、質量保證等服務,也提供了容災收斂、彈性擴縮容等能力。
第三,為了提供超多平面、超大規模的網路, CEN 的控制器採用記憶體計算的方法。之前版本的控制器之間有很多中間狀態需要持久化,導致很大的 IO 開銷。而在 CEN 2.0 中,控制器看到的資料被分為兩種,一種是拓撲資料,另外一種是狀態資料。拓撲資料相對比較靜態、比較少,而狀態資料是實時變化的,量也很大。
CEN2.0 版本的控制器將大部分狀態資料放到記憶體中,使用多級儲存和分散式同步的方法,既保證了可靠又提供了效率。因此相對於之前的版本效能有了很好的提升。
04、CEN2.0的轉發網元
CEN 2.0 的轉發網元,從使用者視角看到的是 TR(Transit Router) 網元,它執行在 cyberstar 平臺上。Cyberstar 是洛神 3.0 中研發的NFV平臺,它會按需孵化 ECS 叢集來執行業務。
最下面是使用者跑業務的 VPC ,每個 VPC 裡使用 ENI-bonding 技術,將流量引到執行 TR 的 ECS 叢集上。使用 ENI-bonding 使得 TR 與使用者的連線(即VPC Attachment)具有云原生的特性,保留了 VPC 和 ENI 的特性,比如它能夠結合直網路由 2.0 做 segmentation 或 ServiceChain 的能力。
往上是 ECS 資源池。從圖上可以看到,每一個 ENI-bonding 都插入到多個 ECS 中,每個VPC的流量會引入到多臺 ECS 上去處理,使得處理能力能夠水平擴充套件。如果使用者的流量有突發,即可彈性擴容 ECS,可以根據實際業務的需求按需使用 ECS。
而不同的可用區之間亦是接入到不同的叢集,流量可以先引到本可用區的 ECS 叢集上處理。這樣操作,一是可以做本地化優先處理,時延更短,二是可以進行可用區之間的容災隔離,同時還可以達到多可用區之間的水平擴充套件能力。
當 ECS 叢集發生故障時,有幾種機制可以用於處理容災。一種是通過ENI-bonding 的彈性機制進行自動容災隔離。當叢集中少量 ECS 故障時,可以先隔離有問題的機器儘快建立新的機器,彈性加入叢集中以提供與原先一致的服務質量;當叢集有大量 ECS 故障時,依靠單叢集的容災已經很難恢復。此時可以將 Attachment 流量都切到使用者選擇的其他可用區內,儘量保證使用者業務不受影響。
因此,儘管在新版本中允許租戶在在建立 VPC Attachment 時只選用一個可用區,但我們依然推薦使用者選擇多個可用區以進行容災保護。
其他容災機制比如沙箱遇到突發流量影響到其他使用者時,可以將使用者的業務直接遷移到沙箱叢集上以消除對其他使用者的影響。
05、CEN2.0的雲原生連線
VPC Attachment 使用雲原生的連線來引流的技術是 ENI-bonding。在沒有此項技術以前,使用普通的 ENI 技術存下以下缺陷:
首先,沒有水平拓展能力的提示,沒有容災能力或容災能力很慢。
其次,由於底層裝置虛擬化的能力,單個 ECS 能夠建立 ENI 的數量很小,一般只有 16 到 32 個。
另外,OS 在處理裝置增加的時,並不會將其當成 Time-Critical 的任務來處理,因此增加、刪除 ENI 裝置需要很多步驟,比如需要經過 PCI 匯流排的定時掃描、作業系統響應,根據裝置的 ID 識別裝置型別,查詢並響應載入相應的驅動程式,初始化裝置分配記憶體等一系列處理後,才能交付給網元的業務處理,通常需要花費分鐘級別的時間,而這樣的速度無法滿足NFV網元快速彈性縮容的需求。
Cyberstar 平臺底層依賴於自研的 ENI-bonding 技術解決前文提到這些問題。它能夠將 ENI 同時插到多臺 ECS 上,在 ECS 中以子介面的形式加入到單個虛擬網絡卡中,能夠很好地解決前面提到的幾個問題。它是一個高密度的解決方案,能夠將單臺 ECS 支援的 ENI 數量提高到千級別, 響應速度可以達到秒級甚至亞秒級。出現故障時,它能夠進行實時健康檢查,在轉換面進行實時收斂,不管是在叢集內還是叢集間都能實現秒級的切換。同時它還支援Shuffle sharding,可以大幅降低故障的半徑。
在傳統的網路中,有很多流量編排的解決方案,為了部署防火牆、廣域網加速等網路服務, 網路工程師可以通過路由、策略路由、MAC或ARP代理等多種方式,將這些依賴或邊緣的服務放到網路中,一般是在邊緣的出口集中部署和管理這些服務。
在雲網絡中,由於流量受 SDN 控制,不像傳統網路有那麼多種解決方案。過去在雲上部署這些服務比較困難,沒有特別好的引流手段,而且這些手段對於原來的組網方法要麼不相容,要麼需要侵入到組網中甚至破壞原來的組網設計。
06、CEN2.0 Service Chain
上圖展示了使用者業務部署的場景。使用者的組網可以分為幾個部分:
第一部分是網際網路接入,在此放置公網暴露的服務,比如 NAT、SLB、EIP等。如上圖裡面畫了兩個 AZ,表示能夠提供多 AZ 的容災能力,表示能夠提供多 AZ的容災能力。右下角是雲上部署的應用,客戶可以按照不同的應用或者組織維度劃分不同的 VPC ,然後將它的應用部署在其中。左下角是介面區,可以用 VPN 閘道器、專線、SAG等產品接入到雲上。所有互訪流量都需要經過一些安全防護以獲得安全服務,裡面既包含了私網之間的東西向流量,也包含了從私網到公網的南北向流量。
在 CEN 2.0 產品中,通過 CEN TR 的多路由表和關聯轉發,再搭配 VPC 的子網路由,即可在 CEN 2.0 的組網上很好地提供流量編排的能力,把想要的網路服務都放到網路中。
上圖中最核心的就是 TR 的兩張路由表,一張是綠色的名為“可信路由表”,通過它可以將流量引到各個業務中;另外一張叫“不可信度表”,所有業務流量之間的轉化都會首先關聯到不可信路由表,將流量轉發到防火牆上,經過流防火牆清洗的乾淨流量會再次注入到 TR ,然後轉到各個業務網元中去。
我們的方案是一個開放的方案,可以支援三方的網元並開放給各位廠商使用,支援透明或代理模式。在國內產品中,我們是首個提供此類解決方案的雲廠商。
07、總結和展望
CEN 2.0 是長在洛神 3.0 技術架構上的產品。未來,我們仍然會秉承洛神3.0 核心的理念,支撐洛神 3.0 產品自身的發展。
洛神3.0是一個智慧的網路,我們將持續打造智慧網路,為大規模、高效能、複雜的網路提供智慧的管理、分析和決策,助力業務成長;它也是一個面向應用和生態的網路,我們將持續使用雲原生的技術思考並完善產品,為雲化時代的組織和業務提供最佳的網路和應用互聯架構;最後,它還是雲邊一體、萬物互聯的網路,我們將持續發展全球一張網,延伸網路邊界。
作者介紹
作者:溫曙光
阿里雲智慧雲網絡產品線高階技術專家,現在負責雲企業網轉發路由器產品的設計和開發,長期從事虛擬網路/軟體定義網路/高效能網路等相關工作,對作業系統、分散式系統、雲時代的應用有廣泛的興趣和研究。
本文為阿里雲原創內容,未經允許不得轉載。
- 企業實踐|分散式系統可觀測性之應用業務指標監控
- MAE 自監督演算法介紹和基於 EasyCV 的復現
- 技術乾貨丨雲企業網CEN2.技術揭祕
- 5月25日,阿里雲開源 PolarDB-X 將迎來重磅升級釋出
- 解決微服務架構下流量有損問題的實踐和探索
- 企業版Spark Databricks 企業版Kafka Confluent 聯合高效挖掘資料價值
- 前端效能優化實戰
- 宜搭小技巧|海量資料管理難?這招幫你事半功倍
- 阿里雲軟著申請|這項保護,讓我得到了10萬賠償!
- 阿里雲彈性計算對視覺計算的思考與實踐
- Delta Lake基礎介紹(商業版)
- 資料湖揭祕—Delta Lake
- 你不知道的 HTTPS 壓測
- 阿里開源自研工業級稀疏模型高效能訓練框架 PAI-HybridBackend
- 使用者留存建模實踐
- 重磅釋出 | Serverless 應用中心:Serverless 應用全生命週期管理平臺
- Apsara Stack 技術百科 | 聯結良性生態,築千行百業的數字基石
- 如何在雲端重塑內容生產?來看這場虛擬人主持的釋出會
- 大資料線上離線一體化解決方案最佳實踐
- 基於MaxCompute的大資料安全方案