如下图所示,VirtualBox支持的网络模式有多种,桥接网卡不同与其它的几种。首先体现在名字上,其它模式都带有“网络”字眼,说明当前的网卡需要接入一个由用户创建的网络,而桥接网卡则只是网卡,这种模式不需要创建网络。从效果上看,这种网卡与宿主机的物理网卡接入同一个网络,它共享宿主机的网络。
首先看一下宿主机的网络联接示意图,如下。
上图中,两台宿主机的物理网卡都工作在非混杂模式下,处理链路层桢的步骤为,对于到达的桢,先查看MAC地址是否与物理网卡的地址一致,如果一致就收下,由上层网络栈继续处理,如果不一致就丢弃。
交换机通过自学习,转发表中有两个条目,一个MAC地址对应一个port。
接下来在宿主机1中通过VirtualBox创建一台虚拟机ubuntu-01,并且其网卡使用“桥接网卡”模式,下图展示了新的网络链接示意图。
图中细色部分为发生变化的部分。首先宿主机1中的物理网卡现在工作在混杂模式下,它处理链路层桢的方式发生了改变。它对于任何到达的桢都先接收下,然后再检查MAC地址,如果与物理网卡匹配,那么就是宿主机的流量。否则,检察是否有与物理网卡相联的虚拟网卡的MAC地址与之匹配,如果有则把桢转发给虚拟网卡,如果没有则丢弃。
转发表中的内容多了一条,现在是080000000001与080000000003两个MAC地址的桢都从port1转发,因为与port1相联的物理网卡工作在混杂模式,所以桢能被接收。
总结
优点:桥接网卡模式非常简单,不需要新创建网络,虚拟机通过这种方式共享宿主机网络,具备与宿主机一样的网络联通性,宿主机能通的,虚拟机都能通。
缺点:网络并非创建,是共享而非独享,对网络无法控制。