•Flat模式   

1)指定一个子网,规定虚拟机能使用的ip范围,也就是一个ip池(   分配ip不会超过这个范围,也就是配置里面的fixed_range,比如10.0.0.1/27,那么可用ip就有32个;   这个网络是可以改变的,比如配置好节点nova.conf和interfaces后,nova-manage network delete 10.0.0.1/27 1 32;nova-manage network create192.168.1.0/24 1 255   );   

2)创建实例时,从有效ip地址池接取一个IP,为虚拟机实例分配,然后在虚拟机启动时候注入虚拟机镜像(文件系统);   

3)必须手动配置好网桥(br100),所有的系统实例都是和同一个网桥连接;网桥与连到网桥的实例组成一个虚拟网络,nova-network所在的节点作为默认网关。比如 flat_interface=eth1;eth1的ip为10.0.0.1,其它网络ip在10.0.0.1/27内。flat interface-->br100-->flat network   

4)此后,网络控制器(nova-network节点)对虚拟机实例进行NAT转换,实现与外部的通信。   

注意:目前好像配置注入只能够对Linux类型的操作系统实例正常工作,网络配置保存在/etc/network/interfaces文件。  


 •Flat DHCP模式   与Flat模式一样,从ip池取出ip分配给虚拟机实例,所有的实例都在计算节点中和一个网桥相关。不过,在这个模式里,控制节点做了更多一些的配置,尝试和以太网设备(默认为eth0)建立网桥,通过dhcp自动为实例分配flat网络的固定ip,可以回收释放ip。  

1)网络控制器(运行nova-network服务的节点)运行dusmasq作为DHCP服务器监听这个网桥;   

2)实例做一次dhcp discover操作,发送请求;   

3)网络控制器把从一个指定的子网中获得的IP地址响应给虚拟机实例;   

4)实例通过网络控制器与外部实现互相访问。  


 •VLAN模式   OpenStack的默认网络管理模式,没有设置--network_manager=nova.network.manager.FlatDHCPManager或者FlatManager的时候默认为vlan。为了实现多台机器的安装,VLAN网络模式需要一个支持VLAN标签(IEEE 802.1Q)的交换机(switch)。   在这个模式里,为每个项目创建了VLAN和网桥。所有属于某个项目的实例都会连接到同一个VLAN,必要的时候会创建Linux网桥和VLAN。   每个项目获得一些只能从VLAN内部访问的私有IP地址,即私网网段。每个项目拥有它自己的VLAN,Linux网桥还有子网。被网络管理员所指定的子网都会在需要的时候动态地分配给一个项目。  

 1)网络控制器上的DHCP服务器为所有的VLAN所启动,从被分配到项目的子网中获取IP地址并传输到虚拟机实例。   

2)为了实现用户获得项目的实例,访问私网网段,需要创建一个特殊的VPN实例(代码名为cloudpipe,用了创建整数、key和vpn访问实例)。   

3)计算节点为用户生成了证明书和key,使得用户可以访问VPN,同时计算节点自动启动VPN。   

4)vpn访问。   Flat与vLAN的比较   在两种Flat模式里,网络控制器扮演默认网关的角色,实例都被分配了公共的IP地址(扁平式结构,都在一个桥接网络里)。   vLAN模式功能丰富,很适合提供给企业内部部署使用。但是,需要支持vLAN的switches来连接,而且相对比较复杂,在小范围实验中常采用FlatDHCP模式。