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, 它使早期的使用者和供应商能够测试其网络实现

2.OpenStack 网络简介(neutron)的更多相关文章

  1. OpenStack 网络服务 Neutron 私有网络构建(十九)

    本章内容基于之前提供者网络构建的基础上进行改动,之前文章参考如下: Openstack 网络服务 Neutron介绍和控制节点部署 (九) Openstack 网络服务 Neutron计算节点部署(十 ...

  2. OpenStack 网络服务 Neutron 多网卡(提供者网络)(十八)

    OpenStack 网络服务 Neutron 多网卡,分为内部网络.外部网络 使用vmware模拟两张网卡 添加网卡 网卡配置 cd /etc/sysconfig/network-scripts cp ...

  3. openstack网络(neutron)模式之GRE的基本原理

    neutron网络目的是为OpenStack云更灵活的划分网络,在多租户的环境下提供给每个租户独立的网络环境. neutron混合实施了第二层的VLAN和第三层的路由服务,它可为支持的网络提供防火墙, ...

  4. Openstack 网络服务 Neutron介绍和控制节点部署 (九)

    Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...

  5. OpenStack 网络:Neutron 初探

    OpenStack Neutron 网络模型 OpenStack nova-network 独立成为单独的组件 Neutron 后,形象的网络模型的多平面网络.混合平面私有网络.如图 3,图 4,图 ...

  6. 云计算管理平台之OpenStack网络服务neutron

    一.简介 neutron的主要作用是在openstack中为启动虚拟机实例提供网络服务,对于neutron来讲,它可以提供两种类型的网络:第一种是provider network,这种网络就是我们常说 ...

  7. openstack网络服务Neutron(六)

    一.Neutron控制节点安装 1.Neutron安装 [root@linux-node1 ~]# yum install -y openstack-neutron openstack-neutron ...

  8. Openstack 网络服务 Neutron介绍和控制节点部署 (十)

    Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...

  9. Openstack 网络服务 Neutron计算节点部署(十)

    Neutron计算节点部署 安装组件,安装的服务器是192.168.137.12 1.安装软件包 yum install -y openstack-neutron-linuxbridge ebtabl ...

随机推荐

  1. [02]java数据类型和运算符等知识

    00 Java中的注释 为了方便程序的阅读,Java语言允许程序员在程序中写上一些说明性的文字,用来提高程序的可读性,这些文字性的说明就称为注释.注释不会出现在字节码文件中,即Java编译器编译时会跳 ...

  2. JVM探秘:内存分配与回收策略

    本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. 内存分配一般关注的是对象在堆上分配的情况,对象主要分配在新生代的Eden区中,如果启用 ...

  3. 大数据框架开发基础之Sqoop(1) 入门

    Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle , ...

  4. AQS原理及应用

    To use this class as the basis of a synchronizer, redefine the * following methods, as applicable, b ...

  5. 【转】python get-pip.py could not find a version that satisfies

    转:https://blog.csdn.net/yanlisuo/article/details/81357305 转:https://blog.csdn.net/dyrlovewc/article/ ...

  6. 【Think In Java笔记】第1章 对象导论

    1. 对象导论 OOP 面向对象编程 C.Basic等语言所在的抽象仍要求在解决问题时基于计算机的解决,而不是基于所解决问题的结构来考虑. 要建立起问题空间的元素和解空间的对象之间一一映射的关系 万物 ...

  7. TensorFlow——学习率衰减的使用方法

    在TensorFlow的优化器中, 都要设置学习率.学习率是在精度和速度之间找到一个平衡: 学习率太大,训练的速度会有提升,但是结果的精度不够,而且还可能导致不能收敛出现震荡的情况. 学习率太小,精度 ...

  8. P3369 【模板】普通平衡树 01Trie树

    P3369 [模板]普通平衡树 题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入xx数 删除xx数(若有多个相同的数,因只删除一个) 查询xx数的排名(排名 ...

  9. 一文熟练使用python mock

    mock作为python测试模拟对象工具,在单元测试当中使用较多,官方文档详细不够精简,这篇文章介绍mock常用的用法,以下为引用全文,留给自己和有需要的人查阅. https://realpython ...

  10. 个人任务Day3

    昨日成果: 学习有关java的网络爬虫知识. 今日任务: 向数据库中完善数据,并写出选择查看团队博客的界面.