OpenStack 网络简介(neutron)
概述和组件
OpenStack 网络允许您创建和管理网络对象, 如网络、子网和端口, 其他 OpenStack 服务可以使用。插件可以实现, 以适应不同的网络设备和软件, 为 OpenStack 的体系结构和部署提供灵活性。网络服务, 代号neutron, 提供了一个 API, 使您可以定义网络连接并在云中寻址。
网络服务还提供了一个 API 来配置和管理各种网络服务, 包括从 L3 转发和 NAT 到负载平衡、边界防火墙和虚拟专用网络。
它包括以下组件:
API server:OpenStack 网络 API 包括对2层网络和 IP 地址管理 (IPAM) 的支持以及3层路由器构造的扩展, 该结构允许在2层网络和网关到
外部网络之间进行路由。OpenStack 网络包括一个不断增长的 plug-ins 列表, 它允许与各种商业和开源网络技术
(包括路由器、交换机、虚拟交换机和软件定义的网络 (SDN) 控制器) 进行互操作。
OpenStack 网络插件和代理:插件和unplugs 端口创建网络或子网, 并提供 IP 寻址。所选的插件和代理因特定云中使用的供应商和技术而异。
必须指出的是, 一次只能使用一个插件。
消息队列:接受并路由代理之间的 RPC 请求以完成 API 操作。消息队列在ML2插件中用于运行在每个管理程序上的neutron服务器和
neutron代理之间的RPC,用于openvSwitch和Linux桥的ML2机制驱动程序。
OpenStack 网络概念
要配置丰富的网络拓扑, 您可以创建和配置网络和子网, 并指示其他 OpenStack 服务 (如计算) 将虚拟设备附加到这些网络上的端口。
OpenStack 计算是一个著名的 OpenStack 网络用户, 为其实例提供连通性。特别是, OpenStack 网络支持拥有多个专用网络的每个租户, 并使租户能够选择自己的 ip 寻址方案, 即使这些 ip 地址与其他租户使用的协议重叠。
有两种类型的网络,租户和提供者网络。作为网络创建过程的一部分,可以在租户之间共享这些类型的网络。
租户网络
用户为项目内的连接性创建了租户网络。
默认情况下,它们是完全隔离的,不与其他项目共享。OpenStack网络支持以下类型的网络隔离和覆盖技术。
FLAT
所有实例都驻留在同一个网络上,也可以与主机共享。没有VLAN标记或其他网络隔离发生。
VLAN
网络允许用户使用VLAN id(802.1Q标记)来创建多个提供者或租户网络,该VLAN id对应于物理网络中的VLAN。这允许实例在环境中彼此通信。他们还可以与专用的服务器、防火墙、负载平衡器和其他网络基础设施进行通信。
GRE and VXLAN
VXLAN和GRE是封装协议,它创建覆盖网络来触发和控制计算实例之间的通信。网络路由器被要求允许流量在GRE或VXLAN租户网络之外流动。路由器也被要求连接直接连接的租户网络与外部网络,包括因特网。路由器提供了使用浮动IP地址直接从外部网络连接到实例的能力。
供应商网络
OpenStack管理员创建了提供者网络。这些网络映射到数据中心的现有物理网络。这类的有用网络类型是扁平的(未标记的)和VLAN(802.1Q标记的)。
为了配置丰富的网络拓扑,您可以创建和配置网络和子网,而像Compute这样的其他OpenStack服务请求通过请求虚拟端口来连接到这些网络。特别是,网络支持每个租户拥有多个私有网络,并允许租户选择自己的IP寻址方案,即使这些IP地址与其他租户使用的IP地址重叠。
子网
一组IP地址和相关的配置状态。这也称为本地IPAM(IP地址管理),由网络服务提供给租户和提供者网络。当在网络上创建新端口时,使用子网来分配IP地址。
端口
端口是将单个设备(如虚拟服务器的NIC)连接到虚拟网络的连接点。还描述了相关的网络配置,例如在该端口上使用的MAC和IP地址。
路由器
这是在网络之间转发数据包的逻辑组件。它还提供L3和NAT转发,以便为租户网络上的VMs提供外部网络访问。只需要某些插件。
安全组
安全组充当计算实例的虚拟防火墙,以控制入站和出站流量。安全组在端口级别执行,而不是子网级别。因此,子网中的每个端口都可以分配给另一组不同的安全组。如果在启动时没有指定特定的组,则该实例将自动分配给该网络的默认安全组。
安全组和安全组规则允许管理员和租户指定允许通过一个端口的交通和方向类型(入口/出口)。安全组是安全组规则的容器。当创建一个端口时,它与一个安全组关联。如果没有指定安全组,则该端口与“缺省”安全组关联。默认情况下,这个组会降低所有的入口流量并允许所有的出口。规则可以添加到这个组中,以改变行为
服务和组件层次结构
服务器:提供了API,管理数据库
插件:管理代理
代理:
提供层2 / 3连接到实例
处理物理虚拟网络过渡
处理元数据等
二层(以太网和交换机):Linux Bridge和OVS
三层(ip和路由):L3和dhcp
杂项:metadata
服务
路由服务
VPNaaS:虚拟专用网络作为服务(VPNaaS)是一种介绍VPN特性集的neutron扩展
LbaaSload-balancera -as-a- service(LBaaS)API规定和配置负载平衡器。参考实现基于HAProxy软件负载均衡器。
FwaaS:Firewall-as-a-Service (FWaaS) api 是一个实验性 api, 它使早期的使用者和供应商能够测试其网络实现