openstack里面的Provider network 和 Tenant network 的区别

openstack里面的网络相对复杂、经常有人对几个网络概念搞混淆,这里基本说明下

Openstack里面根据创建网络的用户的权限,Neutron network 可以分为:

Provider network:管理员创建的和物理网络有直接映射关系的虚拟网络。

Tenant network:租户普通用户创建的网络,其配置由 Neutorn 根据管理员在系统中的配置决定。受限于neutron配置。

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

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

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

local network(本地网络):一个只允许在本服务器内通信的虚拟网络,不知道跨服务器的通信。主要用于单节点上测试。

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

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

Provider network 只对 Flat 和 VLAN 类型的网络才有意义,因为 Provider network 的一个重要属性是 provider:physical_network,而这个参数对其他网络类型没有有意义。并且provider网络都是规划层面的事情,有管理员动手操作。

Tenant network 是由 tenant 的普通用户创建的网络。默认情况下,这类用户不能创建共享的 tenant network(因此 Nuetron Server 的policy 设置了"create_network:shared": "rule:admin_only"。),因此这种网络是完全隔离的,也不可以被别的 tenant 共享。openstack里对于有些API的操作进行了相关权限控制,也是结合他的模型场景来确定的。Tenant network 也有 local,flat,vlan,gre 和 vxlan 等类型。但是,tenant 普通用户创建的 Flat 和 VLAN tenant network 实际上还是 Provider network,所以真正有意义的是 GRE 和 VXLAN 类型,这种网络和物理网络没有绑定关系。

一般而言,SDN采用vxlan,政务云里面由于物理规划基本采用VLAN,并且都是管理员做好相关网络,由租户使用,因为VLAN和IP的关系一般都是规划好的。

总结:

Provider network 是由 Admin 用户创建的,而 Tenant network 是由 tenant 普通用户

创建的。

Provider network 和物理网络的某段直接映射,比如对应某个 VLAN,因此需要预先

在物理网络中做相应的配置。而 tenant network 是虚拟化的网络,Neutron 需要负责其路由等三层功能。

对 Flat 和 VLAN 类型的网络来说,只有 Provider network 才有意义。即使是这种类型的 tenant network,其本质上也是对应于一个实际的物理段。

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

Provider network 根据 admin 用户输入的物理网络参数创建;而 tenant work 由 tenant 普通用户创建,Neutron 根据其网络配置来选择具体的配置,包括网络类型,物理网络和 segmentation_id。

创建 Provider network 时允许使用不在配置项范围内的 segmentation_id。

时间: 2024-10-21 05:41:37

openstack里面的Provider network 和 Tenant network 的区别的相关文章

python里面的list、tuple和dict的区别

Dictionary .Dictionary是Python中内置的数据类型之一,他定义了键和值之间一对一的关系. 每一个元素都有一个key-value对,整个元素集合用大括号{}括起来. 你可以通过key获取value,但是不能通过value获取key.原因是:Dictionary里面key是唯一的,但是value并不是唯一的. 在一个dictionary里面,不能同时存在两个相同的key,给一个存在的key赋值会覆盖原来的value,在任何的时候都可以添加key-value对. 在Dictio

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

原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture3 在上一篇文章中,我们介绍了openstack中的路由,了解到openstack如何通过namespace实现的router将两个network连通.本文中,我们进一步分析路由功能,说明实现内部internal network和public network的路由(而不仅仅是internal network之间).我们还会分析n

windows下使用xShell远程连接virtualbox里面的linux

第一阶段:基本安装 安装virtual box 在virtualbox里面安装xubuntu:是ubuntu+xfce桌面环境的一个linux的发行版本 在windows下安装Xmanager Enterprise 5[用其中的Xshell,建立远程连接] 第二阶段:基本设置 在windows下用cmd--ipconfig查看VirtualBox Host-Only Network找到IPv4地址:192.168.56.1[一般都是这个] 在xubuntu下的terminal--ifconfig

在OpenStack里怎样配置Neutron,让虚拟机访问外网

http://blog.csdn.net/zhangli_perdue/article/details/50264681 OpenStack里虚机(或者叫instance)只有在分配floating IP后才能访问外网,那么需要怎样做配置才能达到目的呢? 1. 需要在网络节点上确定一个可以访问外网的物理网卡,这个网卡可以和管理网卡是一个.这里我们假定外网网卡和管理网卡是独立的,且外网网卡的名字叫做eth2. 2. 添加一个新的bridge br-ex,并将eth2作为port绑定到br-ex [

虚拟机在 OpenStack 里没有共享存储条件下的在线迁移[转]

原文链接:http://www.ibm.com/developerworks/cn/cloud/library/1508_wangyx_openstacklivemigrate/ 迁移(Migration)就是把一个虚拟机从一台物理主机搬到另一台物理主机,动态(Live)就是在迁移过程中虚拟机正常工作不影响用户的使用.对系统管理员来说,动态迁移是个非常有用的工具,当计划对一个物理主机进行更新或者升级(update/upgrade)的时候,管理员不需要关闭这个物理主机上的虚拟机,只是在更新或者升级

Afianl框架里面的FinalBitmap加载网络图片

在Afianl框架里,FinalBitmap如何加载网络图片?有什么简单的方法吗?现在让麦子学院的android开发老师讲讲afina框架里面的finalbitmap加载网络图片的方法,Afinal里边FinalBitmap:用于显现bitmap图像,而无需思考线程并发和oom等疑问. 1.测验恳求 运用页面翻开http://avatar.csdn.net/C/6/8/1_bz419927089.jpg"可以看到一张图像. 2.新建FinalBitmap目标 1 FinalBitmap bitm

函数的上下文就是函数里面的this是谁

规律1:函数用圆括号调用,函数的上下文是window对象 比如小题目: function fun(){ var a = 888; alert(this.a); //实际上访问的是window.a } var a = 666; fun(); //弹出666 函数function fun(){}的上下文是什么!不要看它怎么定义,要看它怎么调用!!此时是fun()函数名加上圆括号直接调用,此时上下文就是window对象! 而我们知道:所有的全局变量都是window对象的属性,(注意:函数里面的局部变量

如何去除项目里面的SVN和CVS文件夹

SVN和CVS是我们常使用的项目版本管理工具,为我们的工作带来了很大的方便.但是,有时候我们需要删除里面的SVN和CVS文件夹. 1 如何快速的删除项目中的版本控制文件夹  (1) 删除项目中的SVN文件夹.我们可以使用bat脚本来实现快速递归删除,代码如下: @echo off echo Deleting SVN folders and files under: %1 REM Open Folder specified by parameter. cd %1 REM Recursive del

提取数据库字段里面的值,并改变+图片懒加载,jquery延迟加载

要求:手机端打开某个页面的详细信息,因为网速或者别的原因,响应太慢,因为图片大的原因,希望先进来,图片在网页运行的情况再慢慢加载(jquer延迟加载) http://www.w3cways.com/1765.html()  困难:因为页面的图片是用编辑器加进去的        :图片与文字存到数据库的字段中 :实现思路:从数据库中读取这个字段,把字段里面的src替换成lazyload 然后再返回给页面 这里主要讲是怎么把从数据库取到的数据里面的字段里面的值替换然后与页面直接的数据转换 首先 pu