桥接方式下虚拟机在局域网的通信问题
问题: 假设有两台物理机A和B,IP地址分别为192.168.1.11和192.168.1.12,在物理机A上安装一台虚拟机C,C的IP地址为192.168.1.13,网络连接方式为桥接,它们三个在一个局域网。那么物理机B向虚拟机C发送消息时,是应该发送给物理机A,然后
问题:
假设有两台物理机A和B,IP地址分别为192.168.1.11和192.168.1.12,在物理机A上安装一台虚拟机C,C的IP地址为192.168.1.13,网络连接方式为桥接,它们三个在一个局域网。那么物理机B向虚拟机C发送消息时,是应该发送给物理机A,然后由A发送给C吗?它们三个都位于同一个网段,B是如何知道C是安装在A上的虚拟机呢?
我个人的解释如下,不当之处,请多指正:
1、局域网内通信,采用的是广播机制,B向C发送的消息,A当然会看到。
2、B并不知道C是安装在A上的虚拟机。
3、A和C通过软件模拟的网桥连接,A上的虚拟网桥接收到消息后,将它转发给虚拟机C。所以,简单地可以理解成发送给物理机A,然后由A发送给C,但A只是转发,并没有接收。
【note】我把Dom 0说成了物理机A,不知道是否合适。
如下图:
关于Dom 0:
Dom 0是一个修改过的Linux kernel,是唯一运行在Xen Hypervisor之上的虚拟机,它拥有访问物理I/O资源的权限,同时和系统上运行的其它虚拟机进行交互。Dom 0需要在其它Domain启动之前启动。
Dom 0中包含两个驱动:Netword Backend Driver 和Block Backend Driver,分别负责处理来自Dom U的网络和本地磁盘请求。Netword Backend Driver 直接和本地网络硬件进行通信以处理所有来自Dom U上客户操作系统的网络请求。Block Backend Driver和本地存储设备进行通信处理来自Dom U的读写请求。
关于虚拟网桥:
执行brctl show命令,
[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
xenbr0 8000.feffffffffff no peth0
vif0.0
可以看到:网桥xenbr0有两个接口,分别连接物理网卡和虚拟网卡。
xen网桥更多请参考:
http://hi.baidu.com/chenghui2050/blog/item/80cb323df7dcd9e73d6d97e3.html
或http://blog.csdn.net/zhuliting/archive/2010/02/26/5328326.aspx
xen网络设备请参考 :http://blog.csdn.net/zhuliting/archive/2009/12/27/5087541.aspx
bridged、host-only和NAT的虚拟机用法 :http://cloud.csdn.net/a/20090812/4071.html
更多推荐
所有评论(0)