在一个现代的数据中心,网络设备要比以前复杂的多。服务器,交换机,路由器,存储系统和防火墙安全设备等都可能是以虚拟机和虚拟网络设备的形式存在。这些设备对传统网络管理系统造成巨大压力,因为它们无法提供可扩展的自动化方法来管理下一代网络。现在,用户希望通过更快的配置实现灵活控制基础设施。OpenStack就能满足用户这种需求。

什么是OpenStack Networking

OpenStack Networking是一个可插拔,可扩展和API驱动的系统,用于在基于OpenStack的云中管理网络和IP地址。 与其他核心OpenStack组件一样,管理员和用户可以使用OpenStack Networking来最大限度地利用现有数据中心资源。

Neutron是OpenStack Networking的代号,它是一个独立的服务,可以独立于其他OpenStack服务,如Nova(计算服务),Glance(映像服务),Keystone(认证服务),Cinder(块存储)和 Horizon(UI界面)。 OpenStack网络服务可以在多个主机之间运行,以提供弹性和冗余,也可以将它们配置在单个节点上运行。

OpenStack Networking向用户提供应用程序可编程接口或API,并将请求传递到配置的网络插件以进行相应处理。 用户能够在云中定义网络连接,并允许云运营商利用不同的网络技术来增强和支持云。与许多其他OpenStack服务一样,Neutron需要访问数据库来存储网络配置。

OpenStack网络的特性

OpenStack网络包括许多技术,例如交换,路由,负载均衡,防火墙和虚拟专用网络。这些功能可以配置利用开源或商业软件,并为云运营商提供所有工具 需要建立一个功能完整的云环境。 OpenStack Networking还为第三方供应商提供了一个框架,用于构建和增强云的功能。

交换机

虚拟交换机可以理解为将虚拟机连接到OSI模型的第2层或数据链路层的虚拟网络软件应用程序。 Neutron支持多个虚拟交换平台,包括由bridge内核模块实现的Linux桥接和Open vSwitch。Open vSwitch(也称为OVS)是一种开源虚拟交换机,支持标准管理接口和协议,包括NetFlow,SPAN,RSPAN,LACP和802.1q ,VLAN标记。然而,这些功能中的许多功能并不向用户公开OpenStack API。除了VLAN标记之外,用户还可以使用L2-in-L3隧道协议(如GRE或VXLAN)在软件中构建overlay网络。 Open vSwitch可用于虚拟机和OpenStack控制之外的设备之间通信,例如硬件交换机,网络防火墙,存储设备,专用服务器等。

路由器

OpenStack网络通过使用IP转发,iptables和网络命名空间技术实现路由和NAT功能。在网络命名空间中,我们可以在命名空间中创建套接字,绑定端口和接口。每个网络命名空间都有自己的路由表,接口和iptables进程用来提供过滤和网络地址转换。通过利用网络命名空间来分隔网络,不必担心由租户创建的网络之间重叠的子网。在Neutron中配置路由器使虚拟机能够与云环境的外部网络或其他网络进行交互和通信。路由器命名空间也被防火墙服务(Firewall as a Service)和虚拟专用网络服务(Virtual Private Network as a Service)利用。

负载均衡

这个技术首先在Grizzly版本的OpenStack中引入,负载平衡服务(也称为LBaaS)为用户提供了跨多个实例或服务器分发客户端请求的能力。 用户可以创建监视器,设置连接限制等。 Kilo版本的OpenStack在实验状态中引入了第2版的LBaaS API。 v2 API比版本1有了很大的改进,在Liberty版本中,它应该是稳定的。 OpenStack Networking配有一个用于LBaaS的插件,在开源参考实现中使用HAProxy。

防火墙

在OpenStack的kilo版本中,有两种为实例提供安全性的方法:安全组和防火墙。 使用安全组时,实例将放置在共享公共功能和规则集的组中。 Iptables规则在计算节点上配置,并过滤流入和流出连接到每个实例的Linux桥接器的流量。 在参考实现中,当使用由防火墙服务(也称为FWaaS)提供的虚拟防火墙时,安全服务工作在网络的边缘处而不是在计算节点处处理。 Liberty版本的OpenStack,FWaaS API仍然处于实验状态,在将来的版本中不能保证向后兼容性。

虚拟专用网络

虚拟专用网络或VPN在诸如因特网的公共网络上扩展专用网络。 VPN使计算机能够跨公共网络发送和接收数据,就像它直接连接到专用网络一样.Neutron提供了一组API,允许用户在使用开放网络时创建从Neutron路由器到远程网关的基于IPSec的VPN隧道。

网络功能虚拟化

网络功能虚拟化或NFV是一种网络架构概念,其建议使用传统的虚拟化技术来替代网络中的独立网络设备。这些功能包括入侵检测,缓存,网关,WAN加速器,防火墙等。 OpenStack中对NFV的支持正在加强,但是需要在当前设计模型中进行重大转变,以支持诸如直接到虚拟化实例,未分配IP的接口和其他网络设备可能需要的功能。在Juno中,支持SR- IOV,也称为single root I/O虚拟化。使用SR-IOV后,不再需要虚拟机来使用半虚拟化驱动程序或连接到主机中的虚拟网桥。相反,虚拟机绑定到利用虚拟功能(virtual function:VF)实现的SR-IOV端口,从而允许虚拟机直接访问NIC硬件。解释如何配置对SR-IOV的支持超出了本书的范围,但更多信息可以访问【OpenStack Wiki】。

网络类型

OpenStack网络的架构可以知道,在网络上看到的至少四种不同类型的流量。

管理网络

管理网络(也称为内部网络)用在主机之间的内部通信,例如消息传送服务和数据库服务之类的服务。 所有主机将通过此网络彼此通信。 在许多情况下,该相同的接口也可以用于主机之间的Glance图像传输或一些其它带宽密集的业务。管理网络可以被配置在隔离的专用网络接口上或者与另一网络组合。

API 网络

API网络用于向云中的用户和云中的服务交互的。 服务的endpoint地址(如Keystone,Neutron,Glance和Horizon)是从API网络获取的。通常的做法是对API端点使用单个接口和IP地址,以及通过SSH对主机本身进行管理访问。

外部网络

外部网络为Neutron路由器提供网络访问。 一旦路由器已配置并连接到外部网络,该外部网络将成为虚拟机和其他网络资源的浮动IP地址的来源。 外网IP地址预能路由到达并且可由内部网络或因特网上的客户端访问。

访客网络

访客网络是专用于虚拟机流量的网络。 访客网络的选项包括局限于特定节点的本地网络,flat或VLAN tag网络,或通过GRE或VXLAN封装实现的虚拟overlay网络。 用于外部网络和访客网络的物理接口可以是专用接口或与其他类型流量共享的接口。


本文翻译自Learning OpenStack Networking (Neutron) Second Edition James Denton

仅供学习交流

openstack网络(一)的更多相关文章

  1. 开发人员必读openstack网络基础

    云计算中的网络非常复杂,需要对网络的基础理论有一定的认识和了解,转载网上针对openstack中涉及到网络概念的文章 开发人员必读openstack网络基础1:什么是L2.L3 开发人员必读opens ...

  2. 深入理解openstack网络架构(4)-----连接到public network

    原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture3 译文转自:http://b ...

  3. 深入理解openstack网络架构(3)-----路由

    原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture2 译文转自:http://b ...

  4. 深入理解openstack网络架构(1)

    原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture 译文转载自:http://b ...

  5. openstack 网络架构 nova-network + neutron

    openstack网络架构(nova-network/neutron) openstack网络体系中,网络技术没有创新,但用到的技术点很庞杂,包含bridge.vlan.gre.vxlan.ovs.o ...

  6. openstack 网络简史

    openstack 网络简史 研究openstack有2个月的时间,这段时间从网上获取N多宝贵资料,对我的学习有非常大帮助,在加上我自己的研究,最终对openstack整个网络体系有了个浅显的认识,写 ...

  7. 清除OpenStack网络与路由

    下面,我们以删除一个路由设备为例,讲解整个过程(以下命令都在控制节点执行) 列出所有路由设备,获得要删除的路由器id # neutron router-list [root@controller ~] ...

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

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

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

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

  10. OpenStack云计算(一)——OpenStack 网络

    关于OpenStack OpenStack它是 Rackspace Cloud 和 NASA 负责的一个开源基础架构即服务的云计算项目. OpenStack 是一个由开发者和云计算技术人员的全球协作开 ...

随机推荐

  1. 基于docker搭建Jenkins+Gitlab+Harbor+Rancher架构实现CI/CD操作(续)---Harbor的安装

    前期安装文档:https://www.cnblogs.com/lq-93/p/11828626.html Harbor的作用:     开发提交代码至gitlab容器中,Jenkins拉取代码构建镜像 ...

  2. nyoj 51-管闲事的小明(遍历,比较)

    51-管闲事的小明 内存限制:64MB 时间限制:4000ms Special Judge: No accepted:9 submit:20 题目描述: 某校大门外长度为L的马路上有一排树,每两棵相邻 ...

  3. nyoj 74-小学生算术(进位问题)

    74-小学生算术 内存限制:64MB 时间限制:3000ms 特判: No 通过数:23 提交数:53 难度:1 题目描述: 很多小学生在学习加法时,发现“进位”特别容易出错.你的任务是计算两个三位数 ...

  4. C#解析XML之流模型-XMLTextReader类

    C#读取XML文档之XMLTextReader 类有一些构造程序来适应各种各样的情况,比如从一个已经存在的数据流或统一资源定位网址读取数据.最常见的是,你或许想从一个文件读取XML数据,那么也就有一个 ...

  5. React动画库

    npm i react-transition --save import {CSSTransition} from 'react-transition-group'

  6. [Part 4] 在Windows 10上源码编译PCL 1.8.1支持VTK和QT,可视化三维点云

    本文首发于个人博客https://kezunlin.me/post/2d809f92/,欢迎阅读! Part-4: Compile pcl with vtk qt5 support from sour ...

  7. PostGIS mysql_fdw操作日志(留观)

    #####Linux终端操作命令记录,留做自己后面研究,绿色部分为成功部分 错误: 服务器"mysql_server" 不存在postgres=# create user mapp ...

  8. 工作常用4种Java线程锁的特点,性能比较、使用场景

    多线程的缘由 在出现了进程之后,操作系统的性能得到了大大的提升.虽然进程的出现解决了操作系统的并发问题,但是人们仍然不满足,人们逐渐对实时性有了要求. 使用多线程的理由之一是和进程相比,它是一种非常花 ...

  9. vue computed计算属性 watch监听

    计算属性 computed:{ 变量:function(){ return 计算好的值 } } 这时候计算好的值 就付给了你的变量 在实例中可以this.使用 注意 声明的变量的data中不可以重复声 ...

  10. 题解 P1226 【【模板】快速幂||取余运算】

    1.题目分析 原题 本题在于快速幂的使用,以及对long long的应用问题. 2.解题思路 快速幂 求幂常见用法: int pow(int a,int b) { int ans; for(int i ...