openstack 网络简史

openstack 网络简史

研究openstack有2个月的时间,这段时间从网上获取N多宝贵资料,对我的学习有非常大帮助,在加上我自己的研究,最终对openstack整个网络体系有了个浅显的认识,写几篇文章,一个是对以往资料的总结。二来也希望的我的总结能为很多其它学习openstack的朋友们提供帮助。废话到这,进入正题。

nova-network:openstack最開始网络组件叫nova-network,其代码也都在nova中。支持的插件仅仅有Linux bridge。网络拓扑包含flat和vlan。

quantum:后来为了支持很多其它的插件,很多其它的网络拓扑。与nova交互更灵活,出现了quantumproject。quantum相比与nova-network,主要多出例如以下功能:

  1. 支持很多其他的插件:Linux bridge、ovs、其他商业公司的插件(bigswitch、brocade plugin、cisco、hyper-v、midonet、NEC openflow、plumgrid、ryu、VMware nsx)。非官方统计。linux bridge 31%、ovs 39%、cisco 11%、other 19%,能够看出网络插件大家更倾向于Linux bridge和ovs,至于bridge和ovs的优缺点,后面会专门讨论;
  2. 支持隧道技术gre、vxlan。
  3. 多出l3-agent和dhcp-agent。l3-agent用于路由和nat(iptables)、dhcp-agent用于fixed ip的dhcp分配(基于dnsmasq实现)。

neutron:quantum因为与一家公司重名,在Havana版本号中更名为neutron。

neutron相比于quantum。多出来的最基本的功能是公共插件ml2。ml2主要功能例如以下:

  1. 实现一种类型的插件一般包含两个部分。一 部分与数据库db打交道的*-plugin。一部分是调用详细的网络设备真正干活的*-agent,因为众多插件。其与db打交道的代码都是反复的,抽出反复代码则形成了ml2-plugin
  2. MechanismDriver,实现多个插件共存,比方Linux bridge和ovs共存,MechanismDriver的作用是将agent的类型agent_type和vif_type关联,这样vif_type就能够直接通过扩展api灵活设置了。所以想用 linux bridge,就在vif_type里,将port绑定成linux bridge,想用ovs,将port绑定成ovs。

  3. 在配置文件ml2_conf.ini能够将不同网络拓扑(flat/vlan/gre/vxlan)共存。

以上就是眼下openstack 网络发展简史。在这个过程中,我们不得不思考一个问题。在实际网络部署时,nova-network和neutron的选择、插件bridge和ovs的选择、网络拓扑flat、vlan、gre、vxlan的选择,这些类别的优缺点在兴许blog中会进一步展开讨论。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-08-10 07:18:59

openstack 网络简史的相关文章

openstack 网络发展简史

openstack 网络发展简史 研究openstack有2个月的时间,这段时间从网上获取N多宝贵资料,对我的学习有很大帮助,在加上我自己的研究,终于对openstack整个网络体系有了个浅显的认识,写几篇文章,一个是对以往资料的总结,二来也希望的我的总结能为更多学习openstack的朋友们提供帮助.废话到这,进入正题. nova-network:openstack最开始网络组件叫nova-network,其代码也都在nova中,支持的插件只有Linux bridge,网络拓扑包括flat和v

OpenStack —— 网络服务Neutron(五)

一.Neutron介绍 OpenStack网络服务已由Quantum改名为Neutron.Neutron是OpenStack核心项目之一,提供云计算环境下的虚拟网络功能服务. Neutron的设计目标是实现"网络即服务(Networking as a Service)".为了达到这一目标,在设计上遵循了基于SDN(Software-Defined Networking)实现网络虚拟化的原则,在实现上充分利用了Linux系统上的各种网络相关的技术. Neutron网络允许用户创建和管理网

深入理解openstack网络架构(3)-----路由

原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture2 前文中,我们学习了openstack网络使用的几个基本网络组件,并通过一些简单的use case解释网络如何连通的.本文中,我们会通过一个稍微复杂(其实仍然相当基本)的use case(两个网络间路由)探索网络的设置. 路由使用的组件与连通内部网络相同,使用namespace创建一个隔离的container,允许subnet

深入理解openstack网络架构(4)-----连接到public network

原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture3 在上一篇文章中,我们介绍了openstack中的路由,了解到openstack如何通过namespace实现的router将两个network连通.本文中,我们进一步分析路由功能,说明实现内部internal network和public network的路由(而不仅仅是internal network之间).我们还会分析n

Openstack 网络服务Neutron [五]

Openstack 网络服务Neutron [五] openstack 时间:2016年11月28日 Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个neutron Openstack Networking 网络: 在实际的物理环境下,我们使用交换机或者集线器把多个计算机连接起来形成了网络.在Neutron的世界里,网络也是将多个不同的云主机连接起

深入理解openstack网络架构(1)

原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture 前言 openstack网络功能强大同时也相对更复杂.本系列文章通过Oracle OpenStack TechPreview介绍openstack的配置,通过各种场景和例子说明openstack各种不同的网络组件.本文的目的在于提供openstack网络架构的全景图并展示各个模块是如何一起协作的.这对openstack的初学者

OpenStack 网络:Neutron 初探

OpenStack Neutron 网络模型 OpenStack nova-network 独立成为单独的组件 Neutron 后,形象的网络模型的多平面网络.混合平面私有网络.如图 3,图 4,图 5,图 6. 图 3. 多平面网络 图 4. 混合平面私有网络 图 5. 通过私有网络实现运营商路由功能 图 6. 通过私有网络实现每个租户创建自己专属的网络区段 回页首 Neutron 网络创建过程 Neutron 网络目的是为 OpenStack 云更灵活地划分物理网络,在多租户环境下提供给每个

玩转OpenStack网络(1)热身

OpenStack 网络介绍 通过 Horizon 创建子网 通过 Horizon 创建网络 通过 Horizon 查看网络信息 通过 Horizon 创建关联某个网络的实例 通过 命令行 创建子网 通过 命令行 创建网络 通过 命令行 创建Port 通过 命令行 关联Port到实例 扩展网络地址范围 设置网络配额

OpenStack网络新项目Dragonflow研究

https://www.ustack.com/blog/openstack-dragonflow/ 本文由2015年5月30日举行的OpenStack Meetup北京上的演讲整理而成,演讲者为UnitedStack网络工程师王为. 在温哥华OpenStack Summit上,Neutron最新的子项目Dragonflow并未被特别提及.事实上,在网络领域,这个由华为以色列技术团队提出的项目在开发者中还是很受关注的.Dragonflow项目提出的时间是在2014年,2015年开始提交代码,目前已