繆仕福
摘 要:隨著云計(jì)算技術(shù)迅速而全面的推廣和應(yīng)用,傳統(tǒng)的數(shù)據(jù)中心逐漸向由各種虛擬化技術(shù)所支撐的云數(shù)據(jù)中心轉(zhuǎn)變。計(jì)算虛擬化和存儲虛擬化已經(jīng)取得長足發(fā)展,但網(wǎng)絡(luò)虛擬化一直是云業(yè)務(wù)資源虛擬化的短板。VXLAN能夠在傳統(tǒng)物理網(wǎng)絡(luò)基礎(chǔ)上構(gòu)建邏輯的二層網(wǎng)絡(luò),提供了網(wǎng)絡(luò)虛擬化的有效解決方式,是網(wǎng)絡(luò)支持云業(yè)務(wù)發(fā)展的理想選擇。該文對VXLAN技術(shù)進(jìn)行了分析研究,并探討了其部署方法、優(yōu)勢及不足。
關(guān)鍵詞:網(wǎng)絡(luò)虛擬化 虛擬化網(wǎng)絡(luò) 云計(jì)算 VLAN VXLAN
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2015)02(a)-0015-02
云計(jì)算可以提供可用、便捷、按需的資源,成為當(dāng)前企業(yè)IT建設(shè)的常規(guī)形態(tài)。作為云計(jì)算技術(shù)基礎(chǔ)的虛擬化技術(shù)被普遍運(yùn)用于云計(jì)算數(shù)據(jù)中心。除了已經(jīng)逐漸發(fā)展成熟的服務(wù)器虛擬化外,網(wǎng)絡(luò)虛擬化的需求也逐漸在增加。然而,當(dāng)前的傳統(tǒng)網(wǎng)絡(luò)已經(jīng)不能很好滿足企業(yè)的這種需求。
1 傳統(tǒng)VLAN技術(shù)難以適應(yīng)大規(guī)模租戶部署
租戶之間需要隔離,當(dāng)前主流的隔離技術(shù)為VLAN。但是在大量租戶部署時(shí)會有兩大限制。
(1)傳統(tǒng)的VLAN技術(shù)基于IEEE的802.1Q協(xié)議,在該協(xié)議的幀格式里面定義了VLAN ID的位數(shù)為12比特,等于說它最多只能支持4094個(gè)VLAN。這在當(dāng)初應(yīng)該屬于一個(gè)不小的數(shù)字,然而,隨著當(dāng)今云計(jì)算服務(wù)的出現(xiàn),云計(jì)算數(shù)據(jù)中心的規(guī)??赡茏兊孟喈?dāng)龐大。以云計(jì)算服務(wù)提供商亞馬遜為例,它為全球190個(gè)國家的客戶提供IT基礎(chǔ)設(shè)施IaaS服務(wù),有許多的用戶租用虛擬機(jī)實(shí)例。隨著云計(jì)算服務(wù)的不斷普及,業(yè)務(wù)量的不斷增長,在數(shù)據(jù)中心就可能需要成千上萬個(gè)VLAN,802.1Q協(xié)議對VLAN技術(shù)的數(shù)量顯然不能滿足這種擴(kuò)展的需求。業(yè)界需要一種能滿足支持更多VLAN的新技術(shù)來滿足發(fā)展的需要。
(2)如果在大規(guī)模數(shù)據(jù)中心部署VLAN,會使得所有VLAN在數(shù)據(jù)中心都被允許通過(因?yàn)樘摂M機(jī)可能遷移,導(dǎo)致各交換機(jī)都需允許所有VLAN通過),導(dǎo)致任何一個(gè)VLAN的廣播數(shù)據(jù)會在整個(gè)數(shù)據(jù)中心內(nèi)泛濫,大量消耗網(wǎng)絡(luò)帶寬,同時(shí)帶來維護(hù)的困難。
2 現(xiàn)有二層技術(shù)不利于虛機(jī)遷移
虛擬機(jī)遷移的特點(diǎn)以東西流量為主,在遷移后需要其IP地址、MAC地址等參數(shù)保持不變,如此則要求業(yè)務(wù)網(wǎng)絡(luò)是一個(gè)二層網(wǎng)絡(luò)。但已有二層技術(shù)存在下面幾個(gè)問題。
(1)生成樹(STP Spanning Tree Protocol)技術(shù),部署和維護(hù)繁瑣,網(wǎng)絡(luò)規(guī)模不宜過大,限制了網(wǎng)絡(luò)的擴(kuò)展。
(2)各廠家私有的多虛一網(wǎng)絡(luò)虛擬化技術(shù)(如H3C的IRF、華為的CSS、銳捷的VSU、Cisco的VSS),雖然可以簡化部署、同時(shí)具備高可靠性,但是對于網(wǎng)絡(luò)的拓?fù)浼軜?gòu)有嚴(yán)格要求,同時(shí)各廠家不支持互通,在網(wǎng)絡(luò)的可擴(kuò)展性上有所欠缺,只適合小規(guī)模網(wǎng)絡(luò)部署,一般只適合數(shù)據(jù)中心內(nèi)部網(wǎng)絡(luò)。
(3)新出現(xiàn)的大規(guī)模二層網(wǎng)絡(luò)技術(shù)TRILL/SPB/FabricPath等,雖然能支持二層網(wǎng)絡(luò)的良好擴(kuò)展,但對網(wǎng)絡(luò)設(shè)備有特殊要求,網(wǎng)絡(luò)中的設(shè)備需要軟硬件升級才能支持此類新技術(shù),帶來部署成本的上升。
3 虛擬機(jī)規(guī)模受限于網(wǎng)絡(luò)設(shè)備的規(guī)格
二層的網(wǎng)絡(luò)環(huán)境需要交換機(jī)學(xué)習(xí)虛擬機(jī)的MAC地址信息,而交換機(jī)特別是接人交換機(jī)的MAC地址表項(xiàng)規(guī)格較小,制約了虛擬機(jī)的數(shù)量。云計(jì)算是計(jì)算高度密集型的應(yīng)用,虛擬機(jī)的數(shù)量代表著云計(jì)算的規(guī)模,而低成本的接入交換機(jī)無法為高密度的虛擬機(jī)提供網(wǎng)絡(luò)接人服務(wù)。如果通過提高接入交換機(jī)硬件性能的方式提升網(wǎng)絡(luò)規(guī)模,則會較大程度地提高硬件的建設(shè)成本,因此傳統(tǒng)二層的網(wǎng)絡(luò)環(huán)境限制了虛擬機(jī)的數(shù)量,無法支持大規(guī)模的云計(jì)算數(shù)據(jù)中心。
正是由于傳統(tǒng)網(wǎng)絡(luò)技術(shù)已經(jīng)不能滿足技術(shù)發(fā)展的需求。因此,近幾年開始,各大IT廠商聯(lián)合起來,推出了幾種能夠解決這種需求的新技術(shù)。其中2011年公布的VXLAN技術(shù)是當(dāng)前較為熱門的解決方式。
3.1 VXLAN的基本原理
VXLAN(Virtual eXtensible Local Area Network)是一種隧道技術(shù),能在三層網(wǎng)絡(luò)的基礎(chǔ)上建立二層以太網(wǎng)網(wǎng)絡(luò)隧道,從而實(shí)現(xiàn)跨地域的二層互連。
如圖1所示,VXLAN采取了將原始以太網(wǎng)報(bào)文封裝在UDP數(shù)據(jù)包里的封裝格式。將原來的二層數(shù)據(jù)幀加上VXLAN頭部一起封裝在一個(gè)UDP數(shù)據(jù)包里。
VXLAN頭部包含有一個(gè)VXLAN標(biāo)識(即VNI,VXLAN Network Identifier),只有在同一個(gè)VXLAN上的虛擬機(jī)之間才能相互通信。VNI在數(shù)據(jù)包之中占24比特,故可支持1600萬個(gè)VXLAN的同時(shí)存在,遠(yuǎn)多于VLAN的4094個(gè),因此可適應(yīng)大規(guī)模租戶的部署。
VXLAN一般通過安裝在服務(wù)器上的軟件實(shí)現(xiàn)報(bào)文的封裝與解封裝,網(wǎng)絡(luò)只要IP路由可達(dá)即可。VXLAN實(shí)現(xiàn)了應(yīng)用與物理網(wǎng)絡(luò)的解耦,但網(wǎng)絡(luò)與虛擬機(jī)還是相互獨(dú)立的。如圖2,業(yè)界一般通過網(wǎng)絡(luò)控制器(如SDN,Software Defined Network)實(shí)現(xiàn)VXLAN網(wǎng)絡(luò)與云業(yè)務(wù)的聯(lián)動。當(dāng)虛擬機(jī)發(fā)生遷移后,虛機(jī)/存儲控制器會把虛擬機(jī)遷移信息通知給網(wǎng)絡(luò)控制器,網(wǎng)絡(luò)控制器根據(jù)虛擬機(jī)遷移的新位置,重新調(diào)整網(wǎng)絡(luò)配置,從而實(shí)現(xiàn)網(wǎng)絡(luò)與云業(yè)務(wù)的聯(lián)動。
也就是說,物理網(wǎng)絡(luò)可以是傳統(tǒng)的三層IP網(wǎng)絡(luò),路由可達(dá)即可。虛擬機(jī)可跨三層IP網(wǎng)絡(luò)遠(yuǎn)距離遷移,不再受限于二層技術(shù)。物理網(wǎng)絡(luò)也無需允許所有VLAN通過。接入交換機(jī)需要學(xué)習(xí)的MAC地址的數(shù)量也大大減少,削弱了網(wǎng)絡(luò)設(shè)備MAC地址表項(xiàng)規(guī)格對虛擬機(jī)規(guī)模的約束。
3.2 VXLAN網(wǎng)絡(luò)的部署方法
如圖3,VXLAN網(wǎng)絡(luò)設(shè)備主要有三種角色,分別是VTEP(VXLAN Tunnel End Point)、VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān)。對于應(yīng)用系統(tǒng)來說,只與這三種設(shè)備相關(guān),而與底層傳統(tǒng)三層IP網(wǎng)絡(luò)無關(guān)。
(1)VTEP是直接與終端連接的設(shè)備,負(fù)責(zé)原始以太報(bào)文的VXLAN封裝和解封裝。
(2)VXLAN網(wǎng)關(guān)除了具備VTEP的功能外,還負(fù)責(zé)VLAN報(bào)文與VXLAN報(bào)文之間的映射和轉(zhuǎn)發(fā)。VXLAN的虛擬機(jī)與傳統(tǒng)VLAN的虛擬機(jī)之間互訪,通過VXLAN網(wǎng)關(guān)來完成。
(3)VXLAN IP網(wǎng)關(guān)具有VXLAN網(wǎng)關(guān)的所有功能,此外,還負(fù)責(zé)處理不同VXLAN之間的報(bào)文通信。不同VXLAN的虛擬機(jī)之間需要互訪,必須經(jīng)過VXLAN IP網(wǎng)關(guān)完成。
VTEP、VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān)、形態(tài)可以是虛擬交換機(jī),也可以是物理交換機(jī)。根據(jù)VTEP、VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān)是虛擬交換機(jī)還是物理交換機(jī),VXLAN網(wǎng)絡(luò)的部署方法主要分三種。
(1)第一種是VTEP、VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān)均通過安裝在服務(wù)器上的軟件實(shí)現(xiàn)。
(2)第二種是VTEP、VXLAN網(wǎng)關(guān)、VXLANIP網(wǎng)關(guān)均由物理交換機(jī)承擔(dān)。物理服務(wù)器支持SR-IOV功能,使虛擬機(jī)通過SR-IOV技術(shù)直接與物理交換機(jī)相連,虛擬機(jī)的流量在接入交換機(jī)上進(jìn)行VXLAN報(bào)文的封裝和解封裝。
(3)第三種是VTEP由安裝在服務(wù)器上的軟件實(shí)現(xiàn),VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān)由物理交換機(jī)承擔(dān)。
對于第一種部署方法,由于所有VXLAN報(bào)文的封裝解封裝都通過軟件實(shí)現(xiàn),會占用部分服務(wù)器資源,特別是VXLANIP網(wǎng)關(guān),當(dāng)訪問量大時(shí),將會成為系統(tǒng)瓶頸。對于第二種部署方法,由于需要通過一些特殊的要求或技術(shù)實(shí)現(xiàn)虛擬機(jī)與VTEP的對接,組網(wǎng)不夠靈活。第三種部署方法通過安裝在服務(wù)器上的軟件實(shí)現(xiàn)虛擬機(jī)的VTEP,通過物理交換機(jī)實(shí)現(xiàn)物理服務(wù)器的VTEP,通過專業(yè)的硬件交換機(jī)實(shí)現(xiàn)VXLAN IP網(wǎng)關(guān),從而可承載超大規(guī)模的流量轉(zhuǎn)發(fā),避免成為系統(tǒng)瓶頸。也就是說,第三種部署方法結(jié)合了第一種和第二種方法的優(yōu)勢,是相對而言最優(yōu)的部署方法,因此,一般推薦使用第三種部署方法。
3.3 VXLAN的優(yōu)勢及不足
相對于VLAN,VXLAN具備以下的優(yōu)勢。
(1)極大的擴(kuò)充了二層網(wǎng)段的數(shù)量: VXLAN技術(shù)的24位VVNI標(biāo)識符提供了1600萬個(gè)VXLAN網(wǎng)段,遠(yuǎn)比VLAN的4094個(gè)要多。可以滿足數(shù)據(jù)中心多租戶的網(wǎng)段分隔的需求。
(2)更大的靈活性:原來虛擬機(jī)的遷移只能在同網(wǎng)段的二層網(wǎng)絡(luò)上進(jìn)行,受到地理位置的嚴(yán)重限制。VXLAN通過隧道技術(shù)構(gòu)建可以跨越多個(gè)三層網(wǎng)絡(luò)的虛擬的二層網(wǎng)絡(luò),虛擬機(jī)可以在物理位置分散的數(shù)據(jù)中心之間進(jìn)行遷移,這使得虛擬機(jī)的部署更加靈活和方便。
(3)優(yōu)化的網(wǎng)絡(luò)操作:由于VXLAN在標(biāo)準(zhǔn)的第三層IP網(wǎng)絡(luò)上運(yùn)行,不再需要構(gòu)建和管理龐大的第二層基礎(chǔ)傳輸層。
(4)經(jīng)濟(jì)性:VXLAN由物理服務(wù)器內(nèi)部的虛擬機(jī)管理程序來管理,對虛擬機(jī)和普通的網(wǎng)絡(luò)設(shè)備(如物理交換機(jī)、路由器)等透明,不需要對現(xiàn)有的物理交換機(jī)和路由器進(jìn)行硬件方面的升級和改造。
雖然VXLAN技術(shù)能滿足未來云端大規(guī)模發(fā)展的需求,但作為一項(xiàng)新的技術(shù),VXLAN仍有不少不足之處。
(1)與提供網(wǎng)絡(luò)服務(wù)的傳統(tǒng)物理設(shè)備通信存在較大問題:VXLAN是一種隧道技術(shù),由于在隧道的兩端之間直接建立隧道,那么它是無法與途經(jīng)的一些物理設(shè)備(如傳統(tǒng)防火墻、傳統(tǒng)負(fù)載均衡器)通信的。
(2)影響報(bào)文轉(zhuǎn)發(fā)效率:需要為每個(gè)報(bào)文封裝與解封裝隧道頭,降低了報(bào)文的轉(zhuǎn)發(fā)效率。
4 結(jié)語
VXLAN主要解決現(xiàn)階段大規(guī)模云計(jì)算數(shù)據(jù)中心虛擬網(wǎng)絡(luò)不足的問題。VMware ESXi、Open vSwitch、當(dāng)前主流的網(wǎng)絡(luò)芯片均已支持VXLAN。它備受業(yè)界關(guān)注,未來有可能成為網(wǎng)絡(luò)虛擬化技術(shù)當(dāng)中的主流技術(shù)之一,如此看來,它的發(fā)展和應(yīng)用前景還是值得期待的。
參考文獻(xiàn)
[1] richsky.云網(wǎng)絡(luò)的宏大未來:大二層網(wǎng)絡(luò)[EB/OL].http://www.360doc.com/content/12/0625/18/9318309_220380913.shtml.
[2] TechNet.網(wǎng)絡(luò)虛擬化技術(shù)細(xì)節(jié)[EB/OL]. https://technet.microsoft.com/zh-cn/library/jj134174.
[3] TT中國.VXLAN標(biāo)準(zhǔn)初探[EB/OL]. http://www.cioage.com/art/201109/94420.htm.
[4] 51CT O.VXLAN和NVGRE能解決云網(wǎng)絡(luò)VLAN不足[EB/OL].http://networking.ctocio.com.cn/165/12358165.shtml.
[5] IETF.RFC 7348[EB/OL].https://datatracker.ietf.org/doc/rfc7348/.
[6] 劉付桂蘭.虛擬局域網(wǎng)新技術(shù)VXLAN研究[J].福建電腦,2014(11).