1. 程式人生 > >VMware篇 虛擬網絡卡的關係

VMware篇 虛擬網絡卡的關係

      在使用VMware Workstation建立虛擬機器時,可以根據需要選擇使用哪種虛擬網絡卡,哪種連線方式。預設有3種:VMnet0(橋接網路)、VMnet1(僅主機網路)和VMnet8(NAT網路),當然可以根據需要新增VMnet2到VMnet7、VMnet9等7個虛擬網絡卡。

      虛擬機器網路連線屬性的意義:

      1、Use bridged networking(橋接網路):使用(連線)VMnet0虛擬交換機。此時虛擬機器相當與網路上的一臺獨立計算機,與主機一樣,擁有一個獨立的IP地址(如圖一)。

       2、Use network address translation(使用NAT網路):使用(連線)VMnet8虛擬交換機。此時虛擬機器可以通過主機單向訪問網路上的其他工作站(包括Internet網路),其他工作站不能訪問虛擬機器

(如圖二)。

      3、Use Host-Only networking(使用主機網路):使用(連線)VMnet1虛擬交換機。此時虛擬機器只能與虛擬機器、主機互連,與網路上的其他工作站不能訪問(如圖三)。

       4、Do not a network connection:虛擬機器中沒有網絡卡,相當於單機。

      如圖一中,虛擬機器A1、A2是主機A中的虛擬機器,虛擬機器B1是主機B中的虛擬機器。在圖中,A1、A2與B1採用“橋接模式”,則A1、A2、B1與A、B、C任意兩臺或多臺之間都可以互訪(需設定為同一網段)。此時,A1、A2、B1與A、B、C處於相同的地位,你要把他們都當作一臺真實的電腦去設定、使用。

圖一 橋接方式網路

       如圖二中,虛擬機器A1、A2是主機A中的虛擬機器,虛擬機器B1是主機B中的虛擬機器。其中的“NAT路由器”是隻啟用了NAT功能的路由器,用來把VMnet8交換機上連線的計算機通過NAT功能連線到VMnet0虛擬交換機。A1、A2、B1設定為NAT方式,此時A1、A2可以單向訪問主機B、C,而B、C不能訪問A1、A2;B1可以單向訪問主機A、C,而A、C不能訪問B1;A1、A2與A,B1與B可以互訪

圖二 NAT方式網路

       如圖三中,虛擬機器A1、A2是主機A中的虛擬機器,虛擬機器B1是主機B中的虛擬機器。若A1、A2、B1設定成host方式,則A1、A2只能與A互訪,A1、A2不能訪問主機B、C,也不能被這些主機訪問;B1只能與主機B互訪,B1不能與主機A、C互訪。

圖三 host方式網路

       在使用虛擬機器進行聯網的過程中,可以隨時更改與虛擬機器相連線的“虛擬機器交換機”。在更改了虛擬機器的聯網方式後,還應該修改虛擬機器中的IP地址以適應聯網方式的改變。如,假設主機的VMnet1使用網段地址192.168.10.0,VMnet8使用網段地址為192.168.80.0,閘道器地址為192.168.80.254(相當於NAT路由器的內網地址),主機網絡卡使用地址為192.168.1.1。假設虛擬機器A1開始被設定為橋接方式,虛擬機器A1的IP地址被設定為192.168.1.5,如果虛擬機器A1想使用host方式,則修改虛擬機器的網絡卡屬性為(Host-Only),然後在虛擬機器中修改IP地址為192.168.10.6 即可(也可以設定其他地址,只要網段與host所用網段在同一個子網即可,下同);如果虛擬機器A1想改用NAT方式,則修改虛擬機器的網絡卡屬性為(NAT),然後在虛擬機器中修改IP地址為192.168.80.6,設定閘道器地址為192.168.80.254即可。

       相關概念,這兒只是簡要的介紹橋接和NAT。

       1、橋接:

       橋接工作在OSI網路參考模型的第二層資料鏈路層,是一種以MAC地址來作為判斷依據來將網路劃分成兩個不同物理段的技術。

       我們都知道,乙太網是一種共享網路傳輸介質的技術,在這種技術下,如果一臺計算機發送資料的時候,在同一物理網路介質上的計算機都需要接收,在接收後分析目的MAC地址,如果是屬於目的MAC地址和自己的MAC地址相同便進行封裝提供給網路層,如果目的MAC地址不是自己的MAC地址,那麼就丟棄資料包。

       橋接的工作機制是將物理網路段(也就是常說的衝突域)進行分隔,根據MAC地址來判斷連線兩個物理網段的計算機的資料包傳送。

       在下圖中的網路結構中,有兩臺集線器分別連線多臺計算機,我們分別將A集線器和B集線器定為A衝突域和B衝突域。在這樣的網路環境中,如果計算機A向計算機C傳送資料包時,集線器A會將資料包在整個網路中的全部計算機(包括集線器B)傳送一遍,而不管這些資料包是不是需要傳送到另一臺區域B。

       我們再將集線器A和集線器B分別連線到網橋的兩個埠上,如果計算機A再向計算機C傳送資料包時會遇到什麼樣的情況呢?這時集線器A也是同樣會將資料包在全網傳送,當到達網橋後,網橋會進行資料包目的MAC地址的分析,然後對比自己學習到的MAC地址表,如果這個表中沒有此MAC地址,網橋便會在兩個網段上的傳送資料包,同時會將計算機A的MAC地址記錄在自己的表當中。

      經過多次這樣的記錄,網橋會將所有的MAC地址記錄,並劃分為兩個段。這時計算機A再次傳送資料包給B的時候,因為這兩臺計算機同處在一個物理段位上,資料包到達網橋時,網橋會將目的MAC地址和自己的表進行對比,並且判斷計算機A和計算機B在同一個段位上,便不會轉發到區域B當中,而如果不在同一個物理段當中,網橋便會允許資料包通過網橋。

      通過以上的例子我們瞭解到,網橋實際上是一種控制衝突域流量的裝置。網橋現在基本上已經很少用到了,除了隔離衝突域以外,網橋還可以實現不同型別網路的連線(令牌環網和乙太網之間的連線)和網路的擴充套件(IEEE的5.4.3連線規則)等等功能。

       2、NAT:

      NAT英文全稱是“Network Address Translation”,中文意思是“網路地址轉換”,它是一個IETF(Internet Engineering Task Force, Internet工程任務組)標準,允許一個整體機構以一個公用IP(Internet Protocol)地址出現在Internet上。顧名思義,它是一種把內部私有網路地址(IP地址)翻譯成合法網路IP地址的技術。

       簡單的說,NAT就是在區域網內部網路中使用內部地址,而當內部節點要與外部網路進行通訊時,就在閘道器(可以理解為出口,打個比方就像院子的門一樣)處,將內部地址替換成公用地址,從而在外部公網(internet)上正常使用,NAT可以使多臺計算機共享Internet連線,這一功能很好地解決了公共IP地址緊缺的問題。通過這種方法,您可以只申請一個合法IP地址,就把整個區域網中的計算機接入Internet中。這時,NAT遮蔽了內部網路,所有內部網計算機對於公共網路來說是不可見的,而內部網計算機使用者通常不會意識到NAT的存在。如圖2所示。這裡提到的內部地址,是指在內部網路中分配給節點的私有IP地址,這個地址只能在內部網路中使用,不能被路由(一種網路技術,可以實現不同路徑轉發)。雖然內部地址可以隨機挑選,但是通常使用的是下面的地址:10.0.0.0~10.255.255.255,172.16.0.0~172.16.255.255,192.168.0.0~192.168.255.255。NAT將這些無法在網際網路上使用的保留IP地址翻譯成可以在網際網路上使用的合法IP地址。而全域性地址,是指合法的IP地址,它是由NIC(網路資訊中心)或者ISP(網路服務提供商)分配的地址,對外代表一個或多個內部區域性地址,是全球統一的可定址的地址