王 杰 趙 超
中國移動通信集團安徽有限公司 安徽 淮南 232000
云計算出現前,物理服務器“雙單一”特征非常明顯,即單一租戶和單一業務,當應用需求還未呈幾何級數增長時,這樣的應用與服務模式是能夠被接受的。但隨著網絡業務的不斷擴張,數據中心規模也越來越龐大,以無限增加物理服務器的方式來滿足應用需求顯然是不合適的,單臺服務利用率無法獲得提升。云計算的出現很好解決了這一問題,在虛擬化技術支持下,原來的物理服務器會被虛擬成若干臺服務器,提高了資源利用率和服務器使用率,有限的物理服務器數量即可滿足應用需求。以四核CPU服務器為例,虛擬化技術可將一臺四核CPU服務器虛擬成四臺服務器,即每個CPU被虛擬成一臺虛擬機,而對于那些資源消耗有效的應用來說,根據具體使用需求,可將一個CPU虛擬成兩臺、四臺,甚至更多臺虛擬機。
虛擬化技術在實現資源利用率提升的同時,也使服務器自由遷移變為可能。在傳統數據中心建設和應用中,服務器遷移事件極少發生,因為會動用非常多的資源,且會影響IDC業務正常運行。在虛擬化環境下,服務器遷移并不會發生在物理空間上,而是在虛擬空間上來實現,且在漸進式內存復制等技術方法的支持下,數據保存會變得更容易,任務完成難度也更低,更為重要的是,IDC業務并不是因此而受到影響。
在非云計算環境下,企業若要更好完成業務運營任務,實現運營目標,滿足自身發展需要,一般會向運營商租用網絡硬件基礎設施,特別是對于那些大型企業和跨地區企業。這樣,企業就相當于擁有了一個屬于自己的數據中心,必要時,也可進行運維托管。云計算環境下則不同,企業并不需要直接向運營商租用網絡硬件基礎設施,而是直接租用網絡資源,包括計算和存儲,相比之下,這樣的租用模式并不需要單獨進行運維,更不需要建立運維數據中心。而對于運營商來說,云計算環境下的數據中心會更為復雜,體量也更大,多租戶特征也被更充分體現出來。
網絡無阻塞的實現主要依靠于“胖樹結構”應用。“胖樹結構”是在原有樹形結構基礎上提出的,它不算是新技術或新思路,只是對原有應用的一種變形。樹形網絡架構原理并不影響云計算應用,但二者在根本性需求上卻存在沖突。眾所周知,云計算數據中心形成后,數據信息吞吐量較之前比有了很大提升,其內部資源節點數量也隨需求的增加而明顯增多,若依然以傳統“南北向”流量模型為標準進行應用,網絡阻塞問題一定會更為嚴重,因此,有“南北向”流量模式向“東西向”流量模式轉變便成為必然。區別在于,“南北向”流量模式是一種用戶訪問服務器的流量模式,點到點特征較明顯;而“東西向”流量模式是一種由服務器到服務器的流量模式,具有面到面特征。
胖樹結構解決了樹形結構的“通信瓶頸”問題,隨著根節點附近帶寬逐漸增加,網絡阻塞現象也不會再發生。需要指出的是,由胖樹結構所支持的數據中心網絡,需要將全部核心交換機,以及網絡邊緣交換機進行互聯,且保證核心交換機與每一臺網絡邊緣交換機間有且僅有一條鏈路,這樣做的目的在于,能夠更好平衡數據流量,以此來降低網絡阻塞發生概率。
虛擬環境下的數據通信,其原理與物理環境下的數據通信原理相類似,只是當在完成虛擬機與物理機通信時,需要將虛擬機與網絡端口進行關聯。從數據交換的角度看,物理空間下的數據交換需要由物理機提供支持,而虛擬空間下數據交換則需要由虛擬機提供支持。但由于所處空間不同,虛擬交換機是無法直接被其他網絡設備所感知的,更加無法被網絡管理員直接管理,在這種情況下,通信流量監管與端口策略等功能便無法實現。為更好解決“不感知”問題,IEEE 802.1Qbg Edge Virtual Bridging(以下簡稱EVB)定義了關于虛擬機網絡接入的技術標準,如圖1。

圖1 EVB架構圖
結合EVB架構圖可知,一臺虛擬機包含多個VSI接口,虛擬機間可自由通信,也可通過中繼ER(邊界)和橋接LAN上的其他虛擬機進行通信。一般情況下,同一臺物理服務器中的多臺虛擬機之間可進行直接通信,這一通信方式被稱為虛擬邊緣橋接,即VEB。顯然,這樣的通信方式是無法滿足不同物理服務器中虛擬機間通信需求的。VEPA(虛擬以太端口匯聚)通信方式的制定解決了這一問題,在VEPA支持下,虛擬機間的流量交換行為將不再局限于某一臺物理服務器內,而是允許發生在上聯交換機上。事實上,即便是同一物理服務器中的兩臺或多臺虛擬機進行數據傳輸,交換數據依然會被首先送往上聯交換機,然后再由上聯交換分配回另一臺或幾臺虛擬機上。上聯交換機會根據虛擬機的MAC地址來進行尋址,確保數據轉發準確。相比VEB,VEPA在實現不同物理服務器虛擬機間數據傳輸方面發揮了更好作用,但如果僅僅是完成同一物理服務器內不同虛擬機間的數據傳輸,這樣的通信方式顯然不是最佳選擇,因此,EVB標準定義多通道技術,即VEB和VEPA被允許同時存在于一臺物理服務器中,且各自有獨立的通道,這樣便為流量管理和網絡配置提供了便利。
作為一項新概念,“租戶Overlay網絡”主要是為了實現云計算數據中心大量租戶支持而被提出的。Overlay網絡位于IP層之上,其封裝格式較特殊,且格式并不固定,有VXLAN格式,也會有NVGRE格式,但都會通過報頭信息來對租戶進行識別,映射加封裝的核心思想特征十分明顯。
結合圖2,VM1租戶在將數據發送出去后,邊緣交換機S1首先會收到數據信息,但它并不會立刻將數據轉發出去,而是將數據報文中的目的地址映射為S2(VM2直連邊緣交換機)的地址,而非實際地址VM2,之后對原始報文進行封裝。當邊緣交換機S2接收到數據報文后,會進行解封,然后根據原始報文信息將數據傳遞給VM2。

圖2 租戶Overlay網絡
在整個過程中,封裝格式與映射管理是兩個關鍵點,封裝格式前面已做過介紹,映射管理一般有兩種類型,一是自發學習,二是通過控制命令。不同類型對應著不同數據中心規模,對于中小型數據中心來說,自發學習類型更適用,整個過程與傳統網絡體系的二層學習較類似,應用起來也比較簡單。相比之下,通過控制命令具有更好擴展性,一般大型數據中心應用較多。
在傳統數據中心中,生成樹協議(STP)在防止二層網絡環路方面發揮了很好作用,但在云計算環境下,該協議缺點被更多暴露出來,比如:
(1)以避免環路發生為目的所作出的特定端口阻塞行為,將嚴重降低鏈路使用效率;
(2)無法實現等價多路徑轉發;
(3)網絡收斂速度慢。
為彌補生成樹協議缺陷,支持大規模二層網絡的協議被提出,其中最常見的協議是多鏈路透明互聯協議(TRILL)和最短路徑橋接協議(SPB),該兩項協議均借鑒了三層路由設計思想,成功將二層技術優點與三層技術優點進行融合,同時規避掉了原有缺點,同時以現有IS-IS路由協議來對網絡拓撲進行計算和維護。
在TRILL協議運行方面,各支持TRILL協議運行的路由網橋會以IS-IS鏈路狀態路由協議為標準計算網絡拓撲,并借助SPF算法完成對單播數據轉發最短路徑的計算。而對于組播和廣播報文,以及未知單播來說,會根據分發樹進行報文轉發。在防環路方面,TRILL協議規定了Hop Count字段,報文被轉發后,每經過一個路由器,該字段數值就會在原有基礎上減掉“1”,當字段數值被減為0時,報文便會被最后一個接受的路由網橋所丟棄。當進行組播轉發時,除了有Hop Count字段做支持外,還需要進行反向路徑檢測。
在SPB協議方面,SPB協議主要是連接網橋與網橋,它在連接客戶端與數據中心過程中發揮了重要作用。該協議主要特點有:
(1)定義了I-SID,并用作區別多個不同拓撲,其數據信息以BVID的形式被封裝在數據報文中,這將有助于解決不同業務多拓撲轉發的問題;
(2)所有到達UNI及其相關節點的SPT只用于進行單播與組播報文轉發;
(3)ECT以處理兩個UNI間存在多條等價路徑時負載均衡轉發。
在云計算需求下,數據中心從多個方面提供了具有現代化特征的數據信息服務,包括協議與架構,運維與管理,并且在新技術支持下,應用來自不同層面的應用需求正不斷被滿足。目前,包括IETF和IEEE在內的多個標準組織都在積極研究和制定基于與計算環境的數據中心應用標準,基于當前主要應用需求,虛擬化和多租戶被更多關注。另外,采用不同架構對實現應用目的也有影響,特別是在流量模型不同,以及無法實現拓撲結構統一的情況下,但需要新技術來作支持是卻不爭事實,只有不斷研制新技術,才能滿足實際應用需求,使原有架構性能得到提升。