neutron主要实现了三种组网模式flat,vlan,overlay,其中flat应用较少就不说了,着重介绍其他两种,本文档建立在对neutron网络架构有一定了解的基础上。
vlan模式:
neutron网络一般有两个节点计算和网络,这从计算节点的虚拟机说起。vm的流量经内核交与虚拟网卡处理,虚拟网卡由TAP软件实现,与物理以太网卡具有相同的功能。TAP设备不是直接连在ovs网桥上的,而是通过qbr与ovs的br-int相连,这是因为ovs目前无法实现一些Linux Bridge上的一些状态iptables,只能通过qbr(qbr原名quantum bridge,neutron沿用了而已)
qbr和br-int之间通过一对veth pair连接,(veth pair相当于软件模拟的网线,TAP相当于软件模拟的网卡)ovs的br-int和ovs的br-ethx也是veth pair技术实现,br-int是计算节点本地的虚拟交换机,与br-ethx配合处理内外部流量。br-int处理从int-br-eth过来的包转换为内部包,br-ethx处理从phy-br-eth过来的包转换为外部包,然后计算节点的数据包通过物理网卡发到网络节点的br-ethx,此过程为计算节点的逆过程,到达br-int,网络节点的ovs的br-int上挂载多个高级服务如dhcp,router等,最后通过qg与物理网卡关联将流量送到公网。
overlay主要是gre和vxlan模式,这两种模式网络实现差不多,与vlan有区别的地方在于虚拟层的实现,vlan采用br-eth网桥,而overlay采用br-tun网桥,计算和网络节点之间流量通过隧道的方式流通,overlay的br-tun通过tun设备对数据进行包装,并送到内核,由内核选择路由通过物理网卡送到物理网络中。
此文借鉴https://blog.csdn.net/yueyihua/article/details/51026597,主要是自己复习一遍neutron网络是如何通信的