虚拟机在创建之后处于隔离状态,需要利用网络连接机制将虚拟机的数据传输到外部网络(运行这些虚拟机的物理服务器之外),或者让运行在同一服务器上的不同虚拟机之间可以实现数据通信。
物理机的NIC(Network Interface Card,网络接口卡)可以实现该需求。与其他资源(如在虚拟机之间共享的CPU和内存资源)类似,虚拟机也要共享物理NIC 以实现更高更优化的利用率。
很多技术都能实现该共享机制,其中的一种常见技术就是由Hypervisor创建vNIC(virtual NIC,虚拟NIC)实例,并以NIC方式呈现给客户操作系统。不过,该实现方式中的Hypervisor(在Type 1情况下)或宿主操作系统(在Type 2情况下)需要将多个vNIC映射给一个或多个物理NIC,这一点与硬件交换设备在常规网络中执行的功能角色一致。对于虚拟化环境来说,则由 vSwitch(Virtual-Switch,虚拟机交换机)来实现vNIC到物理NIC的连接。
对于基于Linux的Hypervisor来说,如果虚拟机的宿主是单台主机,而且虚拟机之间不需要实现冗余,那么Linux网桥应用就能满足这些需求。可以为这类网桥定义vNIC以及连接在vBridge(虚拟网桥&