云計算最重要的技術(shù)實現(xiàn)就是虛擬化技術(shù),計算虛擬化商用的解決方案得到了較成熟的應(yīng)用,而存儲虛擬化已經(jīng)在SAN上實現(xiàn)得很好了,在網(wǎng)絡(luò)虛擬化技術(shù)方面,業(yè)界主流廠商都提出了自己的解決方案,本文分析了數(shù)據(jù)中心中網(wǎng)絡(luò)虛擬化的實現(xiàn)相關(guān)技術(shù)和發(fā)展思路。最早的網(wǎng)絡(luò)虛擬化技術(shù)代表是交換機集群Cluster技術(shù),多以盒式小交換機為主,當(dāng)前數(shù)據(jù)中心里面已經(jīng)很少見了。而新技術(shù)則主要分為兩個方向,控制平面虛擬化與數(shù)據(jù)平面虛擬化。在探討網(wǎng)絡(luò)虛擬化技術(shù)之前,先定義一下云計算數(shù)據(jù)中心各種網(wǎng)絡(luò)類型,數(shù)據(jù)中心網(wǎng)絡(luò)流量的根本出發(fā)點是Server,結(jié)合云計算最適合的核心-接入二層網(wǎng)絡(luò)結(jié)構(gòu),各種網(wǎng)絡(luò)分類如圖1所示。
圖1 網(wǎng)絡(luò)分類
Network1:VM本地互訪網(wǎng)絡(luò),邊界是AccessSwitch,包括物理服務(wù)器本機VM互訪和跨AccessSwitch的不同物理服務(wù)器VM互訪兩個層面。
Network2:Ethernet與FC融合,就是FCoE,邊界仍然是Access Switch。
Network3:跨核心層服務(wù)器互訪網(wǎng)絡(luò),邊界是Access Switch與Core Switch。
Network4:數(shù)據(jù)中心跨站點二層網(wǎng)絡(luò),邊界是Core Switch。
Network5:數(shù)據(jù)中心外部網(wǎng)絡(luò),邊界是CoreSwitch與ISP IP網(wǎng)絡(luò)。
在大規(guī)模數(shù)據(jù)中心部署虛擬化計算和虛擬化存儲以后,對網(wǎng)絡(luò)產(chǎn)生了新的需求。
1)虛擬機(VM)之間的互通,在DC內(nèi)部和DC間任意互通、遷移和擴展資源。
2)更多的接口,更多的帶寬,至少按照一萬個萬兆端口容量構(gòu)建資源池。
3)二層網(wǎng)絡(luò)規(guī)模擴大,保證業(yè)務(wù)與底層硬件的透明和隨需部署。
4)數(shù)據(jù)中心站點間二層互聯(lián),DC資源整合,地域無差別,構(gòu)建真正的大云。
5)服務(wù)器前后端網(wǎng)絡(luò)融合,DC內(nèi)部網(wǎng)絡(luò)整合。
1 控制平面虛擬化
顧名思義,控制平面虛擬化是將所有設(shè)備的控制平面合而為一,只有一個主體去處理整個虛擬交換機的協(xié)議處理、表項同步等工作。從結(jié)構(gòu)上來說,控制平面虛擬化又可以分為縱向與橫向虛擬化兩種方向。
縱向虛擬化指不同層次設(shè)備之間通過虛擬化合多為一,相當(dāng)于將下游交換機設(shè)備作為上游設(shè)備的接口擴展而存在,虛擬化后的交換機控制平面和轉(zhuǎn)發(fā)平面都在上游設(shè)備上,下游設(shè)備只有一些簡單的同步處理特性,報文轉(zhuǎn)發(fā)也都需要上傳到上游設(shè)備進行?梢岳斫鉃榧惺睫D(zhuǎn)發(fā)的虛擬交換機。
橫向虛擬化多是將同一層次上的同類型交換機設(shè)備虛擬合一,控制平面工作如縱向一般,都由一個主體去完成,但轉(zhuǎn)發(fā)平面上所有的機框和盒子都可以對流量進行本地轉(zhuǎn)發(fā)和處理,是典型分布式轉(zhuǎn)發(fā)結(jié)構(gòu)的虛擬交換機?刂破矫嫣摂M化從一定意義上來說是真正的虛擬交換機,能夠同時解決統(tǒng)一管理與接口擴展的需求。
2 數(shù)據(jù)平面虛擬化
數(shù)據(jù)通信的兩個維度,一個是控制平面,另一個是數(shù)據(jù)平面,也就是數(shù)據(jù)轉(zhuǎn)發(fā)平面。為實現(xiàn)數(shù)據(jù)平面的虛擬化,于是有了TRILL和SPB這兩個新的協(xié)議的推出。兩個協(xié)議都是用L2 ISIS作為控制協(xié)議在所有設(shè)備上進行拓撲路徑計算,轉(zhuǎn)發(fā)的時候會對原始報文進行外層封裝,以不同的目的Tag在TRILL/SPB區(qū)域內(nèi)部進行轉(zhuǎn)發(fā)。對外界來說,可以認為TRILL/SPB區(qū)域網(wǎng)絡(luò)就是一個大的虛擬交換機,Ethernet報文從入口進去后,完整的從出口吐出來,內(nèi)部的轉(zhuǎn)發(fā)過程對外是不可見且無意義的。
這種數(shù)據(jù)平面虛擬化多合一已經(jīng)是廣泛意義上的多虛一了,此方式在二層Ethernet轉(zhuǎn)發(fā)時可以有效的擴展規(guī)模范圍,作為網(wǎng)絡(luò)節(jié)點地多個節(jié)點虛擬成一個節(jié)點來說,控制平面虛擬化目前還在個位到十位數(shù)級別,數(shù)據(jù)平面虛擬化已經(jīng)可以輕松達到百位的范疇。但其缺點也很明顯,引入了控制協(xié)議報文處理,增加了網(wǎng)絡(luò)的復(fù)雜度,同時由于轉(zhuǎn)發(fā)時對數(shù)據(jù)報文多了外層頭的封包解包動作,降低了Ethernet的轉(zhuǎn)發(fā)效率。
在構(gòu)建數(shù)據(jù)中心二層網(wǎng)絡(luò)模型中,核心層與接入層設(shè)備有兩個問題是必須要解決的,一是拓撲無環(huán)路,二是多路徑轉(zhuǎn)發(fā)。但在傳統(tǒng)Ethernet轉(zhuǎn)發(fā)中只有使用STP才能確保無環(huán),但STP導(dǎo)致了多路徑冗余中部分路徑被阻塞浪費帶寬,給整網(wǎng)轉(zhuǎn)發(fā)能力帶來了瓶頸。因此云計算中需要新的技術(shù)在避免環(huán)路的基礎(chǔ)上提升多路徑帶寬利用率,網(wǎng)絡(luò)虛擬化技術(shù)提到了兩個解決上述需求的思路。
首先是控制平面多虛一,將核心層虛擬為一個邏輯設(shè)備,通過鏈路聚合使此邏輯設(shè)備與每個接入層物理或邏輯節(jié)點設(shè)備均只有一條邏輯鏈路連接,將整個網(wǎng)絡(luò)邏輯拓撲形成無環(huán)的樹狀連接結(jié)構(gòu),從而滿足無環(huán)與多路徑轉(zhuǎn)發(fā)的需求。
另一個思路是數(shù)據(jù)平面多虛一,在接入層與核心層交換機引入外層封裝標(biāo)識和動態(tài)尋址協(xié)議來解決L2MP(Layer2 MultiPath)需求,可以理解這個思路相當(dāng)于在Ethernet外面建立一套類似IP+OSPF的協(xié)議機制。對接入層以下設(shè)備來說,整個接入層與核心層交換機虛擬成了一臺邏輯的框式交換機,Ethernet報文進Ethernet報文出,中間系統(tǒng)就是個黑盒,就好像IP層面用不著了解到Ethernet是怎么轉(zhuǎn)發(fā)處理的一樣。這種思路的代表技術(shù)是IETF(InternetEngineering Task Force)標(biāo)準組織提出的TRILL 和IEEE提出的802.1aq SPB。
3 控制平面多虛一技術(shù)
目前業(yè)界應(yīng)用最廣泛的控制平面多虛一技術(shù)就是VSS(VirtualSwitching System)和IRF(IntelligentResilient Framework),VSS是Cisco的私有技術(shù),IRF是在H3C所有數(shù)據(jù)中心交換機中實現(xiàn)的私有技術(shù)。二者的關(guān)鍵技術(shù)點如下。
1)專用鏈路跑私有協(xié)議。VSS使用VSL(Virtual Switch Link),IRF使用IRF link來承載各自的控制平面私有交互協(xié)議VSLP和IRF。專用鏈路使用私有協(xié)議來初始化建立鄰接、協(xié)商主備(描繪拓撲)、同步協(xié)議狀態(tài),同時會在虛擬化完成后,傳輸跨機框轉(zhuǎn)發(fā)的數(shù)據(jù)流量。
2)基于引擎的主備模式。二者的控制平面都是只有一塊主控引擎做為虛擬交換機的主控制引擎,其他的引擎都是備份。所有的協(xié)議學(xué)習(xí),表項同步等工作都是由這一塊引擎獨立完成。好在這些設(shè)備大都是分布式交換,數(shù)據(jù)轉(zhuǎn)發(fā)的工作由交換板自己完成了,只要不是類似OSPF鄰居太多,拓撲太大等應(yīng)用情況,一塊主控大部分也都能解決了。
3)跨設(shè)備鏈路聚合。前面說了網(wǎng)絡(luò)虛擬化主要是應(yīng)對二層多路徑環(huán)境下防止環(huán)路,因此跨設(shè)備鏈路聚合就是必須的了。
4)雙活檢測處理。當(dāng)VSL或IRF link故障后,組成虛擬化的兩個物理設(shè)備由于配置完全相同會在網(wǎng)絡(luò)中出現(xiàn)雙活節(jié)點,對上下游設(shè)備造成IP網(wǎng)關(guān)混亂。因此VSS/IRF都設(shè)計了一些雙活處理機制以應(yīng)對專用鏈路故障。①首先網(wǎng)絡(luò)中如果有跨設(shè)備鏈路聚合時,VSS使用PAgP、IRF使用LACP擴展報文來互相檢測通知;②如果有富裕接口在虛擬化的兩臺物理設(shè)備間可以單獨再拉根直連線路專門用做監(jiān)控,VSS使用VSLP FastHello、IRF使用BFD機制進行檢測通知;③另外VSS還可以使用IP BFD通過互聯(lián)的三層鏈路進行監(jiān)控,IRF則支持使用免費ARP通過二層鏈路進行監(jiān)控。上述幾種方式都是監(jiān)控報文傳輸?shù)逆溌坊蛘咄鈱映休d協(xié)議不同。當(dāng)發(fā)現(xiàn)專用鏈路故障時,VSS/IRF操作結(jié)果目前都是會將處于備份狀態(tài)的物理機框設(shè)備的所有接口全部關(guān)閉,直到專用鏈路恢復(fù)時再重新協(xié)商。需要注意這兩種虛擬化技術(shù)在進行初始協(xié)商時都需要將角色為備份的機框設(shè)備進行重啟才能完成虛擬化部署,如圖2所示。
除上述4個關(guān)鍵技術(shù)點,VSS/IRF還有一些小的相似技術(shù)設(shè)定,如Domain的設(shè)定、版本一致性檢查、三層虛接口MAC協(xié)商等,都是基于各方的細節(jié)需求。由于應(yīng)用環(huán)境相似,因此實現(xiàn)的東西也區(qū)別不大。
圖2 三種故障檢測方式
VSS和IRF都是當(dāng)前較為成熟的虛擬化技術(shù),其優(yōu)點是可以簡化組網(wǎng),便捷管理,目前IRF技術(shù)已經(jīng)可以支持四個框式核心設(shè)備虛擬化一個核心設(shè)備,提供單節(jié)點超過2000個萬兆接口,具有很強的系統(tǒng)擴展性。
4 數(shù)據(jù)平面多虛一技術(shù)
數(shù)據(jù)平面多虛一技術(shù)的統(tǒng)一特征就是在二層Ethernet報文外面再封裝一層標(biāo)識用于尋址轉(zhuǎn)發(fā),這樣基于外層標(biāo)識就可以做些多路徑負載均衡和環(huán)路避免等處理工作了。目前正在推動的公有標(biāo)準協(xié)議主要有TRILL/SPB。
4.1 TRILL
TRILL(TRansparent Interconnect of Lots of Links)全稱透明多鏈路互連,在2010年3月時TRILL已經(jīng)提交了IETF RFC 5556規(guī)范Transparent Interconnectionof Lots of Links (TRILL):Problem and ApplicabilityStatement,此RFC只是描述了TRILL要解決的問題以及應(yīng)用范圍,定義協(xié)議細節(jié)的文檔目前都還處于Draft階段,形成完整的協(xié)議標(biāo)準體系還需要1-2年。TRILL是專門為數(shù)據(jù)中心開發(fā)的技術(shù),其定義的是在大型Ethernet網(wǎng)絡(luò)中解決多路徑問題的方案。
控制平面上TRILL引入了L2 ISIS做為尋址協(xié)議,運行在所有的TRILL RB(Routing Bridge)之間,部署于一個可自定義的獨立協(xié)議VLAN內(nèi),做的還是建立鄰接、繪制拓撲和傳遞Tag幾件事。數(shù)據(jù)平面在內(nèi)外層Ethernet報頭之間引入了TRILL報頭,使用Nickname作為轉(zhuǎn)發(fā)標(biāo)識,用于報文在TRILL網(wǎng)絡(luò)中的尋址轉(zhuǎn)發(fā)(可理解為類似IP地址在IP網(wǎng)絡(luò)里面轉(zhuǎn)發(fā)時的作用)。每個RB都具有唯一的Nickname,同時維護其他RB的TRILL公共區(qū)域MAC地址、Nickname和私有區(qū)域內(nèi)部MAC地址的對應(yīng)關(guān)系表。因為TRILL封裝是MACinMAC方式,因此在TRILL公共區(qū)域數(shù)據(jù)報文可以經(jīng)過傳統(tǒng)Bridge和Hub依靠外部Ethernet報頭轉(zhuǎn)發(fā)(如圖3所示)。TRILL報頭格式如圖4所示。
圖4 TRILL報頭格式
V(Version):2bit,當(dāng)前Draft定義為0。
R(Reserved):2bit,預(yù)留。
M(Multi-destination):1bit,0為已知單播,1為未知單播/組播/廣播,此時Egress RBridge Nickname意味著當(dāng)前轉(zhuǎn)發(fā)使用多播樹的根。
Op-Length(Options Length):5bit,Option字段長度。
Hop Count:6bit,最大跳數(shù),逐跳減一,為0丟棄,防止環(huán)路風(fēng)暴。
Egress RBridge Nickname:16bit,已知單播標(biāo)示目的私網(wǎng)MAC對應(yīng)的RB,多播則標(biāo)示多播樹根RB。中間傳輸RB節(jié)點不能改變此字段值。
Ingress RBridge Nickname:16bit,標(biāo)示報文進入TRILL區(qū)域的初始邊緣RB,中間傳輸RB節(jié)點不能改變此字段值。
Options:目前只定義了CHbH(Critical Hop byHop)和CItE(Critical Ingress to Egress)兩個1bit的標(biāo)志位,用于說明后面的Option預(yù)留內(nèi)容是需要逐跳設(shè)備識別處理的或是首末端設(shè)備必須識別處理的。至于真正的Option目前都還沒有定義。
普通Ethernet報文在首次從TRILL邊緣RB設(shè)備進入TRILL區(qū)域時,作為未知單播還是依照傳統(tǒng)以太網(wǎng)傳播方式,廣播給所有其他的RB節(jié)點。但是除了邊緣RB外,TRILL區(qū)域中間的RB和傳統(tǒng)Bridge都不會學(xué)習(xí)此數(shù)據(jù)報文中私有區(qū)域內(nèi)部MAC地址信息,有效地降低了中間設(shè)備的MAC地址表壓力。為了防止環(huán)路同時做到多路徑負載均衡,TRILL的每個RB在初始建立鄰接繪制拓撲時,都會構(gòu)造出多個多播樹,分別以不同的Nickname為根,將不同的未知單播/組播/廣播流量Hash到不同的樹,分發(fā)給其他所有RB。由于全網(wǎng)拓撲唯一且構(gòu)造樹時采用的算法一致,可保證全網(wǎng)RB的組播/廣播樹一致。在RB發(fā)送報文時,通過將報文TRILL頭中的M標(biāo)志位置1來標(biāo)識此報文為多播,并填充樹根Nickname到目的Nickname字段,來確保沿途所有RB采用同一顆樹進行廣播。組播與廣播報文的轉(zhuǎn)發(fā)方式與未知單播相同。已知單播報文再發(fā)送的時候,會根據(jù)目的RB的Nickname進行尋路,如果RB間存在多條路徑時,會逐流進行Hash發(fā)送,以確保多路徑負載分擔(dān)。
另外TRILL除了支持外層Ethernet封裝在傳統(tǒng)以太網(wǎng)中傳輸,還規(guī)定了一種外層PPP封裝方式可以跨廣域網(wǎng)技術(shù)傳輸。圖5是兩種典型的TRILL報文封裝方式。TRILL的主要技術(shù)結(jié)構(gòu)如上所述,目前各個芯片廠商都已經(jīng)進入TRILL Ready的階段,隨著技術(shù)標(biāo)準完善發(fā)布并廣泛被客戶所接受,相關(guān)產(chǎn)品的商用是很快的。
圖5(a)TRILL報文封裝方式1 圖5(b)TRILL報文封裝方式2圖5 TRILL報文封裝方式
4.2 SPB
談到SPB需要先了解PBB(運營商骨干橋接技術(shù),Provider Backbone Bridging),PBB是IEEE于2008年完成的802.1ah標(biāo)準,為運營商城域以太網(wǎng)定義了一整套MACinMAC的轉(zhuǎn)發(fā)機制。但PBB只定義了轉(zhuǎn)發(fā)平面的封裝內(nèi)容,當(dāng)報文封裝上外層Ethernet報頭在運營商骨干區(qū)域二層網(wǎng)絡(luò)中時,仍然需要依靠傳統(tǒng)的STP進行環(huán)路避免和轉(zhuǎn)發(fā)控制。于是IEEE在2009年又定義了802.1Qay PBB-TE(Provider Backbone Bridge TrafficEngineering),用于在運營商的骨干區(qū)域中進行拓撲管理與環(huán)路保護,也就是通過手工方式配置大量指定路徑取代STP的自動收斂。目前IEEE還有個相關(guān)的標(biāo)準P802.1Qbf,PBB-TE infrastructure protection處于草案階段,預(yù)計2011年發(fā)布。
PBB-TE靜態(tài)規(guī)劃轉(zhuǎn)發(fā)路徑,無法適用于大型二層網(wǎng)絡(luò)擴展,于是IEEE又發(fā)布了P802.1aq SPB(ShortestPath Bridging),當(dāng)前處于草案階段。從IEEE的資料上看SPB主要是為解決STP阻塞鏈路浪費帶寬的問題而研究的。從實現(xiàn)看,同樣是采用了L2 ISIS作為其控制平面協(xié)議進行拓撲學(xué)習(xí)計算,用MACinMAC封裝方式在SPB區(qū)域內(nèi)部進行報文傳輸(如圖6所示)。
圖6 SPB引入示意
SPB可細分為SPBV(VLANQinQ)和SPBM(MACinMAC)兩個部分,目前看主要用到的是SPBM。
SPBM是標(biāo)準的MACinMAC封裝,在SPB區(qū)域中數(shù)據(jù)報文也都是依靠外層MAC做傳統(tǒng)Ethernet轉(zhuǎn)發(fā)。外層Ethernet報頭中的源目的MAC就代表了SPB區(qū)域邊緣的UNI設(shè)備,此設(shè)備MAC是由L2 ISIS在SPB區(qū)域中傳遞的。
由于在SPB網(wǎng)絡(luò)中還是采用傳統(tǒng)Ethernet進行轉(zhuǎn)發(fā),因此需要定義一系列的軟件算法以保證多路徑的廣播無環(huán)和單播負載均衡。下面介紹幾個主要的部分。
1)首先SPB定義了I-SID來區(qū)分多個拓撲,I-SID信息在數(shù)據(jù)報文中以BVID(外層Ethernet報頭中的VLANTag)的形式攜帶,這樣就可以解決不同業(yè)務(wù)多拓撲轉(zhuǎn)發(fā)的問題。
2)每個SPB節(jié)點都會為每個I-SID計算三棵樹。到達所有相關(guān)UNI節(jié)點的SPT(Shortest Path Tree)用于單播與組播報文的轉(zhuǎn)發(fā);ECT(Equal Cost Tree)用以處理兩個UNI間存在多條等價路徑時負載均衡轉(zhuǎn)發(fā);自己為根的多播樹MT(Multicast Tree)用于未知單播與廣播報文轉(zhuǎn)發(fā)。
3)任意兩點間的Shortest Path一定是對稱的,ECT的負載均衡是基于不同I-SID分擔(dān)的。
總的來說,SPB和TRILL相比主要有以下不同(如表1所示)。
表1 SPB與TRILL區(qū)別
SPB目前的最大困擾是轉(zhuǎn)發(fā)路徑靠軟件算法保障,尤其在多路徑負載分擔(dān)時,對CPU計算壓力遠遠超過TRILL和FabricPath,因此實際轉(zhuǎn)發(fā)效率還有待驗證。
5 小結(jié)
從云計算數(shù)據(jù)中心網(wǎng)絡(luò)虛擬化技術(shù)發(fā)展來看,控制平面的虛擬化技術(shù),如已經(jīng)得到廣泛商用的VSS/IRF,這個技術(shù)的使用,作為網(wǎng)絡(luò)虛擬化技術(shù)的第一步,目前能夠?qū)?shù)據(jù)中心單節(jié)點的端口容量擴展到2000個萬兆端口,后續(xù)會向3000個萬兆端口的規(guī)模升級。隨著云計算網(wǎng)絡(luò)規(guī)模的增大,如運營商提出在云基地建設(shè)40萬臺服務(wù)器規(guī)模的數(shù)據(jù)中心,勢必要引入新的技術(shù),其中本文提到的數(shù)據(jù)平面虛擬化技術(shù)TRILL/SPB都是下一步網(wǎng)絡(luò)虛擬化實施中可能的選擇,這些技術(shù)比以前的STP在帶寬上多了一倍的擴充,組網(wǎng)規(guī)模上也得到擴展,可以構(gòu)建多層次、面向1~5萬個萬兆端口級別的數(shù)據(jù)中心網(wǎng)絡(luò),更適用于云計算超大規(guī)模的網(wǎng)絡(luò)需求。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:云計算數(shù)據(jù)中心網(wǎng)絡(luò)虛擬化技術(shù)
本文網(wǎng)址:http://www.oesoe.com/html/support/1112157897.html