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