Openstack网络相关概念比较复杂,经常使人混淆,本文进行相关说明。

文中相关术语与缩写

英文

缩写

中文

Virtual Local Area Network

VLAN

虚拟局域网

Virtual Extensible LAN

vxlan

虚拟可扩展局域网

Generic Routing Encapsulation

GRE

通用路由封装

Software Defined Network

SDN

软件定义网络

Neutron是用来创建虚拟网络的Openstack网络服务。Neutron network可以根据网络类型或创建用户的权限进行分类。

一、根据网络的类型,Neutron network可分为:

1)VLAN network:基于物理 VLAN 网络实现的虚拟网络。多个 VLAN 网络相互隔离,甚至可以使用重叠的 IP 地址空间。每个支持 VLAN network 的物理网络可以被视为一个分离的 VLAN trunk,使用一组独占的 VLAN ID(VLAN ID 有效范围 1 到 4094)。

2)Flat network:基于不使用 VLAN 的物理网络实现的虚拟网络。每个物理网络最多只能实现一个Flat虚拟网络。

3)Local network:本地网络,只允许在本服务器内通信的虚拟网络,不支持跨服务器的通信。主要用于单节点上测试。

4)GRE network:使用 GRE 封装网络包的虚拟网络。GRE 封装的数据包基于 IP 路由表来进行路由,因此 GRE network 不和具体的物理网络绑定。

5)VXLAN network:基于 VXLAN 实现的虚拟网络。同 GRE network 一样, VXLAN network 中 IP 包的路由基于 IP 路由表,不和具体物理网络绑定。

二、根据创建网络的用户权限,Neutron network可分为:

1)Provider network:由管理员创建,与网络规划相关,直接映射物理网络。

Provider network有 Flat 和 VLAN 类型,其重要属性 provider:physical_network对 Flat 和 VLAN 以外的网络类型无意义。

2)Tenant network:由租户普通用户创建,受限于系统中管理员的Neutorn配置。

Openstack结合模型场景,对部分API操作进行了权限控制。默认情况下,普通用户不能创建共享的 tenant network(因此 Nuetron Server 的policy 设置了"create_network:shared": "rule:admin_only")。这种网络是完全隔离的,不可被别的 tenant 共享。

Tenant network 有 local,flat,vlan,gre 和 vxlan 等类型。但 tenant 普通用户创建的 Flat 和 VLAN tenant network 实际还是 Provider network。所以,真正有意义的是与物理网络没有绑定关系的 GRE 和 VXLAN 类型。

一般而言,SDN采用VXLAN,政务云基本采用VLAN。由于政务云涉及物理规划,且都是规划好的VLAN和IP的关系,政务云通常由管理员做好相关网络,由租户使用。

三、总结

1、Provider network 由管理员用户创建,而 Tenant network 由租户普通用户创建。

2、Provider network 和物理网络的某段直接映射,比如对应某个 VLAN,因此需要预先在物理网络中做相应配置。

而 Tenant network 是虚拟化的网络,Neutron负责其路由等三层功能。

3、对 Flat 和 VLAN 类型的网络,仅 Provider network有意义。即使是此类型的 tenant network,其本质上也是对应于一个实际的物理段。

对 GRE 和 VXLAN 类型的网络,仅Tenant network有意义。因为它本身不依赖于具体物理网络,只需要物理网络提供 IP 和 组播即可。

4、Provider network 根据管理员用户输入的物理网络参数创建,创建时允许使用不在配置项范围内的 segmentation_id。

而 Tenant work 由 租户普通用户创建,Neutron 根据其网络配置来选择具体配置(包括网络类型,物理网络和 segmentation_id)。

Openstack网络相关概念比较复杂,经常使人混淆,本文进行相关说明。的更多相关文章

  1. 绝不能错过的10款最新OpenStack网络运维 & 监控工具

    摘要 今天我们要推荐给大家的是关于奥斯汀OpenStack Summit的OpenStack网络方面功能与工具相关的技术演讲. 希望可以帮助国内的开发者.架构师和用户更好地了解OpenStack在SD ...

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

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

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

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

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

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

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

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

  6. OpenStack 网络:Neutron 初探

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

  7. openstack网络架构(nova-network/neutron)

    openstack网络体系中,网络技术没有创新,但用到的技术点非常庞杂,包括bridge.vlan.gre.vxlan.ovs.openflow.sdn.iptables等,当然这里不会做具体技术介绍 ...

  8. openstack网络(一)

    什么是OpenStack Networking OpenStack网络的特性 交换机 路由器 负载均衡 防火墙 虚拟专用网络 网络功能虚拟化 网络类型 管理网络 API 网络 外部网络 访客网络 在一 ...

  9. 2.OpenStack 网络简介(neutron)

    OpenStack 网络简介(neutron) 概述和组件 OpenStack 网络允许您创建和管理网络对象, 如网络.子网和端口, 其他 OpenStack 服务可以使用.插件可以实现, 以适应不同 ...

随机推荐

  1. easyui中使用的遮罩层

    easyui 的 dialog 是继承自 window的,而 window中有modal这样的属性(见参考资料),就是用于打开模态的窗口的,也就是你说的有遮罩层的窗口.所以不需要额外的代码,仅需在di ...

  2. 推荐Java程序员阅读的书籍(转)

    作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...

  3. 仿LOL项目开发第九天

    仿LOL项目开发第九天 by 草帽 OK,今天我们完全换了一种风格,抛弃了Unity3d的c#语法,我们来写写java的项目. 说到java服务器,当然有些人可能鄙视java的服务器速度太慢,但是相对 ...

  4. Expectation Maximization-EM(期望最大化)-算法以及源码

    在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable).最大期望经常用在机器学 ...

  5. SpringMVC处理方法的数据绑定

    一.SpringMVC数据绑定流程 Spring MVC通过反射机制对目标处理方法的签名进行解析,将请求消息中的信息以一定的方式转换并绑定到处理方法的入参中.数据绑定的核心部件是DataBinder, ...

  6. 游戏:贪吃虫(GreedyMaggot)

    该游戏类似于贪吃蛇,但可以在二维平面上以任意方向前进.当吃到食物手,食物会从虫头向虫尾移动,移到虫尾后,贪吃虫长度会增加.本来给它取名为贪吃蛆的,并且工程的英文名Maggot就是蛆的意思,后来想想有点 ...

  7. 矩阵求和及Kadane算法

    今天的一道题目: https://leetcode.com/problems/max-sum-of-sub-matrix-no-larger-than-k/ 有难度.这一类题目很有代表性. 搜到这个网 ...

  8. Mac OS中Java Servlet与Http通信

    Java中一个Servlet其实就是一个类,用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序.Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器 ...

  9. SoundPool 音频播放 API 详解【示例】

    demo地址:https://github.com/baiqiantao/PermissionTest.git 一个大坑:SoundPool最多只能播放时长10s左右.大小70kb左右(这些值是我多次 ...

  10. JS操作JSON常用方法

    一.JSON字符串的替换 工作经常遇到这样的字符串,如下: 需要经过替换后,才能从字符串转化成JSON对象.这里我们需要用JS实现replaceAll的功能, 将所有的 ' \\" ' 替换 ...