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. UIView 精要概览(持续更新)

    --1-- 知识点:为UIView 设置圆角 前提:layer 属性需要 <QuartzCore/QuartzCore.h> 静态库的支持,所以需要提前导入到项目中,并在你的文件中包含#i ...

  2. ool _WebTryThreadLock(bool),

    一般的问题是这样的 “bool _WebTryThreadLock(bool), 0xxxxxx: Tried to obtain the web lock from a thread other t ...

  3. arcgis andriod GeometryEngine使用

    intersectionMenuItem.setChecked(true); showGeometry(GeometryEngine.intersection(inputPolygon1, input ...

  4. QT编程之——使用全局变量

    在Qt中使用全局变量的实例 1.首先须要在一个头文件里对全局了变量使用exern方法进行定义. //g.h extern char *testStr; 2.仅仅能在cpp文件里对事实上例化,而且实例化 ...

  5. 阿里云服务器IIS启用HTTPS协议(转)

    https://www.cnblogs.com/randytech/p/7017188.html

  6. WhyEngine游戏引擎作品合集

    从9月份开始写三个月内总共实现了13个游戏,5个屏保程序,5个DEMO程序.如果运行时,报有木马病毒什么的,请相信我,这绝对是杀毒软件的误报,自己写的程序由于没有得到杀毒软件的认证,被报有危险是正常的 ...

  7. QT学习:c++解析html相关

    原来我做爬虫的时候,对页面进行解析的时候总是用很简单粗暴的方法,直接找规律.后来在网上看到了gumbo,尝试了一下,发现确实很好用,所以向大家推荐一下. 以下转自:http://blog.csdn.n ...

  8. 错误: 找不到或无法加载主类 Files\red5-server ,原因与解决办法

    因为你把 red5放到了 Program Files 下,而Program Files 中间有个空格,启动路径不允许有空格,换个没空格的路径就OK啦

  9. Jquery中parent()和parents()

    一.parent()方法 此方法取得匹配元素集合中每个元素的紧邻父元素,也就是第一级父元素,而不是所有的祖先元素.所取得的父元素集合也可以使用表达式进行筛选. 二.parents()方法 此方法取得一 ...

  10. Python27中Json对中文的处理

    应用场景如下:从api下载数据,json解析,存入字典,定期保存.重启程序需要加载保存的文本. 问题1:json中都是unicode串,存到文本里都是些\u*** 解决:关闭ensure_ascii开 ...