摘 要:在云計算、大數(shù)據(jù)等應(yīng)用和服務(wù)快速發(fā)展的時代,云數(shù)據(jù)中心對于虛擬網(wǎng)絡(luò)數(shù)量上的需求急劇上升,無法跨2層網(wǎng)絡(luò)實現(xiàn)虛擬服務(wù)器遷移的問題日益明顯。VXLAN技術(shù)能有效解決云數(shù)據(jù)中心邏輯網(wǎng)段不足、上層交換機(jī)MAC地址溢出等問題。文章就VXLAN技術(shù)對當(dāng)前數(shù)據(jù)中心遇到的問題進(jìn)行探討。
關(guān)鍵詞:VXLAN;數(shù)據(jù)中心;遷移
1 VLAN技術(shù)的局限性
在服務(wù)器虛擬化技術(shù)實現(xiàn)后,數(shù)據(jù)中心內(nèi)部虛擬服務(wù)器(VM)的數(shù)量較之原物理實體機(jī)在數(shù)量上有了明顯提升,與之對應(yīng)的VM虛擬網(wǎng)卡的MAC地址數(shù)量也隨之增加,當(dāng)VM數(shù)量很多時,會導(dǎo)致交換機(jī)的MAC地址表溢出,從而引發(fā)數(shù)據(jù)幀的丟棄及大量的廣播幀產(chǎn)生,嚴(yán)重影響網(wǎng)絡(luò)的性能。
其次,大規(guī)模的數(shù)據(jù)中心建立并提出互聯(lián)互通的需求背景下,原先用于劃分?jǐn)?shù)據(jù)中心虛擬網(wǎng)絡(luò)的VLAN技術(shù)不再能夠滿足需求,傳統(tǒng)的VLAN技術(shù)其VLAN ID的位數(shù)為12比特,最多只能支持4094個虛擬網(wǎng)絡(luò)標(biāo)識可用。即便可以通過相應(yīng)技術(shù)進(jìn)行擴(kuò)展,但對于云計算服務(wù)的不斷普及,業(yè)務(wù)量的不斷增長,顯然不能滿足這種擴(kuò)展需求。
再者,在VLAN網(wǎng)絡(luò)環(huán)境中,虛擬機(jī)只能在2層網(wǎng)絡(luò)內(nèi)遷移,并且為了能夠支持虛擬機(jī)的遷移,需要對2層網(wǎng)絡(luò)進(jìn)行Vlan預(yù)配置,因而造成VLAN配置的混亂,影響VLAN廣播域的隔離,降低了網(wǎng)絡(luò)的效率。
最后,對于云數(shù)據(jù)中心的大二層需求在原有二層網(wǎng)絡(luò)下的特性與協(xié)議已經(jīng)不再適用,嘗試二層協(xié)議三層化是基本方向之一,VXLAN就是這樣一個將二層數(shù)據(jù)包封裝入三層包內(nèi)技術(shù)。
2 VXLAN技術(shù)簡介
VXLAN是一種隧道封裝技術(shù),能將二層報文用三層協(xié)議進(jìn)行封裝,對二層網(wǎng)絡(luò)在三層范圍進(jìn)行擴(kuò)展,從而實現(xiàn)跨地域的二層互連。技術(shù)原理是通過引入一個UDP格式的外層隧道,使得原有數(shù)據(jù)報文內(nèi)容作為用戶數(shù)據(jù)形式來傳輸,可以讓原始2層幀數(shù)據(jù)輕而易舉的在二三層網(wǎng)絡(luò)中傳送。每個覆蓋域被稱為VXLAN segment,ID是由位于VXLAN數(shù)據(jù)包頭中的VXLAN Network Identifier(VNI)標(biāo)識的。VNI字段包含24 bits,故segments最大數(shù)量為2的24次方,約合16M個。只有在相同VXLAN segment內(nèi)的虛擬機(jī)之間才可以相互通信。如圖1。
2.1 VTEP
VTEP(VXLAN Tunnel End Point)隧道端點,用來完成VXLAN報文的封裝和解封裝,實現(xiàn)物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)的隔離,一般位于擁有虛擬機(jī)的宿主機(jī)中,因此VNI和VXLAN隧道只有VTEP可見,對于虛擬機(jī)是透明的,不同的VXLAN segment中只允許具有相同MAC地址的虛擬機(jī)。并且VTEP也可以位于物理交換機(jī)或物理主機(jī)中,甚至可以使用軟件來定義。VTEP之間完全是通過3層協(xié)議交互與Router相連,如圖2。
2.2 Vxlan網(wǎng)關(guān)
如果需要VXLAN網(wǎng)絡(luò)和非VXLAN網(wǎng)絡(luò)連接,必須使用VXLAN網(wǎng)關(guān)才能把VXLAN網(wǎng)絡(luò)和外部網(wǎng)絡(luò)進(jìn)行橋接,完成VXLAN ID和VLAN ID之間的映射和路由,和VLAN一樣,VXLAN網(wǎng)絡(luò)之間的通信也需要3層設(shè)備的支持,即VXLAN路由的支持。同樣VXLAN網(wǎng)關(guān)可由硬件和軟件來實現(xiàn)。從封裝的結(jié)構(gòu)上來看,VXLAN提供了將2層網(wǎng)絡(luò)overlay在3層網(wǎng)絡(luò)上的能力,如圖3。
3 VXLAN技術(shù)優(yōu)勢
第一,靈活性強(qiáng),VXLAN通過隧道技術(shù)來構(gòu)建可以跨越多個3層網(wǎng)絡(luò)的虛擬2層網(wǎng)絡(luò),使VM可以在物理位置分散的數(shù)據(jù)中心之間進(jìn)行遷移,擺脫了原來VM的遷移只能在同網(wǎng)段的二層網(wǎng)絡(luò)上進(jìn)行的地理位置限制。
第二,VXLAN數(shù)據(jù)包是在標(biāo)準(zhǔn)的第3層IP網(wǎng)絡(luò)上運(yùn)行,不需要對現(xiàn)有網(wǎng)絡(luò)進(jìn)行改造;除VXLAN網(wǎng)絡(luò)邊緣設(shè)備,網(wǎng)絡(luò)中的其他設(shè)備不需要識別虛擬機(jī)的MAC地址,減輕了交換設(shè)備的MAC地址學(xué)習(xí)壓力,提升了設(shè)備性能。
第三,VXLAN通過采用MAC in UDP的封裝延伸了2層網(wǎng)絡(luò),實現(xiàn)物理網(wǎng)絡(luò)與虛擬網(wǎng)絡(luò)解耦,去除了物理網(wǎng)絡(luò)IP地址和廣播域的限制,VM的遷移可以實現(xiàn)跨越3層網(wǎng)絡(luò),極大降低了網(wǎng)絡(luò)管理的難度。
第四,VXLAN技術(shù)通過24bit的VNI可以支持多達(dá)16M的VXLAN段的網(wǎng)絡(luò)隔離,對用戶進(jìn)行隔離和標(biāo)識不再受到限制,可以滿足云數(shù)據(jù)中心未來業(yè)務(wù)的邏輯網(wǎng)段分隔的需求。
4 VXLAN部署場景
4.1 同VXLAN間的部署
VXLAN多用于數(shù)據(jù)中心的虛擬機(jī)化環(huán)境中,可以穿越機(jī)架甚至是數(shù)據(jù)中心。如圖2兩個宿主機(jī)Server1和Server2,對于物理位置沒有要求,可以在任意區(qū)域,只需與3層網(wǎng)絡(luò)相連即可,其本質(zhì)是VETP可以跨越3層網(wǎng)絡(luò)。
圖2中有2個VXLAN覆蓋網(wǎng)絡(luò):
VNI=11表示為[{Server1[VM1-1]}, {Server1[VM1-2]}, {Server2[VM2-3]}]
VNI=22表示為[{Server1[VM1-3]}, {Server2[VM2-1]}, {Server2[VM2-2]}]
4.2 VXLAN與非VLXAN間的部署
VXLAN網(wǎng)絡(luò)和非VXLAN網(wǎng)絡(luò)互連就得需要VXLAN網(wǎng)關(guān),VXLAN網(wǎng)關(guān)上同時存在兩種類型的端口:VXLAN端口和普通端口。當(dāng)收到從VXLAN網(wǎng)絡(luò)到普通網(wǎng)絡(luò)的數(shù)據(jù)時,VXLAN網(wǎng)關(guān)去掉外層包頭,根據(jù)內(nèi)層的原始幀頭轉(zhuǎn)發(fā)到普通端口上;當(dāng)有數(shù)據(jù)從普通網(wǎng)絡(luò)進(jìn)入到VXLAN網(wǎng)絡(luò)時,VXLAN網(wǎng)關(guān)負(fù)責(zé)打上外層包頭,并根據(jù)原始VLAN ID對應(yīng)到一個VNI,同時去掉內(nèi)層包頭的VLAN ID信息。如果VXLAN網(wǎng)關(guān)發(fā)現(xiàn)一個VXLAN包的內(nèi)層幀頭上還帶有原始的二層VLAN ID,會直接將這個包丟棄。之所以這樣是因為VXLAN并不依賴VLAN ID進(jìn)行轉(zhuǎn)發(fā),無法判斷VLAN ID的正確性。
對于VTEP、VXLAN網(wǎng)關(guān)的形態(tài),可以是虛擬交換機(jī),也可以是物理交換機(jī)。通過物理交換機(jī)實現(xiàn)服務(wù)器與軟件虛擬VTEP的通信,以及使用專用交換機(jī)實現(xiàn)VXLAN網(wǎng)關(guān)相搭配的模式,從而承載超大規(guī)模的流量轉(zhuǎn)發(fā),避免系統(tǒng)網(wǎng)絡(luò)的瓶頸產(chǎn)生,相對而言也是當(dāng)前最優(yōu)的部署方法。
5 結(jié)束語
雖然說VXLAN已經(jīng)在某些領(lǐng)域得到了應(yīng)用,可以很清楚的將虛擬網(wǎng)絡(luò)與物理設(shè)施區(qū)分開,但并不是說它可以徹底代替VLAN技術(shù),如果某個數(shù)據(jù)中心內(nèi)有超過200個以上的虛擬機(jī),那么VXLAN是個不錯的選擇。如果數(shù)據(jù)中心規(guī)模不大,且只有少量邏輯網(wǎng),那么久經(jīng)考驗的VLAN技術(shù)仍舊可以滿足。
參考文獻(xiàn)
[1]華為FusionSphere 3.1 VXLAN技術(shù)白皮書[Z].
[2]Vxlan基礎(chǔ)理解-新的三層overlay技術(shù)的淺析[Z].
[3]VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks overLayer 3 Networks[Z].