openstack 网络发展简史

openstack 网络发展简史

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

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

quantum:后来为了支持更多的插件,更多的网络拓扑,与nova交互更灵活,出现了quantum工程,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-10-11 07:10:01

openstack 网络发展简史的相关文章

openstack 网络简史

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

OpenStack云计算(一)——OpenStack 网络

OpenStack它是 Rackspace Cloud 和 NASA 负责的一个开源基础架构即服务的云计算项目. OpenStack 是一个由开发者和云计算技术人员的全球协作开发的面向公共和私有云的标准云操作系统,是在 Apache 许可条款下发布的免费开源软件.云服务提供者.企业和政府组织均可使用这个免费的 Apache 许可的软件来构建可大规模伸缩的云环境. OpenStack 包含六个核心软件项目: Cloud Compute-Nova Cloud Storage-Swift Image

第二天-计算机硬件基本知识和linux发展简史

今天老师讲了两个部分的内容,第一个是计算机硬件的基本知识,第二个是讲了一下unix.linux简史. 第一部分:计算机硬件核心知识 1.PC服务器,当前互联网公司应用最多的服务器品牌有DELL.HP.IBM. 其中DELL品牌:2010年以前 1u  1850  1950.2u   2850  2950 2010-2014年 1u R410/R420     R610/R620 2.电源,相当于人体的心脏,在生产环境中一般核心业务都用双电接入,如果应用了集群可以用单  电接入. 3.CPU,相当

AI技术说:人工智能相关概念与发展简史

作者:个推大数据科学家朱金星 作为近几年的一大热词,人工智能一直是科技圈不可忽视的一大风口.随着智能硬件的迭代,智能家居产品逐步走进千家万户,语音识别.图像识别等AI相关技术也经历了阶梯式发展.如何看待人工智能的本质?人工智能的飞速发展又经历了哪些历程?本文就从技术角度为大家介绍人工智能领域经常提到的几大概念与AI发展简史. 一.人工智能相关概念1.人工智能(Artifical Intelligence, AI):就是让机器像人一样的智能.会思考,是机器学习.深度学习在实践中的应用.人工智能更适

计算工具的发展简史

现在我们所说的计算机,其全称是通用电子数字计算机,"通用"是指计算机可服务于多种用途,"电子"是指计算机是一种电子设备,"数字"是指在计算机内部一切信息均用0和1的编码来表示.计算机的出现是20世纪最卓越的成就之一,计算机的广泛应用极大地促进了生产力的发展. 自古以来,人类就在不断地发明和改进计算工具,从古老的"结绳记事",到算盘.计算尺.差分机,直到1946年第一台电子计算机诞生,计算工具经历了从简单到复杂.从低级到高级.从

Java 发展简史:初生遇低谷,崛起于互联网

Java 发展简史:初生遇低谷,崛起于互联网 Java 起源与诞生 20世纪90年代,单片式计算机系统诞生,单片式计算机系统不仅廉价,而且功能强大,使用它可以大幅度提升消费性电子产品的智能化程度. SUN公司为了抢占市场先机,在1991年成立了一个由詹姆斯·高斯林(James Gosling)领导,名为“Green”项目小组,目的是开发一种能够在各种消费性电子产品上运行的程序架构. 那么使用何种编程语言来设计,是项目小组头疼的事.当时C++较为有优势的,项目小组首先考虑的是采用它来编写程序,但C

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