網絡虛擬化對于現實來說是比較抽象的,以我們在學校書本上學的那點網絡知識來理解網絡虛擬化是遠遠不夠的。

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