深入理解OpenStack Neutron
上QQ阅读APP看书,第一时间看更新

第1章 Neutron概述

2010年7月,OpenStack开源社区(遵循Apache License 2.0)成立,NASA(美国航天局)和Rackspace分别贡献出各自已有的虚拟化管理项目Nova和对象存储项目Swift作为OpenStack初始项目。2010年10月,OpenStack第一个正式版本Austin发布。

2012年Rackspace为了社区的健康发展,捐出所有OpenStack相关的版权成立OpenStack基金会。基金会的设立使得OpenStack社区参与者更加多样化,操作系统、服务器、网络、运营商等纷纷加入。由此开始,OpenStack社区开启了快速发展的繁荣局面。

Neutron作为OpenStack的核心项目之一,在OpenStack的发展中,自然也功不可没。

1.1 Neutron的由来

OpenStack发展至今,已经有46个正式项目,Neutron属于其中一个核心项目,如图1-1所示:

图1-1 OpenStack的项目(截至2017.07)

图1-1(续)

Neutron在OpenStack的主要服务中所处的上下文,如图1-2所示:

图1-2 Neutron在OpenStack主要服务中所处的上下文

当前,Neutron已经成为OpenStack三大核心(存储、计算、网络)之一,对外提供NaaS(Network as a Service)服务。但是当初Neutron只是Nova项目中的一个模块而已,到Folsom版本才正式从中剥离出来,成为一个正式并且核心的项目,如表1-1所示参考维基百科OpenStack条目。

表1-1 Neutron的由来

由此,Neutron的发展简史可以概括为三个阶段:Nova-Network、Quantum、Neutron。

Nova-Network阶段,其支持的主要功能有:

1)IP地址分配:包含为虚拟主机分配私有(固定)和浮动IP地址;

2)网络管理:仅支持三种网络,扁平网络、带DHCP功能的扁平网络、VLAN网络;

3)安全控制:主要通过ebtables和iptables来实现。

可以看到,Nova-Network所支持的功能还比较简单。到了Quantum阶段,其支持的主要功能有:

1)支持多租户隔离,并提供面向租户的API;

2)插件式结构支持多种网络后端技术,包括Open vSwitch、Cisco、Linux Bridge、Nicira NVP、Ryu、NEC等;

3)支持位于不同的2层网络的IP地址重叠;

4)支持基本的3层转发和多路由器;

5)支持隧道技术(Tunneling);

6)支持三层代理和DHCP代理的多节点部署,增强了扩展性和可靠性;

7)提供负载均衡API(试用版本)。

Quantum阶段所支持的功能已经初具规模。有了Quantum打下的良好基础,进入第三阶段以后,Neutron所支持的功能和应用场景,得到了更大的发展。