Xen的虛擬網路裝置

2021-05-17 15:40:31 字數 806 閱讀 4041

作為虛擬機器與外界通訊的途徑,虛擬網路裝置在xen的虛擬裝置中具有代表性。虛擬網路裝置的前後端須要通過共享記憶體進行通訊。由於後端須要為多個虛擬機器提供網路服務,因此後端具有網橋的功能。每個虛擬機器擁有乙個或多個網路裝置,通過軟體模擬的網橋進行資料報**。

虛擬網路裝置包含位於dom n中的前端和位於dom 0中的後端,前端傳送資料報都須要**到後端,最終經過虛擬網橋,通過真實的物理網絡卡(peth0)傳送到網路中。當dom n啟動時,建立了前端裝置eth0,同時對應的後端裝置是vif n.x,n是domain id,x代表第幾個網路裝置,如果是第1個網路裝置,就是vif n.0,依次類推。

傳統linux在傳送資料報時,資料報從應用程式傳入核心,上層的協議(tcp、ip等)將資料封裝成sk_buff格式,傳給底層的網路裝置(如乙太網),然後由核心呼叫網路裝置的發包函式完成發包過程。xen虛擬網路的實現是在linux 2.6網路模組的基礎上修改的,在dom u中,虛擬網路裝置的前端與這個流程基本相同,應用程式將資料報從使用者空間拷貝到核心空間,經過協議棧後封裝成sk_buff,將包傳送出去。只是由於前端是虛擬裝置,因此不是真正將包傳送到物理裝置上,而是將包進一步**到後端,由後端真正完成包的**。具體的實現是通過把儲存該資料報的記憶體頁面授權給後端驅動域(包含對真實硬體驅動的虛擬機器),後端裝置驅動獲到該頁面後,通過協議棧**到本地裝置驅動,從而將資料報從真實的網路裝置上傳送出去。

虛擬網路裝置後端是在驅動域(包含本地裝置驅動的虛擬機器,通常是dom 0) 中建立的裝置,後端**前端傳送的資料報,或者將接收的資料報**給虛擬機器。由於驅動域的後端通常須要為多個前端提供傳送/接收資料報的功能,因此,需要虛擬網橋來根據mac位址將資料報**到各個虛擬機器。

Linux 虛擬網路裝置詳解之 Bridge 網橋

linux 虛擬網路裝置詳解之 bridge 網橋 同 tap tun veth pair 一樣,bridge 也是一種虛擬網路裝置,所以具備虛擬網路裝置的所有特性,比如可以配置 ip mac 等。除此之外,bridge 還是乙個交換機,具有交換機所有的功能。對於普通的網路裝置,就像乙個管道,只有兩...

Linux 虛擬網路裝置詳解之 Bridge 網橋

前面幾篇文章介紹了 tap tun veth pair,今天這篇來看看 bridge。同 tap tun veth pair 一樣,bridge 也是一種虛擬網路裝置,所以具備虛擬網路裝置的所有特性,比如可以配置 ip mac 等。除此之外,bridge 還是乙個交換機,具有交換機所有的功能。對於普...

VOIP網路裝置

voip 系統的基本元件 終端 閘道器 關守 網管伺服器 記帳伺服器等,下面介紹一下各個元件的功能 1 終端 terminal voip的終端可以有多種型別,其中包括傳統的語音 isdn終端 pc,也可以是集語音 資料和圖象於一體的多 業務終端。由於不同種類的終端產生的資料來源結構是不同的,要在同乙...