1. 程式人生 > 其它 >橋接、NAT、僅主機模式,OVS、DVS

橋接、NAT、僅主機模式,OVS、DVS

我們通過VMware workstation 自己裝完虛擬機器之後,需要配置我們的虛擬網絡卡。

需要在網路介面卡那裡進行配置,網路連線這裡一般有三種模式,橋接模式,NAT模式和僅主機模式,如下圖所示,那麼這三種模式有什麼區別呢?

 

橋接模式:

如下圖所示,就很好的講解了橋接的原理。左邊框框代表的就是我們的物理機,主機網絡卡就是我們物理機的物理網絡卡。右邊的虛線就是虛擬出來的裝置。未來某一天,我們在我們的物理機上創建出來了很多虛擬機器,就是右邊的框框中的虛擬機器。當我們選擇了橋接模式,如果我們的主機網絡卡如圖所示是1網段,當建立虛擬機器的時候創建出來的虛擬機器也會自動獲得1網段的IP地址,會和物理機的網段保持一致。所以橋接模式就是所有虛擬機器的虛擬網絡卡都連線在虛擬交換機(Vmnet0)上,虛擬交換機在通過虛擬網橋和物理機網絡卡連線在一起,所有虛擬機器的網段都需要和物理機的網段保持一致,這就是橋接模式

(Vmnet0對應的是橋接模式,Vmnet0指虛擬交換機,Vmnet1對應的就是僅主機模式,Vmnet8對應的是NAT模式,這3個是固定的)。

那麼虛擬交換機Vmnet0是幹什麼用的呢?它的作用就類似於OVS(Open virtual switch),OVS又是什麼呢?理解了OVS,我們才能更好的理解DVS(distributed virtual switch 分散式虛擬交換機),華為的DVS就是在OVS的基礎上進行了二次開發。

 

 

 

 

 

OVS介紹

如下圖所示,左邊的綠色小片是我們物理機的網絡卡,上邊是在主機上建立的3臺虛擬機器,那麼問題來了,這3臺虛擬機器怎麼和物理機進行溝通,或者怎麼和外網進行溝通呢?這時候我們就可以採用OVS。OVS是虛擬交換機的一種型別,它上邊有很多介面,所以在建立虛擬機器的時候可以直接選擇連線在哪個埠上,在將我們的物理網絡卡作為一個埠橋接到OVS上,這樣的話,虛擬機器就可以和物理機進行溝通。虛擬機器和虛擬機器之間也可以通過OVS可以直接通訊,不需要在經過物理網絡卡。把物理網絡卡作為一個埠橋接到OVS上,這就是橋接。

 

 

所以我們也可以把Vmnet0理解為OVS,這種模式就是橋接模式。那麼有一個問題,如果我們的物理機通過路由器可以上外網,那麼橋接模式下的虛擬機器可以上外網嗎?答案是可以的。只要主機可以上外網,那麼橋接模式下的虛擬機器就可以。

 

 

 

NAT:

network address translation(網路地址轉換)。這是一種技術。通過NAT技術可以將其私網地址轉換為公網地址,並且多個私網使用者可以共用一個公網地址,這樣既可保證網路互通,又節省了公網地址。(根據IP的私網、公網劃分)

 什麼是私網、公網呢?以下是IP地址分類,首先根據用途的不同,所有IP地址可以分為五類,每類對應不同的用途。

  • IP地址分類

    • A類:1.0.0.0 到 127.255.255.255主要分配 給大量主機而區域網網路數量較少的大型網路
    • B類:128.0.0.0 到191.255.255.255 一般用於國際性大公司和政府機構
    • C類:192.0.0.0 到223.255.255.255 用於一般小公司校園網研究機構等
    • D類:224.0.0.0 到 239.255.255.255 用於特殊用途,又稱做廣播地址
    • E類:240.0.0.0 到255.255.255.255 暫時保

那麼這些IP中哪些是私網IP呢?

私用ip地址

  • A類:10.0.0.0 到 10.255.255.255
  • B類:172.16.0.0 到172.31.255.255
  • C類:192.168.0.0 到192.168.255.255

包含這之中的就是私網地址,除此之外,剩餘的地址都是公網地址。

IPV4共有大約43億個公網地址,但是已經不夠用了。公網只能通過公網訪問,私網是不能直接訪問公網的。 

NAT技術就是如下圖所示:

假如一個公司有4個員工,如左邊的框所示,如果給他們每人分配一個公網,那麼他們就可以直接訪問百度等這些外網。但是這是不現實的,公網IP地址是收費的,所以公司不可能給每人都配一個公網地址,一般都是給每人配一個私網地址,比如192.168.等。由於私網地址不能直接訪問公網地址,所以這幾個人怎麼訪問公網呢?這就用到了NAT技術。通過NAT,這幾個人都可以把自己的私網IP轉換為一個共用的公網IP,在去訪問公網。這就是NAT的作用。

 

 

NAT中又分為 SNAT 和 DNAT,如果是要訪問外網的話,我們需要配置的是SNAT,如果是要讓外網訪問我們的話,需要配置的是DNAT。

那麼Vmware中的NAT模式是指什麼呢?

首先所有的虛擬機器也是先連在虛擬交換機上,NAT模式時,虛擬交換機是Vmnet8,和橋接模式不同的是,橋接模式中Vmnet0是直接連在主機網絡卡上,但是這裡Vmnet8是先連在主機的Vmnet8上,在連在主機上。那麼虛擬機器和主機通訊是走上邊那條線還是下邊那條線呢?它是走下邊那條線的。那麼如果主機能上外網,虛擬機器能上外網嗎? 虛擬機器也是可以上外網的,這就是這上下兩條線的區別。 當虛擬機器只是和主機通訊時,它會走下邊那條線,因為主機的Vmnet8和虛擬機器都在一個網段內,所以虛擬機器可以直接和主機通訊。當虛擬機器要上外網時,它會走上邊那條線,虛擬NAT裝置會將虛擬機器的網段都轉換成1網段,在直接連線在主機網絡卡上,因為都是1網段,所以虛擬機器就可以上外網了。

 

 

 

 

僅主機模式:

僅主機模式中的虛擬機器連線在虛擬交換機Vmnet1上,Vmnet1在和主機的Vmnet1連線,最後在連線到主機上。這就是虛擬機器和主機通訊的工程。那麼如果主機能上外網,虛擬機器能上外網嗎?我們可以看到,虛擬機器是沒辦法上外網的,因為沒辦法和主機網絡卡在一個網段內。所以僅主機模式下,虛擬機器只能和主機之間進行通訊,沒辦法上外網。

但是如果在僅主機模式下,真的很想上外網怎麼呢?我們可以看到主機網絡卡和主機的Vmnet1之間有一條紅色的線,如果我們把主機的網絡卡共享給Vmnet1讓他使用,這種方式下虛擬機器就可以上外網了。但是很少這樣用。

 

 

 

 

 

 

FC中的網路

DVS

在我們的FC環境中,每一臺主機上應該都有一個OVS,就像Vmware中的vmnet0,vmnet1,vmnet8等,讓所有虛擬機器都連線在虛擬交換機OVS上,在連線到物理主機的網絡卡上。但是有一個問題是,因為我們叢集中有多臺主機,每個主機的OVS可能配置了不同的Vlan,那麼不同主機上的虛擬機器就沒辦法通訊,也沒辦法遷移,那麼怎麼解決這個問題呢?華為在OVS的基礎上自研了DVS

 

那麼什麼是DVS呢?

如下圖所示,DVS就是一個橫跨多個主機的分散式虛擬交換機。即使我們叢集中有20個主機,他們也都可以連在一個DVS上。這樣的話就相當於所有的虛擬機器共用一個個OVS,那麼不同主機上的虛擬機器之間也就可以通訊了。DVS會通過上行鏈路連線到每個物理主機上。那麼什麼是上行鏈路呢?上行鏈路就是分散式交換機DVS連線主機物理網絡卡的鏈路,用於虛擬機器資料上行。 

 

 

 

 

在我們的平臺上建立DVS時,介面如下:

 我們需要先新增上行鏈路(即和哪個物理主機進行連線),然後新增VLAN池,VLAN池中會讓我們輸入起始VLAN ID 和結束的VLAN ID。

新增完以後在新增埠組,埠組必須在有了VLAN池之後才能建立,一個埠組對應一個VLAN。有了埠組之後,我們在建立虛擬機器的時候才可以在網絡卡的地方進行選擇,

 

 

 

什麼是VLAN

傳統的網路中,如果一個主機要和別的主機通訊,他會通過交換機發送訊號,這個時候交換機會將他的訊號廣播給所有連線在這個交換機上的主機。1個傳播多個,廣播方式。這種方法浪費網路資源,還可能會造成網路擁堵。

vlan就是把幾個需要通訊的主機圈在一個圓圈中,當他要和別的主機進行通訊時,交換機只會把這個訊號傳遞到同VLAN的主機上,這就是VLAN的作用,實現隔離。

終端主機和交換機之間的鏈路為接入鏈路,介面為access口,交換機和交換機之間的鏈路為幹道鏈路,介面為trunk口