码迷,mamicode.com
首页 > Web开发 > 详细

openstack网络架构 nova-network + neutron

时间:2014-11-16 17:20:57      阅读:488      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   sp   strong   数据   on   

openstack网络架构(nova-network/neutron)

openstack网络体系中,网络技术没有创新,但用到的技术点非常庞杂,包括bridge、vlan、gre、vxlan、ovs、openflow、sdn、iptables等,当然这里不会做具体技术介绍,概述技术,主要将其与openstack的结合点做详细分析。


nova-network网络架构

在nova-network中,其网络模型包括flat、dhcp flat、vlan,用到的技术主要有bridge、vlan,

dhcp flat多网络节点架构图如下所示:

bubuko.com,布布扣

优点:结构简单,稳定

缺点:所有租户都在一个水平面上,租户之间没有隔离,由于所有租户都在一个子网内,当大规模部署后,其广播风暴将会是不小的负面因素,至于这种模型其vm的上限,笔者还没有条件测试。

vlan架构如下所示

bubuko.com,布布扣

  • 为租户创建独占的bridge
  • 创建vlan接口vlan100,依据802.1q协议打vlanid
  • Dnsmasq监听网桥网关,负责fixedip的分配
  • switch port设定为chunk mode
  • eth0负责vm之间的数据通信,eth1负责外网访问

vlan模型:

优点:租户有隔离

缺点:需要物理交换机chunk口的支持,实际部署时比较复杂,vlan id个数为4094个,也就是最多4094个子网租户,不适用于公有云。


结论:相比于neutron网络,虽说没有neutron那么多的功能插件,仅有bridge,但是其稳定性已得到大多数用户的验证,对于小规模的私有云(1千台虚机的规模),nova-network是可以考虑的,目前线上部署的环境也是nova-network。


参考资料:

https://www.mirantis.com/blog/openstack-networking-flatmanager-and-flatdhcpmanager/

https://www.mirantis.com/blog/vlanmanager-network-flow-analysis/

https://www.mirantis.com/blog/openstack-networking-vlanmanager/

http://blog.csdn.net/hilyoo/article/details/7721401

http://blog.csdn.net/beginning1126/article/details/39371757


neutron网络架构

neutron网络体系相比于nova-network要复杂的多,用到的技术点也非常庞杂,在介绍网络架构之前,有必要概述下gre、vxlan、ovs、openflow、sdn技术点。

上面阐述过,vlan技术存在vlan id个数限制4094,公有云租户肯定不止4094,二层技术,只能部署在一个局域网内,无法实现跨机房部署。为了突破这俩个限制,增加了gre和vxlan隧道技术。

GRE:

跨机房部署:3层隧道技术,在原来小网ip头前面加入大网ip头和gre头,大网ip头里面的ip是公网ip;

segment id:而gre头里面最重要的字段应该是4字节key值(segment id),充当了vlan技术里面的vlan id,隔离租户的作用,由于是4个字节,已经不受4094 vlan id限制。下图是gre典型应用vpn。

bubuko.com,布布扣

当然gre也有其缺点,

  1. gre是点对点技术,每两个点之间都需要有一个隧道对于4层的端口资源是一种浪费;
  2. 增加ip头,势必减少vm的mtu值,同样大小的数据,需要更多的ip包来传,传输效率有影响。

VXLAN:

针对vlan和gre的第一个缺点,业界提出了vxlan技术,下图分别是vxlan头结构和通信流程。

bubuko.com,布布扣

bubuko.com,布布扣

  1. 24bit的VNID:vxlan技术在原有mac帧基础上增加了新的mac头、ip头、vxlan header,在vxlan header中,VNID相当于vlan id,24bit,16M的大小,远大于4094.
  2. 大二层网络,实现跨机房部署:在通信两端增加了VTEP设备,可以硬件设备,也可以软件实现,当然在neutron网络中,其是由软件实现的。该设备记录vlan id、vm mac、vtep ip的对应关系,这个关系是由vm发起arp请求获取到的。在vxlan网络中有个组播地址,所有vtep设备都需要加入该组播地址,vtep将arp的广播请求增加组播ip头转变为组播请求,一旦一个vm发起arp请求,所有vtep都能收到,vtep在将组播ip头去掉,将原始广播包发给vm,这样不同vm之间将建立起arp表。vxlan网络为所有vm建立一个大2层网络。
  3. 能让遗留子网不改变 IP 地址的情况下无缝的迁移到云上来;也可以让虚机跨数据中心进行迁移(以前顶多只能在同一个 VLAN 里迁移)
  4. 关于跨机房vxlan互通:前述通过组播消息实现arp的传输,但是在广域网上,组播包传输是受限制的,目前业界通常的解决方案是通过SDN controller,SDN controller兼做arp代理,并获取vm内层mac和外层VTEP ip对应关系,不同controller之间交换这些信息。

结论:

  1. gre解决了vlan id个数限制和跨机房互通问题;
  2. vxlan解决了vlan id个数限制和跨机房互通问题,同时解决了gre点对点隧道个数过多问题,同时实现了大2层网络,可用于vm在机房之间的的无缝迁移。

参考资料:

http://blog.csdn.net/freezgw1985/article/details/16354897

http://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/white-paper-c11-729383.html




openstack网络架构 nova-network + neutron

标签:style   blog   http   color   ar   sp   strong   数据   on   

原文地址:http://blog.csdn.net/beginning1126/article/details/41172365

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!