虛擬交換機可以在三個層次實現
基于服務器CPU:
以軟件形式運行在服務器上,實現虛擬交換功能
在服務器的CPU中實現完整的虛擬交換的功能,虛擬機的虛擬網卡對應虛擬交換的一個虛擬端口,服務器的物理網卡作為虛擬交換的上行鏈路接入物理接入層交換機。
虛擬機的報文接收流程如下:虛擬交換機首先從虛擬端口/物理端口接收以太網報文,之后根據虛擬機MAC、VLAN,查找二層轉發表,找到對應的虛擬端口/物理端口,然后按照具體的端口,轉發報文如圖所示,同一主機中的虛擬機VM1和VM2之間的數據交換由本地虛擬交換機完成,而VM1與VM3通信時,數據交換有兩個虛擬交換機及物理交換機共同完成。
特點:
服務器內部的通信性能:
同一服務器上的虛擬機間報文轉發性能好,時延低;虛擬交換機實現虛擬機之間報文的二層軟件轉發;報文不出服務器,轉發路徑短,性能高。
跨服務器通信性能:
需要經物理交換機進行轉發,相比物理交換機實現虛擬交換,由于虛擬交換模塊的消耗,性能稍低于物理交換機實現虛擬交換。
擴展靈活:
由于采用純軟件實現,相比采用L3芯片的物理交換機,功能擴展靈活、快速,可以更好的滿足云計算的網絡需求擴展。
規格容量大:
服務器內存大,相比物理交換機,在L2交換容量、ACL容量等,遠大于物理交換機。
基于物理網卡
某些物理網卡支持硬件虛擬化功能,通過硬件本身提供的虛擬化功能實現虛擬交換。設計思想是將虛擬交換功能從服務器的CPU移植到服務器物理網卡,通過網卡硬件改善虛擬交換機占用CPU資源而影響虛擬機性能的問題,同時借助物理網卡的直通的能力,加速虛擬交換的性能。
如圖所示SR-IOV硬件網卡直通方案,虛擬機VM1與虛擬機VM2之間的數據交換由物理網卡完成。
傳統的SR-IOV商業網卡,可以支持簡單的虛擬交換的功能,高級特性較少,并且由于自身設計以及缺乏與Hypervisor的配合存在一些缺陷,如熱遷移等。
特點:
①需要額外配置支持虛擬化功能的物理網卡;
②相對于虛擬交換機(軟件VEB),減少了CPU占用率,采用網卡實現交換的功能,不再需要CPU參與虛擬交換處理;
③對于物理網卡實現虛擬直通功能時,由于實現了虛擬機對PCIe設備的直接訪問和操作,顯著降低了從虛擬機到物理網卡的報文處理延時;
④傳統商業網卡無法支持熱遷移、同時功能簡單,無法支持靈活的安全隔離等特性,且功能擴展困難。
華為自研iNIC智能網卡硬件,實現了虛擬機虛擬網卡與iNIC智能網卡虛擬的虛擬隊列直接相連,同時支持熱遷移、安全隔離功能。
基于物理交換機:
某些物理交換機可通過特殊協議,感知虛擬機的存在,在交換機層實現虛擬交換。