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. Nginx 究竟如何处理事件?

    在了解了网络事件以及事件分发收集器以后,让我们来了解 Nginx 是怎么样处理事件的? Nginx 事件循环 当 Nginx 刚刚启动时,在等待事件部分,也就是打开了 80 或 443 端口,这个时候 ...

  2. 大数据-HDFS 集群搭建的配置文件

    1.HDFS简单版集群搭建相关配置文件 1.core-site.xml文件 <property> <name>fs.defaultFS</name> <val ...

  3. Java中日期格式化YYYY-DD的坑

    写这篇博文是记录下跨年的bug.去年隔壁组的小伙伴就是计算两个日期之间间隔的天数,因为跨年的原因计算有误. 当时测试组的小姐姐也没有模拟出来这种场景,导致上生产环境直接影响线上的数据. 今天逛技术论论 ...

  4. C语言联合体(union)的使用方法及其本质-union

    转载自:https://blog.csdn.net/si_zhou_qun_84342712/article/details/53187106 1.联合体union的基本特性——和struct的同与不 ...

  5. 小米6X谷歌套件

    话不多说真机测试完美适配,安卓万物基于谷歌链接如下(个别MIUI版本不同谷歌商店会报错,如遇到请留言我会第一时间回复解决) 链接:https://pan.baidu.com/s/1b2Cs0u9J2b ...

  6. iFit—Smart Cardio Equipment 简介与下载

    iFit—Smart Cardio Equipment 无法在谷歌商店中下载,经过技术提取app只可以直接通过下载app安装简单方便 实测机型:华为荣耀畅玩2平板, 小米6X,360N5S均测试无BU ...

  7. Redis 千万不要乱用KEYS命令,不然会挨打的

    Redis现如今使用的场景越来越多?如何批量删除key呢? 有人说用KEYS命令,刚开始学Redis的时候就是用这个命令列出库中键. KEYS命令要谨慎使用. 为何?客观别急,我们先一步步来看. KE ...

  8. docker制作cenos+php56+nginx镜像

    首先你环境要安装好docker 1 获取centos镜像. docker search centos 选取第一个官方镜像. docker pull  docker.io/centos 新建镜像挂载目录 ...

  9. python字典的遍历

    遍历字典: keys()  .values() .items() 1. xxx.keys()    :    返回字典的所有的key     返回一个序列,序列中保存有字典的所有的键 效果图: 代码: ...

  10. 《深入浅出话数据结构》系列之什么是B树、B+树?为什么二叉查找树不行?

    本文将为大家介绍B树和B+树,首先介绍了B树的应用场景,为什么需要B树:然后介绍了B树的查询和插入过程:最后谈了B+树针对B树的改进. 在谈B树之前,先说一下B树所针对的应用场景.那么B树是用来做什么 ...