简单谈谈OpenStack中的网络隔离

 更新时间:2017年03月08日 08:48:30   作者:opsdev  
这篇文章主要介绍了简单谈谈OpenStack中的网络隔离的相关资料,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

前言

最近,关于xx公有云的用户网络,由于隔离问题引发安全讨论,大家顿时对啥“经典网络”、“VPC”等概念兴趣大增,大家的热议中多次提到AWS的VPC,亚马逊的AWS怎么搞的,我们不得而知,但是我们可以聊聊OpenStack的,毕竟它一直在模仿AWS嘛;

“隔离”啥

首先,我们先搞清楚,所谓“隔离”,到底是在“隔”什么;

我们知道,计算机网络,是分层实现的,不同协议工作在不同层,这些层的设计、制定都有国际标准,按着OSI的分层模型,共有七个层,大家在讨论的隔离,通常指的是第2层,也叫“数据链路层”;

数据链路层的网络包,也叫“帧”,我们常说的网卡的MAC地址,就是帧的地址,MAC,其实是“媒体访问控制”(media access control)的简称,这是数据链路层的一个子层;

那为什么要在这个二层上搞隔离呢?

因为二层的帧,其中一些帧的地址是广播地址,在同一个二层的设备都可以、也必须接收这些帧,交换机一般认为工作在二层,对这些广播包,也都要转发,所以二层通常被称为一个“广播域”,这就好比大家在一个教室里,都能互相看到,除非分隔到不同的教室;

OpenStack的玩法

openstack的neutron负责为虚拟机提供网络,而且openstack是假设多租户的,那多租户之间的隔离问题,它当然要提供支持,下面我们就看一下neutron是怎么实现的;

平坦网络

neutron中创建的网络是有“type”的,其中最基础的一种type就是“flat”,顾名思义,“平坦”就是指都在一个空间下,也就是没有做二层上的隔离,虚拟机都在同一个二层,同一个广播域;

从网上找了个示意图:

这种”平坦“的大二层网络,虽然实现、管理相对简单,但也会有诸多问题,除了安全方面,还有广播风暴等问题;

单个大二层网络,就好比整个学校的人都在一个大礼堂,大家都能看到,而且万一谁得了传染病,大家都被传染,要想隔离,可以把人分散到各个教室;

VLAN隔离网络

neutron中创建”vlan“这种类型的网络,就是主要使用的二层隔离方案,VLAN(虚拟局域网)本身就是交换机广泛使用的二层隔离技术;

示意图大概这样:

这就好比把整个学校的人,从大礼堂,分隔到了不同的教室,同一个教室的人互相可见,不同教室的人不可见;

但这种方案也有一定的局限性,首先管理相对麻烦,需要配合设置物理交换机,另外VLAN的可用数量有限制,VLAN的ID号仅有四千多个,我们假设每个租户分配1个VLAN,那最多也就能支持四千多个租户;

OverLay网络

overlay(覆盖)网络,所谓”覆盖“,大体上指”在一层上面覆盖另一层,也可以说是用一层载着另一层移动“,VXLAN是最常见的协议,它是把虚拟机的二层的帧,在宿主机上用UDP包裹起来,然后以宿主机的IP,必要的话,经过3层的路由,到达目的宿主机,然后再解封,把内包裹的二层帧,输送给目的虚拟机;

有点抽象?我们先看看VXLAN的包结构,就知道”包裹“是啥意思了:

那个”Inner Frame“就是被包裹的虚拟机的二层的包;

最终封装完的包,外层的源IP、目的IP地址,都是宿主机的,所以只要宿主机之间互通(3层可达),被封装的内层帧就可以被运输:

那这种方案有什么优点呢?

主要的:

vxlan的范围足够大,一千六百多万,租户随便用 因为是完全隔离的,租户可以随意定义自己的网络,哪怕和其他租户的IP段重叠都没有关系,比如上图中,租户A的网络,与租户B的网络 如果通过一定技术实现支持3层路由器,租户可以将自己的网络,随意组织自己的网络拓扑,比如上图中,租户A的两个网络,连接到一个路由器(可以是虚拟的)上

关于上面提的第三点,在neutron中大概是这样的:

VPC

最后,那到底啥是VPC呢?

很明确的告诉你,上面这个图就是VPC!

VPC(virtual private cloud),不是个技术专有名词,而是亚马逊AWS创造的一个产品层面的名词;

租户网络彻底隔离、IP段都能重叠、路由器、网络拓扑都能由自己定义,这还不是”虚拟私有云“吗!

相关文章

  • Openstack安装过程中遇到的问题汇总

    Openstack安装过程中遇到的问题汇总

    本文给大家分享的是作者在Centos7中安装openstack过程中出现的一些问题的汇总,以及解决的方法,有需要的小伙伴可以参考下
    2017-04-04
  • 浅谈openstack中使用linux_bridge实现vxlan网络

    浅谈openstack中使用linux_bridge实现vxlan网络

    这篇文章主要介绍了浅谈openstack中使用linux_bridge实现vxlan网络,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 详解Openstack环境准备

    详解Openstack环境准备

    本篇文章主要介绍了详解Openstack环境准备,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Openstack 创建项目和虚拟机详细介绍

    Openstack 创建项目和虚拟机详细介绍

    这篇文章主要介绍了Openstack 创建项目和虚拟机详细介绍的相关资料,这里举例说明如何实现,图文教程,需要的朋友可以参考下
    2016-11-11
  • OpenStack 中的Nova组件详解

    OpenStack 中的Nova组件详解

    Nova是OpenStack云中的计算组织控制器。支持OpenStack云中实例(instances)生命周期的所有活动都由Nova处理。本文给大家介绍OpenStack 中的Nova组件,感兴趣的朋友一起看看吧
    2016-11-11
  • CentOS系统中一键安装Openstack图文教程

    CentOS系统中一键安装Openstack图文教程

    最近在学习Openstack,一直想试试安装一下,可是参考了很多资料,并不如人意。由于一直用的Linux版本为CentOS,大部分Openstack安装都要求在Ubuntu上进行。本文介绍的是在CentOS系统中一键安装Openstack的方法,有需要的朋友们可以参考学习,下面来一起看看吧。
    2016-10-10
  • OpenStack简介与OpenStack核心组件功能

    OpenStack简介与OpenStack核心组件功能

    这篇文章主要介绍了OpenStack与OpenStack核心组件功能,OpenStack用于部署公有云、私有云,并实现对云项目管理,需要的朋友可以参考下
    2023-03-03
  • OpenStack之日志详细介绍

    OpenStack之日志详细介绍

    这篇文章主要介绍了 OpenStack之日志详细介绍的相关资料,这里对日志系统做了详解,需要的朋友可以参考下
    2016-11-11
  • 详解VMware接入Openstack—使用Openstack创建vCenter虚拟机

    详解VMware接入Openstack—使用Openstack创建vCenter虚拟机

    本篇文章主要介绍了VMware接入Openstack—使用Openstack创建vCenter虚拟机,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • OpenStack云计算快速入门教程(1)之OpenStack及其构成简介

    OpenStack云计算快速入门教程(1)之OpenStack及其构成简介

    该教程基于Ubuntu12.04版,它将帮助读者建立起一份OpenStack最小化安装。这篇文章主要介绍了OpenStack云计算快速入门教程(1)之OpenStack及其构成简介 ,需要的朋友可以参考下
    2016-11-11

最新评论

?


http://www.vxiaotou.com