VMware虛擬機三種連網原理簡介

一、前言

        虛擬機(Virtual Machine),在計算機科學中的體系結構里,是指一種特殊的軟件,可以在計算機平臺和終端用戶之間創建一種環境,而終端用戶則是基于這個軟件所創建的環境來操作系統軟件。虛擬機根據它們運用和與直接機器的相關性分為兩大類。系統虛擬機和程序虛擬機,系統虛擬機提供一個可以運行完整操作系統的完整系統平臺,系統虛擬機如:VirtualBox ,VMware,等。程序虛擬機為運行單個計算機程序設計,程序虛擬機如:Java虛擬機(JVM)等。在windows平臺,對于大多數個人用戶而言,基本上是使用VMware,VirtualBox來搭建虛擬機,無論選用那種軟件安裝虛擬機,基本上都是三種連網方式,橋接(bridge),僅主機(host-only),NAT。橋接模式直接連接到物理網絡,NAT模式用于共享主機ip地址,僅主機模式是宿主機和虛擬機專用網絡。無論僅主機和NAT連網方式中,VMware都提供了DHCP服務。

 

二、虛擬機連網方式

2.1:橋接連網方式    

        VMware中提供的第一個連網方式。虛擬機通過其網卡橋接到宿主機活動網卡中,可給虛擬機手動分配一個和網絡主機同一網絡的ip地址。宿主機和其它設備通信時需要通過宿主機的活動網卡把數據轉發出去,大體原理如下圖所示:
1438236716280493.jpg

        虛擬機(guestA,guestB)通過各自的活動的虛擬網卡和宿主機hostA的活動網卡eth0相連,此時guestA,guestB與hostA同處于相同的網絡,guestA,guestB對外通信時經過宿主機的eth0出去,但對于hostA之外的其它設備來講,guestA和guestB如同接在同一個交換機下,并不知道其是否為虛擬機。當guestA訪問guestB時,數據包從宿主機的eth0網卡出去,經過物理交換機Switch又返回到宿主機hostA的eth0網卡,hostA的eth0網卡再把數據包發往guestB。

2.2:僅主機連網方式

        VMware提供的第二種連網方式。虛擬機(guestA,guestB)通過各自的活動的虛擬網卡和VMware虛擬出的虛擬交換機連接,且虛擬交換機和虛擬網卡Vritual net1連接,Vritual net1是VMware專門虛擬出來用于僅主機連網方式的虛擬網卡。大體原理如下圖:

1438237372966536.jpg

        虛擬機(guestA ,guestB)通過各自活動的虛擬網卡(eth0)連接到VMware虛擬出來的虛擬交換機端口上,其中某個虛擬交換機的端口和Virtual net1相連,虛擬機和宿主機可以雙向通信,但虛擬機(guestA,guestB)不能和宿主機以為的其它主機通信。

2.3:NAT連網方式

        VMware提供的第三種連網方式,在僅主機的基礎上(此時虛擬交換機連接的虛擬網卡不是Virual net1,而是Virtual net8),Virtual net8通過NAT地址轉換方式把數據報發往宿主機(hostA)的eth0網卡,經由宿主機(hostA)的eth0網卡轉發虛擬機(guestA,guestB)的報文出去。此時虛擬機可以和網絡內的任一臺主機通信。大體原理如下圖:

1438237842550576.jpg

        在僅虛擬機連網的基礎上,Virtual net8通過NAT方式把報文發給物理機的eth0網卡,借它通往外界,虛擬機此時和外網是相同的。

 

三、小結

        在windows平臺下使用VMware連網時,三種連網方式各有其特點,對外虛擬機對外通信必過宿主機的活動的網卡。

原創文章,作者:成吉思汗,如若轉載,請注明出處:http://www.www58058.com/6701

(1)
成吉思汗成吉思汗
上一篇 2015-08-03 00:04
下一篇 2015-08-04 12:45

相關推薦

  • 8-2 用戶組和權限管理

    用戶組和權限管理     本節主要是:su、passwd、chage、chown、chgrp、chmod、umask等命令及文件的三種普通權限和三種特殊權限     切換用戶或以其他用戶身份執行命令:su su [options…] [-] [user[args…]] 切換用…

    Linux干貨 2016-08-07
  • Bash Shell詳解

    引言:什么是Shell? Linux的命令行接口歸結起來就是各種Shell,那么到底什么是Shell?Shell,譯為外殼,是用戶直接連入計算機所使用的計算機程序,負責解析用戶提供的命令,如詞法分析、語法分析、句法分析。 1.Shell的分類 Linux 的命令 shell 是與操作系統相分離的一層。不同的 shell 環境影響您具備不同的功能,比如可編輯的…

    2017-09-07
  • 進程的基本動作機制

    進程 我們知道硬件到用戶使用分為:硬件,內核(系統),軟件。 硬件也就是我們常見到的計算機等等,就相當于我們的身體,內核就相當于是我們的大腦,軟件就相當于我們的動作。而進程就相當于我們怎么去實現這些動作。 進程是程序的一個具體實現,同一個程序可以執行多次,每次都可以在內存中開辟獨立的空間來裝載,從而產生多個進程。不同的進程還可以擁有各自獨立的IO接口。 進程…

    Linux干貨 2016-06-01
  • Liunx課前準備

    ? ? ? ? 經過與家人的溝通終于來到了北京,開始了期待已久的Linux學習之路。 ? ?今天是講課前第一天,和上學時代一樣,各位同學做了自我介紹,仿佛又置身于10年前的課堂,同學們有序的介紹著自己,今天我們坐到了一起就為了同一個夢想。之前還有很大的顧慮:學不會怎么辦?出來找不到工作怎么辦?……但聽了大家的介紹后發現很多同學與我一樣,所有的顧慮瞬間消失,?!?/p>

    2018-03-26
  • 阿里云2G2C的ECS部署LNMP性能瓶頸到底在多少

    服務器詳細配置 Project message System info LSB Version:      :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch Distributor ID: CentOS Description: &n…

    Linux干貨 2015-04-16
  • 第十周練習-腳本部分

    1、寫一個腳本 (1) 能接受四個參數:start, stop, restart, status start: 輸出“starting 腳本名 finished.” … (2) 其它任意參數,均報錯退出; #!/bin/bash # case $1 in start)     echo&…

    Linux干貨 2016-12-31
欧美性久久久久