VMware 組網基本原理

2021-06-22 23:51:10 字數 3559 閱讀 3738

前幾天研究了一下vmware 的組網方式,頗有心得,現指出其中的一些要點以饗讀者。

一、物理網路

先說說通常情況下物理網路的結構。我們先要注意兩個不同的名詞: internet 和 internet,前者是一般意義下的網間網,後者是世界範圍內的網間網,後者其實是前者的乙個特例。我們的研究物件就是乙個簡單的 internet。

舉個例子吧(我最喜歡舉例了),你的公司有兩個工作組,他們分別在不同的區域網,如圖所示:

那麼在同乙個工作組,也就是在同乙個lan上,各個機器如何通訊呢?如果我們假設lan 內的機器都是互相友好的,那麼我們可以這樣做,當m1 要向 m4 傳輸資訊時,它的網絡卡(adapter)就向lan 內的所有機器傳送這個資訊(廣播),並在包中包含m4的ip(dest ip),每個機器的網絡卡(adapter)都收到資訊,但只有m4 發現目的ip是自己,並作出反應。實際的lan執行的基本原理也是如此,一些掃瞄軟體做的就是捕獲所有的包並加以分析,提取有用的資訊。

顯然,如果一台機器有兩個網絡卡,乙個屬於 net1,乙個屬於 net2,那麼它就可以同時傳送和接收兩個網路上的資料,從而聯絡兩個網路。所以,兩個工作組要通訊,就得有乙個中介,這個中介就是我們通常所說的路由器,這也是為什麼路由器得有兩個網絡卡。

這裡,我們就假設 net1.m1 和 net2.m1 為同一臺機器,而且擁有兩個網絡卡,如圖:

可是,m1.adapter1 如何知道它收到的資料是發向 net2的呢(前面說過,lan內的包是廣播的),這就要用到網路號了。我們知道,網路上的每一台機器(確切地說是每乙個網絡卡)都有乙個ip(有時乙個網絡卡也不止乙個,後面會看到),如果 net1 和 net2 上的機器的ip 字首不同,我們就可以用這個ip 字首來標識兩個網路了,比如,net1 上的機器的ip都是 192.168.221.x, net2上的都是 192.168.48.x。這樣,當 m1.adapter1 收到的包的目的(dest)ip的字首是 192.168.221,那麼這個包就是發往 net1的;同樣,如果字首是 192.168.48,那就是發往 net2的。 這個ip字首可以通過ip mask來得到,我們分配給 net1 和 net2 的mask都是 255.255.255.0,把它與各自的ip相與(and),就得到網路號。這樣,m1 成了兩個網路之間的門,實際上是兩道門,中間還有乙個黑盒,其中 adapter1是一道通向 net1的門,稱它為 net1 的閘道器,adapter2 是 net2的閘道器,m1就是兩個網路之間的路由器。

前面說的例子是兩個地位相等的網路,而實際上我們要參與的一般都是兩個地位並不相等的網路。假設你有十台機器,但只向isp(internet service provider)申請了乙個ip,你想讓每一台機器都能上網,怎麼辦?

這也是我們要組建的vmware網路的基本結構。

nat. 對,實際情況下用的就是nat。這時,你得有一台機器作為nat伺服器,這台機器在架構上和路由器相同,只是它比路由器多做了一點點工作,就在我們剛才說的黑盒裡面幹的。你的機器的連線將如圖所示。

nat 做了什麼呢,簡單地說,就是共享乙個ip,其詳細原理請見其它資料。

二、vmnet

好了,輪到vm們粉墨登場了。

vmware 預設配置了三種連網方式,bridge, nat, host only。這篇文章也只打算說說這三種方式,具體地說就是講解它們與實際的物理網路之間的對應關係。

1.       bridge

前面說過,乙個網絡卡可以獲得多個ip,那麼在 bridge方式裡面,就是利用網絡卡的這種功能為每乙個vm分配乙個外網的ip;這樣,每乙個vm在網路上的地位與 host是對等的。你可以認為每乙個vm都是乙個網路上的物理機。這種方式要求你能夠得到多個ip。這種網路的示意連線圖如下:

先說這個,是因為後面的nat方式實際上是在這種方式上加了乙個功能而已。先看圖吧,host only 用的是vmnet1,它包括兩個元件,乙個虛擬的網絡卡(host virtual adapter),乙個網擬的交換機(virtual switch),虛擬的網絡卡自動連到這個交換機上。當你配置你的vm們的網絡卡時,若選的是 host only,那麼它們也預設被連到了這個交換機上了。這時,你一定看出來了,host virtual adapter和各個虛擬機器的網絡卡一起已經組成了乙個區域網,而且host virtual adapter所在的機器上(也就是host)還有乙個網絡卡(物理網絡卡)連線著外網(不論這個外網是網際網路還是其它的區域網)。可是呢,這個host 上的兩個網絡卡之間不能通訊。這兩個網絡卡,乙個虛擬的,乙個物理的,這兄弟倆真是雞犬之聲相聞,老死不相往來。兄弟倆的不合,導致了vm們不能訪問外網,但是,通過host virtual adapter,vm們可以訪問host,所以叫做 host only。

那麼,有什麼辦法讓vm們能夠訪問外網呢,把host 配置成乙個簡單的nat伺服器。下面是在windows xp 下使用的方法:開啟網路連線(network connections),找到代表物理網絡卡的那個連線(一般是local area connection),右擊,屬性,高階,找到 internet connection sharing(ics),check 它,vmware預設給你裝了兩個網絡卡,這個地方你還要選擇把物理網絡卡的ip給誰共享,應該是 vmnet1。確定,xp會彈出乙個對話方塊,說你不能再用共享檔案了。也就是使用ics之後,你不能在區域網裡把你的檔案設為共享了。不管它,繼續。xp會把你的vmnet1上的 host virtual adapter的ip設為 192.168.0.1,不過沒有給你提供dhcp,所以你可以把vm們的ip靜態地設為 192.168.0.x,比如,第一台vm為192.168.0.2,第二台為192.168.0.3。閘道器當然要設成host virtual adapter(192.168.0.1)啦,因為沒有dhcp,vm們的dns也要設定成靜態的,就設定成你的主機的dns。

在 windows 2003下,你還可以把主機配置成乙個具有完全功能的nat伺服器。

host only 的乙個優點就是非常靈活,跟物理網路更為相近。比如,你可以在vm們中選中乙個用作dhcp伺服器,再選乙個作dns。

nat方式中,host virtual adapter並沒有提供特殊的作用,host virtual adapter在各種配置中都起了乙個相同的作用,就是與主機進行通訊。若安裝了vmware tools,虛擬機器可以使用 folder sharing,具體怎麼使用略。這種服務就是通過host virtual adapter來的。(這一點參考vmware 的文件)

好了,今天算是寫個初稿,以後我會修訂的。

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

8 2 1 基本原理

乙個舞台動畫物件在包含許多舞台資訊 出現在何處,佔多大面積,處在什麼角度,是否可見 這些資訊分別儲存在動畫物件的屬性中。在 中讀取這些屬性可以了解物件的位置 大小 角度等狀態資訊 修改這些屬性可以改變物件的位置 大小 角度等狀態。如果從資料的角度去理解,動畫就是在固定時間間隔點不斷修改動畫物件某項屬...

Csocket基本原理

我通過幾個採用 csocket 類編寫並基於 client server 客戶端 服務端 的網路聊天和傳輸檔案的程式 在除錯這些程式的過程中,追蹤深入至 csocket 類核心原始碼 sockcore.cpp 對於csocket 類的執行機制可謂是一覽無遺,並且對於阻塞和非阻塞方式下的 socket...