網(wǎng)絡(luò)虛擬化對(duì)于現(xiàn)實(shí)來說是比較抽象的,以我們?cè)趯W(xué)校書本上學(xué)的那點(diǎn)網(wǎng)絡(luò)知識(shí)來理解網(wǎng)絡(luò)虛擬化是遠(yuǎn)遠(yuǎn)不夠的。
網(wǎng)絡(luò)虛擬化對(duì)于現(xiàn)實(shí)來說是比較抽象的,以我們?cè)趯W(xué)校書本上學(xué)的那點(diǎn)網(wǎng)絡(luò)知識(shí)來理解網(wǎng)絡(luò)虛擬化是遠(yuǎn)遠(yuǎn)不夠的。
在我們的印象中,網(wǎng)絡(luò)就是由各種網(wǎng)絡(luò)設(shè)備(如交換機(jī)、路由器)相連組成的一個(gè)網(wǎng)狀結(jié)構(gòu),世界上的任何兩個(gè)人都可以通過網(wǎng)絡(luò)建立起連接。
帶著這樣一種思路去理解網(wǎng)絡(luò)虛擬化可能會(huì)感覺
云里霧里--這樣一個(gè)龐大的網(wǎng)絡(luò)如何實(shí)現(xiàn)虛擬化?
其實(shí),網(wǎng)絡(luò)虛擬化更多關(guān)注的是數(shù)據(jù)中心網(wǎng)絡(luò)、
主機(jī)網(wǎng)絡(luò)這樣比較「細(xì)粒度」的網(wǎng)絡(luò),所謂細(xì)粒度,是相對(duì)來說的,是深入到某一臺(tái)物理主機(jī)之上的網(wǎng)絡(luò)結(jié)構(gòu)來談的。
如果把傳統(tǒng)的網(wǎng)絡(luò)看作「宏觀網(wǎng)絡(luò)」的話,那網(wǎng)絡(luò)虛擬化關(guān)注的就是「微觀網(wǎng)絡(luò)」。網(wǎng)絡(luò)虛擬化的目的,是要節(jié)省物理主機(jī)的網(wǎng)卡設(shè)備資源。從資源這個(gè)角度去理解,可能會(huì)比較好理解一點(diǎn)。
在傳統(tǒng)網(wǎng)絡(luò)環(huán)境中,一臺(tái)物理主機(jī)包含一個(gè)或多個(gè)網(wǎng)卡(NIC),要實(shí)現(xiàn)與其他物理主機(jī)之間的通信,需要通過自身的 NIC 連接到外部的網(wǎng)絡(luò)設(shè)施,如交換機(jī)上,如下圖所示。
這種架構(gòu)下,為了對(duì)應(yīng)用進(jìn)行隔離,往往是將一個(gè)應(yīng)用部署在一臺(tái)物理設(shè)備上,這樣會(huì)存在兩個(gè)問題,1)是某些應(yīng)用大部分情況可能處于空閑狀態(tài),2)是當(dāng)應(yīng)用增多的時(shí)候,只能通過增加物理設(shè)備來解決擴(kuò)展性問題。不管怎么樣,這種架構(gòu)都會(huì)對(duì)物理資源造成極大的浪費(fèi)。
為了解決這個(gè)問題,可以借助虛擬化技術(shù)對(duì)一臺(tái)物理資源進(jìn)行抽象,將一張物理網(wǎng)卡虛擬成多張?zhí)摂M網(wǎng)卡(vNIC),通過
虛擬機(jī)來隔離不同的應(yīng)用。
這樣對(duì)于上面的問題 1),可以利用虛擬化層 Hypervisor 的調(diào)度技術(shù),將資源從空閑的應(yīng)用上調(diào)度到繁忙的應(yīng)用上,達(dá)到資源的合理利用;針對(duì)問題 2),可以根據(jù)物理設(shè)備的資源使用情況進(jìn)行橫向擴(kuò)容,除非設(shè)備資源已經(jīng)用盡,否則沒有必要新增設(shè)備。這種架構(gòu)如下所示。
其中虛擬機(jī)與虛擬機(jī)之間的通信,由虛擬交換機(jī)完成,虛擬網(wǎng)卡和虛擬交換機(jī)之間的鏈路也是虛擬的鏈路,整個(gè)主機(jī)內(nèi)部構(gòu)成了一個(gè)虛擬的網(wǎng)絡(luò),如果虛擬機(jī)之間涉及到三層的網(wǎng)絡(luò)包轉(zhuǎn)發(fā),則又由另外一個(gè)角色--虛擬路由器來完成。
一般,這一整套虛擬網(wǎng)絡(luò)的模塊都可以獨(dú)立出去,由第三方來完成,如其中比較出名的一個(gè)
解決方案就是 Open vSwitch(OVS)。
OVS 的優(yōu)勢(shì)在于它基于 SDN 的設(shè)計(jì)原則,方便虛擬機(jī)集群的控制與管理,另外就是它分布式的特性,可以「透明」地實(shí)現(xiàn)跨主機(jī)之間的虛擬機(jī)通信,如下是跨主機(jī)啟用 OVS 通信的圖示。
總結(jié)下來,網(wǎng)絡(luò)虛擬化主要解決的是虛擬機(jī)構(gòu)成的網(wǎng)絡(luò)通信問題,完成的是各種網(wǎng)絡(luò)設(shè)備的虛擬化,如網(wǎng)卡、交換設(shè)備、路由設(shè)備等。
為了完成虛擬機(jī)在同主機(jī)和跨主機(jī)之間的通信,需要借助某種"橋梁"來完成用戶態(tài)到內(nèi)核態(tài)(Guest 到 Host)的數(shù)據(jù)傳輸,這種橋梁的角色就是由虛擬的網(wǎng)絡(luò)設(shè)備來完成,上面介紹了一個(gè)第三方的開源方案--OVS,它其實(shí)是一個(gè)融合了各種虛擬網(wǎng)絡(luò)設(shè)備的集大成者,是一個(gè)產(chǎn)品級(jí)的解決方案。
以上就是小編對(duì)于虛擬化化網(wǎng)絡(luò)的基本介紹。