在以往IT建設(shè)中,硬件服務(wù)器上運(yùn)行的是虛擬層的計(jì)算,物理網(wǎng)絡(luò)為了與虛擬服務(wù)器對(duì)接,需要網(wǎng)絡(luò)自己進(jìn)行調(diào)整,以便和新的計(jì)算層對(duì)接(如圖1所示)。Overlay是在傳統(tǒng)網(wǎng)絡(luò)上虛擬出一個(gè)虛擬網(wǎng)絡(luò)來(lái),傳統(tǒng)網(wǎng)絡(luò)不需要在做任何適配,這樣物理層網(wǎng)絡(luò)只對(duì)應(yīng)物理層的計(jì)算(物理機(jī)、虛擬化層管理網(wǎng)),虛擬的網(wǎng)絡(luò)只對(duì)應(yīng)虛擬計(jì)算(虛擬機(jī)的業(yè)務(wù)IP),如圖2所示。
圖1 物理網(wǎng)絡(luò)引入數(shù)據(jù)中心技術(shù)來(lái)適配虛擬計(jì)算
圖2 物理網(wǎng)絡(luò)通過(guò)承接虛擬網(wǎng)絡(luò)來(lái)適配虛擬計(jì)算
Overlay的技術(shù)路線(xiàn),其實(shí)是從架構(gòu)上對(duì)數(shù)據(jù)中心的建設(shè)模式進(jìn)行了顛覆,對(duì)物理設(shè)備的要求降至最低,業(yè)務(wù)完全定義在層疊網(wǎng)絡(luò)上。那么,這是否意味著將來(lái)數(shù)據(jù)中心使用Overlay網(wǎng)絡(luò)不需要硬件支持而只需要軟件定義就足夠了呢?答案無(wú)疑是否定的。
以下討論Overlay網(wǎng)絡(luò)與物理網(wǎng)絡(luò)的依存關(guān)系。由于VXLAN(Virtual eXtensible LAN)技術(shù)是當(dāng)前最為主流的Overlay標(biāo)準(zhǔn),以下VXLAN技術(shù)為代表進(jìn)行具體描述。
1. 報(bào)文的封裝與解封裝
VXLAN的核心在于承載于物理網(wǎng)絡(luò)上的隧道技術(shù),這就意味著要對(duì)報(bào)文進(jìn)行封裝和解封裝,因此需要硬件來(lái)加速處理。
在VXLAN網(wǎng)絡(luò)中,用于建立VXLAN隧道的端點(diǎn)設(shè)備稱(chēng)為VTEP(VXLAN Tunneling End Point,VXLAN隧道終結(jié)點(diǎn)),封裝和解封裝在VTEP節(jié)點(diǎn)上進(jìn)行。
在云數(shù)據(jù)中心,部分業(yè)務(wù)是不適合進(jìn)行虛擬化的(如小機(jī)服務(wù)器,高性能數(shù)據(jù)庫(kù)服務(wù)器),這些服務(wù)器會(huì)直接與物理交換機(jī)互聯(lián),而他們又必須與對(duì)應(yīng)租戶(hù)/業(yè)務(wù)的VXLAN網(wǎng)絡(luò)互通,此時(shí)就必須要求與其互聯(lián)的硬件交換機(jī)也能支持VXLAN協(xié)議,以接入VXLAN網(wǎng)絡(luò)。
圖3 Overlay網(wǎng)絡(luò)的三種構(gòu)建模式
考慮到服務(wù)器接入的可以是虛擬交換機(jī),也可以是物理交換機(jī),因此存在三種不同的構(gòu)建模式(如圖3所示):其中網(wǎng)絡(luò)Overlay方案中,所有終端均采用物理交換機(jī)作為VTEP節(jié)點(diǎn);主機(jī)Overlay方案中,所有終端均采用虛擬交換機(jī)作為VTEP節(jié)點(diǎn);混合Overlay方案中,既有物理交換機(jī)接入,又有虛擬交換機(jī)接入,且軟件VTEP和硬件VTEP之間可以基于標(biāo)準(zhǔn)協(xié)議互通。
在網(wǎng)絡(luò)Overlay方案和混合Overlay方案中,都需要有物理交換機(jī)設(shè)備支持VXLAN協(xié)議棧,并能與虛擬交換機(jī)構(gòu)建的VTEP互通。由于在實(shí)際組網(wǎng)環(huán)境中,服務(wù)器種類(lèi)很多,高吞吐高性能要求的業(yè)務(wù)一般都采用單獨(dú)物理服務(wù)器甚至小機(jī)的硬件環(huán)境,而非虛擬化的x86服務(wù)器,這就沒(méi)法使用vSwitch來(lái)接入VXLAN網(wǎng)絡(luò),只能讓支持VXLAN的物理交換機(jī)來(lái)接入了。
2. 組播協(xié)議傳播
VXLAN網(wǎng)絡(luò)的MAC表與隧道終端的綁定關(guān)系要用組播協(xié)議傳播,而大規(guī)格組播協(xié)議離不開(kāi)物理網(wǎng)絡(luò)設(shè)備的支持。
按照VXLAN的標(biāo)準(zhǔn),每一個(gè)VTEP都需要了解其接入的終端MAC地址,同時(shí)還需要知道整網(wǎng)(該VXLAN實(shí)例中)其他VTEP下所有的終端MAC地址。只有這樣,在本地的VTEP收到報(bào)文后需要轉(zhuǎn)發(fā)時(shí),才能根據(jù)目的MAC查詢(xún)到需要送到遠(yuǎn)端的目的VTEP那里。
按照IETF中對(duì)VXLAN網(wǎng)絡(luò)的定義,負(fù)責(zé)在網(wǎng)絡(luò)中傳播MAC地址和VTEP對(duì)應(yīng)關(guān)系的機(jī)制,正是依托于物理網(wǎng)絡(luò)中的組播協(xié)議。VTEP將本地的MAC地址表利用組播協(xié)議在整個(gè)組播中傳播,從而使得整網(wǎng)中所有組播成員,也就是其他VTEP都知道本地的MAC地址表。當(dāng)VTEP下的終端接入情況有所更改,如新增了MAC地址或者減少了MAC地址,也需要利用組播協(xié)議通知同一個(gè)實(shí)例下的所有VTEP。另外,當(dāng)本地VTEP找不到目的MAC處于哪一個(gè)遠(yuǎn)端VTEP時(shí),也需要發(fā)送組播報(bào)文來(lái)查找目的MAC主機(jī)所屬的遠(yuǎn)端VTEP。
圖4 多個(gè)VTEP通過(guò)物理網(wǎng)絡(luò)組播傳遞MAC表信息
如圖4所示,多個(gè)VTEP需要在整網(wǎng)中傳遞VTEP下MAC地址信息,邏輯傳遞路線(xiàn)如綠色虛線(xiàn)所示。由于需要進(jìn)行邏輯上的Full-Mesh連接,連接邏輯線(xiàn)路會(huì)達(dá)到N平方量級(jí),因此實(shí)際組網(wǎng)中,VXLAN利用了物理網(wǎng)絡(luò)的組播組,在建立好的組播組中加入VXLAN中所有VTEP成員,傳遞VTEP變更信息。在多用戶(hù)多業(yè)務(wù)情況下,組播組要求與VXLAN數(shù)量息息相關(guān)。由于VXLAN網(wǎng)絡(luò)規(guī)模的不斷拓展(最大可達(dá)到16M個(gè)VXLAN網(wǎng)絡(luò)),所需要的組播條目數(shù)會(huì)不斷增加,這實(shí)際上對(duì)于物理網(wǎng)絡(luò)承載組播處理能力和規(guī)格提出了要求。
由于標(biāo)準(zhǔn)VXLAN架構(gòu)下使用組播協(xié)議,對(duì)物理網(wǎng)絡(luò)組播數(shù)規(guī)格要求較大,因此H3C VXLAN解決方案基于SDN架構(gòu),通過(guò)引入全網(wǎng)的SDN Controller來(lái)實(shí)現(xiàn)VXLAN的管理和維護(hù),使得VTEP之間的信息可以通過(guò)Controller來(lái)進(jìn)行反射(如圖5所示)。這樣,VTEP的MAC地址表映射關(guān)系不再通過(guò)組播向全網(wǎng)其他VTEP傳達(dá),而是統(tǒng)一上報(bào)給控制器,由控制器統(tǒng)一下發(fā)給需要接受此消息的其他VTEP,由具體的VTEP執(zhí)行轉(zhuǎn)發(fā)機(jī)制。
圖5 多個(gè)VTEP通過(guò)SDN Controller傳遞MAC表信息
可見(jiàn),在SDN架構(gòu)下,硬件形態(tài)的VTEP需要能夠支持集中控制器下發(fā)的業(yè)務(wù)控制信息,同時(shí)基于Openflow進(jìn)行流表轉(zhuǎn)發(fā)。而傳統(tǒng)硬件交換機(jī)不能支持上述特性,必須由新硬件設(shè)備來(lái)執(zhí)行和完成的。
3. VXLAN網(wǎng)絡(luò)互通
在傳統(tǒng)L2網(wǎng)絡(luò)中,報(bào)文跨VLAN轉(zhuǎn)發(fā),需要借助三層設(shè)備來(lái)完成不同VLAN之間的互通問(wèn)題。VXLAN網(wǎng)絡(luò)與傳統(tǒng)網(wǎng)絡(luò)、以及VXLAN網(wǎng)絡(luò)的互通,必須有網(wǎng)絡(luò)設(shè)備的支持。
VXLAN網(wǎng)絡(luò)框架中定義了兩種網(wǎng)關(guān)單元。
VXLAN三層網(wǎng)關(guān)。用于終結(jié)VXLAN網(wǎng)絡(luò),將VXLAN報(bào)文轉(zhuǎn)換成傳統(tǒng)三層報(bào)文送至IP網(wǎng)絡(luò),適用于VXLAN網(wǎng)絡(luò)內(nèi)服務(wù)器與遠(yuǎn)端終端之間的三層互訪;同時(shí)也用作不同VXLAN網(wǎng)絡(luò)互通。如圖6所示,當(dāng)服務(wù)器訪問(wèn)外部網(wǎng)絡(luò)時(shí),VXLAN三層網(wǎng)關(guān)剝離對(duì)應(yīng)VXLAN報(bào)文封裝,送入IP網(wǎng)絡(luò);當(dāng)外部終端訪問(wèn)VXLAN內(nèi)的服務(wù)器時(shí),VXLAN根據(jù)目的IP地址確定所屬VXLAN及所屬的VTEP,加上對(duì)應(yīng)的VXLAN報(bào)文頭封裝進(jìn)入VXLAN網(wǎng)絡(luò)。VXLAN之間的互訪流量與此類(lèi)似,VXLAN網(wǎng)關(guān)剝離VXLAN報(bào)文頭,并基于目的IP地址確定所屬VXLAN及所屬的VTEP,重新封裝后送入另外的VXLAN網(wǎng)絡(luò)。
圖6 VXLAN網(wǎng)絡(luò)通過(guò)三層網(wǎng)關(guān)與傳統(tǒng)網(wǎng)絡(luò)互連
VXLAN二層網(wǎng)關(guān)。用于終結(jié)VXLAN網(wǎng)絡(luò),將VXLAN報(bào)文轉(zhuǎn)換成對(duì)應(yīng)的傳統(tǒng)二層網(wǎng)絡(luò)送到傳統(tǒng)以太網(wǎng)絡(luò),適用于VXLAN網(wǎng)絡(luò)內(nèi)服務(wù)器與遠(yuǎn)端終端或遠(yuǎn)端服務(wù)器的二層互聯(lián)。如在不同網(wǎng)絡(luò)中做虛擬機(jī)遷移時(shí),當(dāng)業(yè)務(wù)需要傳統(tǒng)網(wǎng)絡(luò)中服務(wù)器與VXLAN網(wǎng)絡(luò)中服務(wù)器在同一個(gè)二層中,此時(shí)需要使用VXLAN二層網(wǎng)關(guān)打通VXLAN網(wǎng)絡(luò)和二層網(wǎng)絡(luò)。如圖7所示,VXLAN 10網(wǎng)絡(luò)中的服務(wù)器要和IP網(wǎng)絡(luò)中VLAN100的業(yè)務(wù)二層互通,此時(shí)就需要通過(guò)VXLAN的二層網(wǎng)關(guān)進(jìn)行互聯(lián)。VXLAN10的報(bào)文進(jìn)入IP網(wǎng)絡(luò)的流量,剝掉VXLAN的報(bào)文頭,根據(jù)VXLAN的標(biāo)簽查詢(xún)對(duì)應(yīng)的VLAN網(wǎng)絡(luò)(此處對(duì)應(yīng)的是VLAN100),并據(jù)此在二層報(bào)文中加入VLAN的802.1Q報(bào)文送入IP網(wǎng)絡(luò);相反VLAN100的業(yè)務(wù)流量進(jìn)入VXLAN也需要根據(jù)VLAN獲知對(duì)應(yīng)的VXLAN網(wǎng)絡(luò)編號(hào),根據(jù)目的MAC獲知遠(yuǎn)端VTEP的IP地址,基于以上信息進(jìn)行VXLAN封裝后送入對(duì)應(yīng)的VXLAN網(wǎng)絡(luò)。
圖7 VXLAN網(wǎng)絡(luò)通過(guò)二層網(wǎng)關(guān)與傳統(tǒng)二層網(wǎng)絡(luò)互通
可見(jiàn),無(wú)論是二層還是三層網(wǎng)關(guān),均涉及到查表轉(zhuǎn)發(fā)、VXLAN報(bào)文的解封裝和封裝操作。從轉(zhuǎn)發(fā)效率和執(zhí)行性能來(lái)看,都只能在物理網(wǎng)絡(luò)設(shè)備上實(shí)現(xiàn),并且傳統(tǒng)設(shè)備無(wú)法支持,必須通過(guò)新的硬件形式來(lái)實(shí)現(xiàn)。
結(jié)束語(yǔ)
Overlay由于其簡(jiǎn)單、一致的解決問(wèn)題方法,加上重新定義的網(wǎng)絡(luò)可以進(jìn)行軟件定義,已經(jīng)成為數(shù)據(jù)中心網(wǎng)絡(luò)最炙手可熱的技術(shù)方案。然而,它并不是一張完全由軟件定義的網(wǎng)絡(luò),Overlay網(wǎng)絡(luò)解決方案必定是一種軟硬結(jié)合的方案,無(wú)論是從接入層VTEP混合組網(wǎng)的組網(wǎng)要求、組播或SDN控制層協(xié)議的支持,還是VXLAN網(wǎng)絡(luò)與傳統(tǒng)網(wǎng)絡(luò)的互通來(lái)看,都需要硬件積極的配合和參與,必須構(gòu)建在堅(jiān)實(shí)和先進(jìn)的物理網(wǎng)絡(luò)架構(gòu)基礎(chǔ)上……