侯樂青 武警青海總隊網管中心高級工程師馬軍鋒 中國信息通信研究院技術與標準研究所主任工程師
?
云化數據中心網絡的新需求及解決方案
侯樂青武警青海總隊網管中心高級工程師
馬軍鋒中國信息通信研究院技術與標準研究所主任工程師
摘要云計算技術實現了數據中心內部IT資源的虛擬化管理,用戶可以動態、按需、實時地申請IT資源。那么,底層承載網絡如何應對這種新變化,為用戶實時、按需地創建相互隔離的網絡連接并滿足特定QoS需求的承載服務,已成為云化數據中心解決方案關注的焦點。本文分析了數據中心網絡云化后的新需求,討論了云化數據中心網絡解決方案及其關鍵技術,最后就如何選擇云化數據中心網絡解決方案給出了建議。
關鍵詞數據中心網絡虛擬化OverlayUnderlay
隨著寬帶網絡、云計算、移動互聯網的快速發展,電信業務和互聯網業務的相互滲透與融合,電信運營商開始邁入信息服務轉型的關鍵發展階段,由此帶來網絡基礎架構的深刻變革,構建以云化數據中心為核心的基礎網絡已成為互聯網架構演進發展的一個重要方向。云計算技術的成熟和廣泛應用,使得數據中心內部的IT資源(包括計算和存儲)被池化,用戶可以動態、按需、實時地申請池化后的IT資源,實現各種云業務的靈活部署和遷移。而傳統的網絡是剛性、封閉的,網絡配置是靜態的,網絡不與上層應用產生互動,而是通過管理員來進行配置協調。在這種體系架構下,服務提供商很難為用戶動態、按需、實時地創建相互隔離的網絡并提供滿足特定QoS需求的業務承載服務,這也成為數據中心網絡發展面臨的巨大挑戰。
在云計算的環境下,網絡需要實現兩個轉變,一個是從“靜態”到“動態”的轉變,即要求網絡能夠按需、實時、動態地更改配置;一個是從“物理網絡”到“虛擬網絡”的轉變,要求將網絡整合成一個大的資源池,對網絡進行邏輯化的抽象和封裝,屏蔽復雜物理網絡的協議和交互,為上層應用提供簡潔的服務調用接口。在管理和控制方面,需要以整網的粒度,而不是以設備粒度進行網絡的管理,要能夠對多個網絡實體一起協調和調度。SDN(Software Define Networking,軟件定義網絡)技術的出現,為解決該問題提供了新的思路和方法。SDN技術的核心理念是轉發與控制分離、集中控制和網絡可編程,通過引入控制器實現對底層硬件資源的統一調度和管理,抽象網絡服務能力并通過開放接口為上層應用提供服務,從而實現網絡的智能、可編程以及自動化部署。目前,基于SDN架構的技術方案是實現數據中心網絡虛擬化的主流方案,已成為產業界戰略布局的重點方向。
傳統的數據中心網絡是典型的三層架構,包括接入、匯聚和核心,主要承載的是客戶機/服務器模式的應用,其流量以南北向(客戶機與服務器之間)為主。應用的部署與物理服務器(群)一一對應,服務器與網絡設備之間的連接是硬連接,一旦拓撲確定并完成配置,很難動態、按需地調整網絡資源,實時優化數據的轉發路徑。而在云化數據中心環境下,已經實現IT資源的靈活調度和彈性伸縮,用戶可以實時、按需地創建或移除虛機實現業務的靈活部署,這樣從業務的視角來說就需要一張資源能夠靈活調度、可彈性伸縮的網絡來滿足不同租戶業務的承載需求,而且由于分布式系統的規模部署,原有以南北向為主的流量改變為以東西向(服務器與服務器之間)為主的流量,因而對數據中心網絡提出了一些新的需求,包括:
(1)需要支持數萬甚至更高量級的服務器,并允許服務器群的增量部署和擴展。
(2)支持虛機的動態遷移,任意虛機可以遷移到任何物理機。網絡能夠感知虛擬服務器的遷移和調度后網絡位置的改變,能夠自動地進行網絡重新配置,減少人工配置干預。
(3)無阻塞、低時延數據轉發。與傳統數據中心流量模型不同,云化數據中心內主要是服務器和服務器之間的東西向流量。
(4)能夠為不同租戶動態、按需地創建相互隔離且滿足特定QoS需求的虛擬網絡,并且網絡的規模可彈性伸縮。
(5)低成本且高擴展。當增加新服務器時,可以不依賴于高端交換機的縱向擴展,而是采用普通商用化的組件進行橫向擴展;擴展時不影響已經在運行的服務器及網絡設備。
(6)網絡需要能夠靈活地調配負載或靈活地調整自身拓撲和鏈路容量,從而適應網絡流量的變化需求。
(7)高效的網絡協議。根據數據中心結構和流量特點,設計高效的網絡協議。
顯然,現有的數據中心網絡很難滿足上述新的需求,因而業界給出Spine-leaf的二層Fabric扁平化網絡架構,在該架構的基礎上采用SDN技術,增強二層控制平面的能力(由集中控制器完成拓撲管理、轉發路徑計算和下發等),并通過開放可編程接口完成網絡的自動化部署,動態實現為不同租戶創建虛擬網絡,從而實現對網絡資源的高效調度。
為滿足云網絡在性能和功能方面的擴展能力,適應云網絡“動態”、“按需”、“實時”的管理需求,需要考慮重構數據中心的網絡架構,滿足無阻塞轉發需求;設計新的協議支持大二層網絡組網;基于SDN技術架構實現統一資源調度;使用Overlay技術實現網絡虛擬化。一種可能的實現架構(OpenStack+SDN控制器)如圖1所示。
(1)無阻塞網絡架構
隨著數據中心流量模型的改變,傳統的收斂網絡將不再滿足數據中心的業務需求,需要在數據中心內部部署無阻塞的網絡,即數據中心內部,任意服務器之間可以線速交換流量,整個網絡的帶寬不收斂。當前,業界普遍認可的實現無阻塞網絡的技術是胖樹架構。其基本理念是:使用大量的低性能交換機,構建出大規模的無阻塞網絡。傳統的樹形網絡拓撲中,帶寬是逐層收斂的,樹根處的網絡帶寬要遠小于各個葉子節點所有帶寬的總和。而胖樹網絡從葉子到樹根,網絡帶寬不收斂,越到樹根,枝干越粗。這是胖樹架構能夠支撐無阻塞網絡的基礎。

圖1 基于VxLAN的云化數據中心解決方案
如圖2所示,為了實現網絡帶寬的無收斂,胖樹中的每個節點(根節點除外)都需要保證上下行帶寬相等,并且每個節點都要提供對接入帶寬的線速轉發能力。
(2)彈性可擴展的大二層網絡
在傳統二層xSTP+三層IP路由的環境下,如果虛擬機跨網段遷移,則無法實現遷移前后的IP地址保持一致,從而導致業務的中斷,因此必須設計新的協議來支持大二層的組網。目前,TRILL或者VxLAN技術能夠滿足構建大二層網絡的需求,支持虛擬機在數據中心內和跨數據中心之間的遷移。在網絡的彈性擴展方面,可以借鑒Internet架構的成功經驗,將復雜的功能部署在網絡邊緣,保持核心網絡的簡潔,并且增加業務控制層,把容易變化的業務部分從網絡設備上剝離出去。這樣在新增業務時,整網的設備不需改動,只需升級業務控制平面,即可部署新的數據中心業務,網絡架構長期穩定。另外,對于關鍵的核心交換機設備,需要新一代的網絡硬件平臺和技術,才能滿足服務器的接口速率(從1、10、40到100G),保證數據中心網絡架構長期的穩定性。

圖2 傳統網絡與胖樹網絡的邏輯拓撲
(3)基于SDN技術架構的統一資源調度
要實現計算、存儲和網絡資源的統一調度和管理,需要業務平臺與網絡控制平臺之間的協同和聯動,將業務對網絡資源的實時帶寬需求映射到物理網絡上。在實際部署中,如何實現業務邏輯網絡路徑與底層物理網絡路徑的高效映射會面臨挑戰。例如,在業務邏輯網絡層看到從A點到B點的路徑可能并不擁塞,而映射到底層物理網絡采用不同的度量參數計算出的最優轉發路徑,可能會出現不匹配的問題。基于SDN的架構,通過集中控制器實時采集網絡的狀態信息,并通過開放接口與業務進行交互,從而可以計算出最優的轉發路徑,并下發到底層物理網絡設備中,從而實現全網資源的統一調度,并適應上層業務的不同需求。
(4)Overlay技術實現網絡虛擬化
在數據中心內部主要采用Overlay技術實現網絡的虛擬化,其本質是將上層業務和底層物理網絡進行分離,基于物理網絡虛擬化出一個或多個邏輯網絡,其工作原理是:
●網絡邊緣的業務節點對來自用戶的不同類型數據包進行統一封裝,并加裝目標和源業務的節點信息,然后轉發。
●物理網絡內部節點之間依據目標業務節點的地址進行轉發。
●邊緣業務節點對接收到的具有統一數據格式的數據包進行解封裝,然后將原始數據報文發送至目標用戶。
目前,數據中心網絡中已經存在多種網絡業務與數據轉發分離的解決方案和相應的協議,例如VxLAN 和NvGRE等為代表的IT方案,以及TRILL、SPB等為代表的CT方案。以目前數據中心廣泛使用的VxLAN協議為例,通過引入VTEP(VirtualTunnelEndPoint,虛擬隧道端點)實現業務和物理網絡的解耦,使得底層物理網絡的穩定性不受上層業務的影響。由于承載網絡不感知業務,所以在部署時,只需增加VTEP節點進行封裝和解封裝,而不需升級承載網絡設備,易于實現現網的演進升級。此外,在網絡規模上,因為VxLAN使用24個比特位作為網絡標識,所以網絡的規模可以突破4096的限制。目前,VTEP的實現有兩種方式,一種是由OVS(Open Virtual Switch,虛擬交換機)實現,如VMware NSX方案或NusageVSP方案,另一種是由硬件交換機來實現,如思科ACI(Application Centric Infrastructure,應用中心基礎設施)方案。之所以存在兩種不同的實現方式也是IT和CT廠商博弈的結果,因為他們都希望爭奪網絡控制的主導權。當然性能也是一個重要的因素,因為采用純軟件的實現,與采用專用硬件芯片相比其封裝和解封裝的性能會差很多。但是,在支持業務的靈活方面,采用純軟件的實現優勢明顯,而且支持的網絡規模幾乎不受限(只要內存足夠大,理論上應該能夠支持2~24個虛擬網絡),而采用硬件設備實現網絡規模的大小是由硬件芯片的容量來決定的。表1對比了Overlay兩種不同實現方式上的差異。

表1 Overlay兩種實現方式的對比
當前,云化數據中心的網絡解決方案既有基于“開源平臺+白盒機”的方案,也有商用化的解決方案。在開源方面,出現了包括KVM、XEN、CloudStack、OpenStack、OpenDaylight和ONOS等的多個開源項目,很多云服務提供商都基于上述開源平臺集成創新。從目前開源社區的發展和市場接受度來看,OpenStack已經成為業界主流的云管理平臺。在網絡虛擬化方面,OpenStack原生的Neutron組件既能夠提供基于Overlay純軟件的解決方案,也可以通過Plugin模式集成其他的第三方控制器平臺(如OpenDaylight)提供Underlay的解決方案,實現對第三方硬件或白盒交換機的控制。從發展趨勢和業界影響力來看,OpenStack+ OpenDaylight已經成為云數據中心的經典組合。但是,要基于開源平臺進行商用化部署,對于絕大多數用戶而言還是有很高的技術門檻,在集成平臺服務可用性、性能以及Bug修復周期等方面,都存在一定的挑戰。因此,對于多數不具備很強研發能力的企業,還是需要依托專業廠商提供的商用化解決方案。
要實現云化數據中心基礎網絡的完全虛擬化和自動化運維管理,使之成為一個自適應的環境,可以基于策略按照應用的需求為成千上萬的租戶動態、按需、實時地創建網絡服務,真正做到網絡服務的定義依靠網絡資源的抽象,而實現的細節繼續保留由獨立的底層虛擬化計算環境和網絡硬件來完成,這就要求解決方案具備以下一些特征。
(1)開放網絡
應遵循SDN開放和抽象原則,將數據中心如何定義服務與如何實例化服務進行分離,并且將網絡服務的實現和底層服務器、數據中心網絡硬件及虛擬化計算環境分開,解決被供應商鎖定的弊端。能夠提供開放的API接口,向應用開放。如通過標準化的OpenFlow接口,把網絡的能力(包括轉發、QoS、安全控制等)開放給上層應用平臺(如OpenStack)。另外,應通過標準的框架,向第三方增值業務開放(如向防火墻、IDS/IPS、應用加速等開放能力)。
(2)具有可編程接口
應提供針對應用和網絡資源的開放API可編程接口,方便、快速、靈活地創建新的應用。通過抽象層翻譯來自上層應用的網絡服務請求,允許上層應用使用應用的語言請求所需的網絡服務,無縫整合現有網絡環境及現存的虛擬計算設備和網絡硬件協同工作。
(3)簡化運維管理
能夠為用戶提供一個清晰、IT友好的接口語言,使之可以按照應用的需求定制網絡服務。用戶可以使用熟悉的語言定義域和用戶組等來建立企業訪問及安全策略。一旦網絡服務設計完成,用戶可以方便地多次復制并改變安全策略和網絡參數,以達到簡化運維的目的。例如,可以通過單點操作將策略應用到多個用戶上。
(4)支持大規模擴展
基于該架構提供的網絡服務其規模和范圍應可以按需擴展,使云服務提供商可以在其基礎網絡上為大量不同的租戶提供便捷的網絡服務。
(5)安全可靠
能夠提供L2VPN或L3VPN的VPN連接服務,確保分支站點和數據中心形成一個無縫的安全互聯交換矩陣。在此基礎上,能夠提供豐富的基于策略的框架和靈活粒度控制的訪問機制,可以直接匹配用戶現有的安全和運營模式,滿足多租戶的運行環境。而對于每個租戶,網絡服務的定義應是模板化、可定制的,并能夠提供網絡性能的實時監控和實時報警。
(6)通過抽象簡化網絡服務需求的定義和網絡行為策略的建立
能夠將網絡服務抽象成一組操作原語,一旦網絡服務的要求和策略被定義好,網絡連接就可以被實例化。通過基于預定義的策略和網絡功能,實例化建立所需的連接,使得網絡連接即時可用,同步計算和存儲資源,確保云應用的快速交付。
(7)滿足動態實時網絡創建需求
一旦服務建立,數據中心網絡必須動態適應云應用需求變化。能夠檢測和響應虛擬機的創建和釋放,并自動地按照既定的策略調整網絡服務。無縫配合虛擬機的遷移,不受邊界限制(如機架、集群等)。同時,為了確保每個使用云基礎設施的租戶對所使用的網絡和服務資源擁有完全的可視性,解決方案應提供可擴展的分析功能,即實現對使用情況和性能進行實時監控,可分級進行視圖控制,按照租戶的策略提供報告。