ZStack實踐匯|私有云網絡應用模型

雲計算基礎架構即服務(IaaS)主要管理了數據中心的計算、存儲和網絡等核心資源,通過對資源的集成、池化和抽象對外按需提供即時的雲主機、雲磁盤、網絡服務及其他系統管理功能(例如賬戶、監控、運維、計費等)。由於對資源進行了高度抽象和細粒度管理,雲計算平臺能夠提供比傳統獨立服務器更高效和更可靠的數據服務,讓資源始終以最高效率提供最穩定的服務。

公有云部署在公有云服務提供商的數據中心,以租用售賣的模式提供雲主機給最終客戶使用。公有云主要以提供彈性IP(EIP)網絡模型。不同客戶購買的雲主機都默認使用內網IP地址,並通過網關訪問互聯網。因爲採用隔離技術,內網IP地址可以重複。爲了讓內網IP地址的雲主機能被互聯網訪問(例如搭建的網站),就需要額外購買EIP。EIP可以和用戶的任意雲主機一對一綁定,訪問EIP就相當於訪問綁定的雲主機。從用戶的角度來看,用戶使用EIP登錄的雲主機,看到的還是一個內網IP地址,因爲EIP會配置在“網關”處,用戶不能直接看到他的配置。用戶也可以創建沒有EIP的雲主機,僅使用內網IP地址和該用戶的其他雲主機進行高速的互聯。早期公有云提供的經典網絡模型(與扁平網絡類似)在多租戶隔離方面並不完善,後期陸續推出了虛擬私有云(VPC)網絡模型可以做到二層網絡隔離。除此之外,公有云可以提供專線、VPN或者智能加密網關等能力與用戶私有網絡連通。

私有云部署在用戶自有數據中心,僅對用戶自身或用戶的租戶提供雲計算的服務。在私有化的數據中心中的網絡模型以二層扁平網絡爲主,也包括隔離網絡、彈性IP網絡,甚至是複雜的動態路由網絡。私有云網絡僅依靠通用x86服務器和通用網絡交換機,便可以構造出複雜的網絡場景滿足客戶的差異化需求。私有云主要是通過NFV(網絡功能虛擬化)和SDN(軟件定義網絡)的方式來提供各種複雜的網絡服務能力,提供的網絡服務包括:二層網絡隔離;三層網絡IP分配、路由、轉發、VPN、安全組(分佈式防火牆);四層以上的負載均衡;審計監控等。

爲了方便理解和使用,我們將會介紹一些ZStack私有云環境中常用的網絡模型。

二層扁平網絡(經典網絡)

在這裏插入圖片描述

圖一:二層扁平網絡

通常的二層扁平網絡是指在一個私有云數據中心中,所有的物理機和雲主機都在一個二層網絡之上,他們的IP地址也在相同的三層網絡段。物理機和雲主機之間相互訪問是不需要通過網關進行路由的。例如圖一所示,所有的計算單元都是分配的192.168.0.1/24這個網絡段中的一個IP地址。當資源需要訪問互聯網的時候,會通過網關路由器192.168.0.1對外通訊。

二層扁平網絡是常見而典型的企業網絡拓撲架構,企業內部的電腦可以直接相互訪問,網絡拓撲和架構都非常簡單。由於資源都在一個二層網絡之上,網絡訪問控制通常通過私有云的安全組(也稱分佈式防火牆)來保證。在私有云配置中,三層網絡的網關地址需要設定爲公司內網的網關地址。另外分配給雲主機的IP地址段不能和物理機相關的IP地址段衝突,需要人爲的劃分隔離。

企業網絡環境相對複雜的場景,可能會根據地域或者部門劃分多個二層扁平網絡,扁平網絡之間通過路由互通,不同的二層網絡可以採用VLAN進行分割。在用VLAN分割的二層網絡中,服務器通常只能屬於特定的VLAN網絡。雲平臺在這種場景裏就可以體現很強的資源共享優勢,一個雲平臺可以連接不同的VLAN網絡。雲平臺上分配資源的最小單位是虛擬的雲主機,於是可以根據用戶的需求,自由的在雲平臺上創建和回收屬於不同VLAN網絡的雲主機,甚至在一臺計算節點上可以創建同時連通多個VLAN網絡的雲主機,從而達到資源的快速調配。

在這裏插入圖片描述
圖二:多個二層扁平網絡

大二層網絡

在這裏插入圖片描述
圖三:大二層網絡

有企業的數據中心可能會分佈在不同的地區,中間通過互聯網或者專線聯通。例如圖三所示,不同地域的數據中心內部是不同的IP地址空間,通過配置三層路由可以讓數據中心A和B之間網絡互通。如果要跨越數據中心之間構建類似於本地的大二層網絡環境,需要藉助VxLAN,GRE這樣的網絡互聯技術。

以VxLAN舉例,它利用數據中心原有網絡作爲底層通訊網絡,從而可以構造超過1600萬個獨立的邏輯二層網絡。每一個邏輯二層網絡就像真實的二層網絡一樣,數據包可以在無感知的情況下跨數據中心進行傳遞,不同的邏輯二層網絡之間相互隔離。以VxLAN作爲雲平臺的業務網絡(公有網絡、私有網絡),有幾個明顯的好處:

二層隔離網絡數量大大增多。傳統VLAN網絡最多隻有4096個,而具有2的24次方個VxLAN的空間遠超現有企業的內部需求。

VLAN配置相對複雜,企業內部對應交換機均需要配置正確。在增加新VLAN網絡的時候,還需要在每個相關交換機上手工配置,維護成本很高。

雲主機可以保持現有網絡連接方式跨數據中心進行遷移。

大二層網絡的特點是通過軟件定義網絡的技術,給雲環境提供一個整體一致的網絡訪問體驗。雲主機可以暢通無阻的使用同一網段的IP地址訪問不同地域的其他雲主機。雲主機也可以跨地域進行熱遷移。ZStack私有云可以提供秒級創建軟件定義的VxLAN網絡,幫助用戶快速構建大二層網絡結構,是典型的SDN解決方案。

純軟的SDN解決方案依賴服務器進行VxLAN報文的處理,可以滿足90%以上的客戶需求。當前主流的物理網卡具有VxLAN報文處理能力,可以提供良好的VxLAN報文轉發處理能力性能,並釋放物理機CPU的工作壓力。對性能有極致需求的企業,可能會採購第三方的SDN硬件解決方案(需要注意的是不同廠家的硬件SDN解決方案通常具有較大差異性),並且使用他們進行跨數據中心的互聯。這種場景下,可以採用雲平臺管理SDN硬件控制器的方式統一管理;也可以分離管理,在雲平臺上使用預先規劃好的VLAN與VxLAN交換機進行互聯通信,VxLAN交換機負責將本地VLAN報文打包傳遞給遠端。

虛擬私有云

在這裏插入圖片描述
圖四:多租戶VPC網絡拓撲圖

用戶(也稱租戶)可能希望私有云提供一個和企業辦公網絡隔離的網絡環境。在這個場景中,用戶可以自由定義雲主機私網IP地址空間,雲主機可以訪問企業辦公網,並通過企業辦公網觸達互聯網,但是企業辦公網並不能直接訪問雲主機私網。如圖四中不同顏色的網絡所示,這樣的用戶網絡拓撲在私有云中可以有成千上萬個,他們都具有相似的網絡特性,它們和數據中心的網絡之間通過虛擬的雲路由網關相連。由於它們之間進行了二層隔離,於是可以使用相同或是重疊的IP子網。這種場景可以想象成,私有云是一個互聯網,每個用戶的隔離網絡是一個企業。企業可以通過網關訪問互聯網的資源,互聯網的資源不能直接穿透到企業內部,企業和企業的內網之間也不能直接互聯。利用這樣的網絡架構,用戶還可以自主定義和做更多的事情。例如,用戶可以創建一個雲主機,讓這個雲主機同時連接不同私有網絡,這個特殊的連接不同私有網絡的雲主機可以訪問各個網絡。

用戶如果希望讓自定義子網的雲主機能夠被外網直接訪問,他可以使用私有云提供的兩種功能:端口轉發和彈性IP(EIP)。私有云的EIP與公有云的EIP功能是完全一樣的。端口轉發和彈性IP相當於在雲路由網關上申請了一個獨立的外網IP地址,並且把這個IP地址和一些端口與內部的雲主機進行了網絡映射。當外網資源訪問這個IP地址時,就會被映射訪問到內網的雲主機。需要注意的是,EIP和內網雲主機是一一對應的,一個內網雲主機獨佔一個EIP;端口轉發和內網雲主機是一對多的關係,“端口轉發IP地址+端口”對應一個雲主機(使用時也可以以一個端口區間進行映射)。

虛擬私有云(VPC)可以提供這樣網絡服務的技術,它給用戶提供了自定義網絡拓撲的能力。VPC網絡環境和實際企業網絡環境是非常相似的,用戶可以定義一個子網(包含一個三層地址空間,如192.168.0.1/24),也可以定義多個不能重疊的子網(一組三層地址空間,如192.168.0.1/24,192.168.1.1/24,172.16.0.1/16 等)。每個子網可以使用VLAN或者VxLAN進行隔離。

在這裏插入圖片描述
圖五:包含多子網的VPC網絡拓撲圖

VPC的功能強大,除了基本的子網定義和彈性IP功能,用戶可以定義VPC路由表,定義不同子網之間的連通性。通過VPC防火牆的功能,可以添加更多的網絡防護,增強整個VPC的安全。通過私有云雲平臺的高級能力,還可以通過VPN等功能和其他私有云、或者公有云的互聯互通,實現業務遷移和災備等功能。用戶通過雲路由網關連接外部世界,雲路由網關通常也是一個雲主機,爲了保障業務連續性,雲路由網關還需提供雙活高可用的能力。
私有云VPC和公有云VPC在功能上非常類似,不過私有云還可以靈活的實現一些公有云通常難以實現的功能,例如跨租戶和子網的動態路由協議OSPF、組播、端口流量監控、流量鏡像等。

總結

計算、存儲與網絡構成了雲計算IaaS的基礎,網絡是其中最千變萬化的一個。雲計算可以在雲中快速的提供和真實場景一模一樣的網絡環境。能夠虛擬出複雜的網絡拓撲結構,並提供各種穩定便捷的網絡服務,是衡量一個私有云能力的重要標準,也是雲計算區別於傳統虛擬化軟件的重要功能。

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