在云計算的環(huán)境下,計算資源、網(wǎng)絡(luò )資源和存儲資源都可以作為業(yè)務(wù)發(fā)放給用戶(hù),從而使得資源共享變得更加靈活和廣泛,減少了用戶(hù)的硬件購置,升級維護等成本終端用戶(hù)可以使用各種類(lèi)型的瘦客戶(hù)端,在任何地方接入建立在云計算上的各類(lèi)應用。理論上來(lái)說(shuō),相對于應用裝在用戶(hù)本地終端的傳統方法,云計算用戶(hù)應該獲得相同或甚至更好的用戶(hù)體驗。為了達到這樣的效果,對于支撐云計算的數據中心就有了更多新的要求。本文將逐一闡述這些數據中心的新特性,并探討為了滿(mǎn)足這些新特性而產(chǎn)生的核心技術(shù)及其演進(jìn)預期。本文所述的數據中心都是指互聯(lián)網(wǎng)數據中心fin—ternetdatacenter,idc類(lèi)型的數據中心。
1、云計算為數據中心帶來(lái)的新特性
在云計算場(chǎng)景下,idc的運營(yíng)商為各類(lèi)企業(yè)提供各種服務(wù),包括云計算的應用、網(wǎng)絡(luò )和存儲服務(wù)。
1.1 服務(wù)器虛擬化和自由遷移
在傳統的非云計算場(chǎng)景下,物理服務(wù)器通常只被單一租戶(hù)的單一業(yè)務(wù)使用,所以單臺服務(wù)器的利用率會(huì )比較低。隨著(zhù)業(yè)務(wù)的擴展,需要不斷增加服務(wù)器的數量,這樣會(huì )使得數據中心的規模越來(lái)越龐大。
在云計算的場(chǎng)景下,由于idc為大量而不是單一的企業(yè)或用戶(hù)提供服務(wù),所以業(yè)務(wù)量會(huì )極其龐大。靠不停地增加物理服務(wù)器對于成本和網(wǎng)絡(luò )規模來(lái)說(shuō)都難以接受。虛擬化技術(shù)使得一臺物理服務(wù)器可以被虛擬成多臺服務(wù)器來(lái)使用,從而利用了原本閑置的資源,提高了服務(wù)器的使用率,所以使用相對較少的物理服務(wù)器就能滿(mǎn)足idc的業(yè)務(wù)需要。通常對于多核cpu的服務(wù)器來(lái)說(shuō),可以虛擬成每個(gè)cpu一個(gè)虛擬機來(lái)使用。對于某些cpu資源消耗不太大的應用,例如vdi虛擬桌面,甚至一個(gè)cpu可以虛擬成四個(gè)或更多的虛擬機。當然虛擬化還要受到硬盤(pán)的每秒i/o數和內存的限制。
除了提高使用率外,虛擬化還使得服務(wù)器自由遷移變成可能。在傳統的數據中心,進(jìn)行服務(wù)器的遷移是一項非常浩大的工程。必須事先進(jìn)行規劃,需要謹慎計劃割接時(shí)間,做好備份。服務(wù)器需要進(jìn)行斷線(xiàn)斷電,搬移,重新上電上線(xiàn),通常業(yè)務(wù)會(huì )中斷,所以搬遷服務(wù)器是極少發(fā)生的。而使用了虛擬化技術(shù)以后,虛擬機的遷移不再涉及到物理上的搬遷。并且可以使用各種技術(shù),例如漸進(jìn)式內存復制等方法使得遷移平滑進(jìn)行,保證了遷移時(shí)用戶(hù)不感知,相關(guān)業(yè)務(wù)不中斷,不受影響。自由遷移為數據中心的容災備份,節能環(huán)保,網(wǎng)規網(wǎng)優(yōu)提供了不可替代的便利。虛擬機的自由遷移滿(mǎn)足了云計算環(huán)境下用戶(hù)隨時(shí)隨地進(jìn)行數據接入的需求。
1.2 支持多租戶(hù)
在非云計算的時(shí)代,通常各個(gè)租戶(hù)或者企業(yè)都需要自建數據中心或者租用運營(yíng)商的硬件和基礎設施用于自己的服務(wù)計算和數據存儲。在這種情況下,可以理解為租戶(hù)自己擁有獨立的數據中心,可以自己進(jìn)行運維也可以將運維托管給運營(yíng)商。在使用了云計算以后,企業(yè)或者租戶(hù)可以向提供云計算的運營(yíng)商租用計算資源,網(wǎng)絡(luò )資源,存儲資源,而不再是租用硬件和基礎設施,從而簡(jiǎn)化或完全不需自建及自行運維數據中心。另外,云計算運營(yíng)商的數據中心則會(huì )變得更加的復雜和龐大。其中的一個(gè)挑戰就是支持多租戶(hù)。
支持多租戶(hù)主要體現在:
1、針對每個(gè)租戶(hù)業(yè)務(wù)的快速配置和部署。每個(gè)租戶(hù)在云計算運營(yíng)商申購的資源需要能夠快速自動(dòng)地在數據中心的網(wǎng)絡(luò )中使能,還包括防火墻、ips/ids,loadbalancer等設備的相應配置,做到即插即用。
2、租戶(hù)之間的流量隔離。實(shí)際上,由于租戶(hù)之間可能共享硬件設備、帶寬、存儲等資源,為了保證安全,在以二層網(wǎng)絡(luò )為主的數據中心,租戶(hù)之間的流量需要進(jìn)行隔離,防止租戶(hù)甲的流量被租戶(hù)乙接收到。傳統的二層網(wǎng)絡(luò )基于vlan虛擬局域網(wǎng)進(jìn)行流量隔離的方法受限于4096個(gè)的vlan數量限制。
3、網(wǎng)絡(luò )配置和與租戶(hù)應用相關(guān)的配置解藕。
1.3 無(wú)阻塞網(wǎng)絡(luò )
支持云計算的數據中心吞吐量極大的增加。由于云計算數據中心內部資源節點(diǎn)服務(wù)器、存儲、數據庫等之間的訪(fǎng)問(wèn)需求和交互流量相比于傳統數據中心都將大大增加,所以云計算數據中心吞吐量會(huì )對組網(wǎng)技術(shù)提出了嚴峻挑戰。另外,云計算數據中心經(jīng)常采用分布式計算。分布式計算對數據中心的流量模型帶來(lái)了巨大的變化,流量模型從以縱向流量南北向流量,用戶(hù)訪(fǎng)問(wèn)服務(wù)器流量為主轉變?yōu)橐詸M向流量東西向流量,服務(wù)器之間的流量為主。
傳統的數據中心的網(wǎng)絡(luò )架構多是基于樹(shù)形的,下行和上行的帶寬有收斂比。這樣就會(huì )造成擁塞。在云計算數據中心,需要構建無(wú)阻塞的網(wǎng)絡(luò )來(lái)滿(mǎn)足流量需求。基于胖樹(shù)結構的拓撲將被用于構建無(wú)阻塞的網(wǎng)絡(luò )。胖樹(shù)解決了樹(shù)結構根節點(diǎn)易成為通信瓶頸的問(wèn)題。胖樹(shù)結構中,越接近根節點(diǎn),鏈路的帶寬越大。對于理想的胖樹(shù)結構,上層鏈路帶寬應為下層鏈路帶寬之和。
使用胖樹(shù)結構的數據中心網(wǎng)絡(luò )拓撲,要求每臺邊緣交換機和所有核心交換機都建立連接,同時(shí),核心交換機和每臺邊緣交換機之間有且僅有一條鏈路連接。從邊緣交換機到核心交換機之間的流量均衡是降低網(wǎng)絡(luò )擁塞的關(guān)鍵。
2、云計算數據中心的網(wǎng)絡(luò )新技術(shù)
為了滿(mǎn)足前面所述的新需求,一些新的適用于云計算數據中心的網(wǎng)絡(luò )技術(shù)也隨之出現。這些新技術(shù)分別著(zhù)重解決一個(gè)或多個(gè)問(wèn)題。作為云計算數據中心的整體解決方案,很多技術(shù)需要聯(lián)合使用。這些新技術(shù)有些還處于研究或者優(yōu)化的階段,隨著(zhù)業(yè)界對于云計算數據中心理解的加深以及商業(yè)模式或應用的拓展,可以預見(jiàn)更多的技術(shù)或者優(yōu)化將會(huì )被提出及使用。
2.1 虛擬感知
當越來(lái)越多的服務(wù)器可以支持虛擬化以后,接入層的概念不再僅針對物理端口,而是延伸到服務(wù)器內部,為不同虛擬機之間的流量交換提供服務(wù),將虛擬機同網(wǎng)絡(luò )端口關(guān)聯(lián)起來(lái)。虛擬機之間的數據交換通常由虛擬交換機來(lái)完成,但內置在虛擬化平臺上的軟件虛擬交換機vswitch無(wú)法被網(wǎng)絡(luò )設備感知,甚至也不由網(wǎng)絡(luò )管理員管理。所以這種使用網(wǎng)絡(luò )不感知的虛擬交換機的方法無(wú)法實(shí)現虛擬機之間通信的流量監管、虛擬交換機端口策略等功能。支持一或多個(gè)虛擬機附著(zhù)的端站稱(chēng)為evb,每個(gè)虛擬機有至少一個(gè)虛擬機接口vsi,每個(gè)虛擬機可以和其他虛擬機通信,或者通過(guò)邊界中繼er和橋接lan上的其他虛擬機通信。傳統的虛擬交換機在內部對于同一個(gè)物理服務(wù)器的不同vm直接可以直接進(jìn)行流量轉發(fā),這種方式被成為vebvirtualedgebridging,虛擬邊緣橋接。除了veb之外,一種新的方式vepavirtualethernetportaggregator,虛擬以太端口匯聚也被制訂。vepa的核心思想是,將虛擬機產(chǎn)生的網(wǎng)絡(luò )流量全部交由與服務(wù)器相連的物理交換機進(jìn)行處理,即使同一臺服務(wù)器的虛擬機間流量,也發(fā)往外部物理交換機進(jìn)行轉發(fā)處理。
vepa的目標是要將虛擬機之間的交換行為從服務(wù)器內部移出到上聯(lián)交換機上,當兩個(gè)處于同一服務(wù)器內的虛擬機要交換數據時(shí),從虛擬機a出來(lái)的數據幀首先會(huì )經(jīng)過(guò)服務(wù)器網(wǎng)卡送往上聯(lián)交換機,上聯(lián)交換機通過(guò)查看幀頭中帶的mac地址虛擬機mac地址發(fā)現目的主機在同一臺物理服務(wù)器中,因此又將這個(gè)幀送回原服務(wù)器,完成尋址轉發(fā)。整個(gè)數據流經(jīng)歷了一次回環(huán)hairpin,而這在傳統的交換設備上是不被允許的。
evb標準還定義了“多通道技術(shù)multichannel”,可以使得veb和vepa同時(shí)存在于一臺物理服務(wù)器,一個(gè)veb或vepa可以對應一個(gè)通道,這樣為數據識別和流量管理,以及網(wǎng)絡(luò )配置都提供了便利。
為了支持上述功能的實(shí)現,相應的虛擬感知和發(fā)現協(xié)議也同時(shí)被定義。當一個(gè)虛擬機上線(xiàn)的時(shí)候,它需要通過(guò)vdp虛擬機發(fā)現協(xié)議來(lái)和相鄰的物理交換機進(jìn)行通告和配置信息交換。這樣臨近的物理交換機上可以感知到虛擬機的上線(xiàn),并對于網(wǎng)絡(luò )策略或參數進(jìn)行下發(fā)和配置。
除了ieee802.1qbg以外,還有其他的一些機制和協(xié)議也用于虛擬感知和發(fā)現,例如ieee802.1br所描述的端口擴展技術(shù)。可以把虛擬端口統一映射到控制橋上,進(jìn)行更集中的管理、配置和維護。
2.2 租戶(hù)overlay網(wǎng)絡(luò )
為了使得云計算數據中心可以支持大量的租戶(hù),租戶(hù)overlay網(wǎng)絡(luò )的概念被提了出來(lái)。不同的租戶(hù)之間流量隔離,且租戶(hù)的數量遠遠大于傳統12比特vlanid能提供的40%的租戶(hù)數。在ip層之上提供一層overlay網(wǎng)絡(luò ),使用特殊格式的 裝即特殊的overlay的報頭來(lái)區分不同的租戶(hù)。 裝格式可以是多種多樣的,例如vxlan或者nvgre的方式。無(wú)論overlay的 裝格式是怎樣,它的核心思想都是映射加 裝。
某租戶(hù)的vm1發(fā)送報文給同一租戶(hù)的vm2的時(shí)候,邊緣入口節點(diǎn)s1將來(lái)自于租戶(hù)源vm1的報文目的地址即vm2的地址映射為傳送報文的隧道的出口節點(diǎn)地址即s2的地址。人口節點(diǎn)s1將原始報文進(jìn)行 裝通過(guò)隧道傳遞后,出口節點(diǎn)s2將 裝剝除,恢復出原始報文并傳遞給最終的目的vm2o這個(gè)流程里面主要涉及兩個(gè)問(wèn)題,一是 裝格式,二是控制平面對于映射的管理。 裝格式前面已說(shuō)過(guò),可以是多種多樣。而控制平面的對于映射和隧道的管理,則需要有比較統一的方法。理論上來(lái)說(shuō),可以分為兩類(lèi),自發(fā)學(xué)習或通過(guò)控制信令。
自發(fā)學(xué)習的方法適用于比較小型的數據中心,類(lèi)似于傳統的2層地址學(xué)習。節點(diǎn)對接收到的報文進(jìn)行內外層地址的對應關(guān)系學(xué)習,例如圖4中s2上學(xué)習到vm1,s1的地址映射關(guān)系。自發(fā)學(xué)習的方法比較簡(jiǎn)單,但是通過(guò)控制信令的方式擴展性更好,更適用于大型的數據中心。隧道的端點(diǎn)需要通過(guò)控制信令來(lái)對注冊和解注冊相應的地址對應關(guān)系。vm在上線(xiàn)的時(shí)候它的地址和隧道的映射關(guān)系將被注冊,在遷移的時(shí)候注冊關(guān)系將被更新,在下線(xiàn)的時(shí)候注冊關(guān)系將被刪除。
租戶(hù)overlay的方法可以使得網(wǎng)絡(luò )本身對于租戶(hù)內部的地址管理透明,策略可以根據租戶(hù)來(lái)下發(fā)。租戶(hù)的流量隔離將會(huì )在邊緣節點(diǎn)基于租戶(hù)id來(lái)實(shí)現,突破了傳統的使用二層以太網(wǎng)vlan來(lái)隔離的租戶(hù)數目限制。