理解openstack中与虚拟机相关一些简单网络知识-3.计算节点的网络拓扑以及网络分配

网络拓扑

了解了TAP设备、veth pair,则我们可以看看一下openstack的计算节点的网络情况。

理解openstack中与虚拟机相关一些简单网络知识-3.计算节点的网络拓扑以及网络分配

   首先,虚拟机通过TAP设备连接linux bridge

   其次,通过vethpair 实现linxu bridge与ovs bridge的互通

   最后,通过将ovsbridge挂载到物理网卡上,实现这个云平台的二层网络互通。

   至于为什么会有双层网桥:这是和security group的概念有关,openstack中的security group开通哪些端口,屏蔽哪些端口是用iptables来实现的,然而br-int这些虚拟bridge都是openvswitch创建的,openvswitch的kernel mode和netfilter的kernel mode不兼容,一个IP包进来要么走iptables的规则进行处理,要么走openvswitch的规则进行处理,通过上面的复杂的图我们可以看到,br-int上面有很多openvswitch的规则,比如vlan tag等,所以iptables必须要另外建立一个linux bridge来做,因而有了qbr,在了解拓扑结构的时候,可以将qbr忽略,看成VM直接连接到br-int上就可以了。

虚拟器启动简析

  虚拟机在创建的时候有一步是netwoking的状态,其实现的就是到neutron中申请一个port。

   基于以上试验,我们可以想象其网络配置方式:

   1,创建一个tap设备

   2,创建qbr网桥

   3,创建veth pair,qvo和qvb

   4,将qvb添加到qbr上

   5,将qvo添加到br-int上

   6,基于这些网络设备启动虚拟机,实现网络的互通

   7,通过dhcp分配虚拟机IP

参考文档:

http://www.cnblogs.com/popsuper1982/p/3800233.html

http://www.cnblogs.com/popsuper1982/p/3931783.html