Neutron是Openstack的核心组件,其官网对其给出的定位是:NaaS(网络即服务)。
NaaS有两层含义:
1 对外接口:Neutron为Network、Subnet、Port、Router等网络资源建立了逻辑模型,并提供了这些模型的RESTful API、CLI(命令行)、GUI(图形化用户接口)。
2 内部实现:利用Linux原生的以及其他厂商(或者开源)的虚拟网络功能,再加入一些硬件网络功能,构建出真正的网络。
Neutron对外提供CLI及GUI接口,其用户主要是“人”;对外提供的RESTful API,其用户主要是Openstack之内的其他组件(如Nova等)以及Openstack之外的其他系统(如MANO等)。
Neutron管理的网元,主要以“软”网元为主(也称虚拟网络功能)。这些“软”网元,有三种来源:
1 Linux原生的网络功能,比如Linux Router、Linux Bridge等。
2 开源的网络功能,比如OVS等;
3 厂商提供的闭源产品。
Neutron在有些情况下也会涉及一些“硬网元”。
Neutron的抽象架构,如下图: