简单谈谈OpenStack中的网络隔离

 更新时间:2017年7月6日 23:23  点击:1657
小编给大家推荐的这篇文章介绍了简单谈谈OpenStack中的网络隔离的教程,非常有用,不会的同学可以看看

前言

最近,关于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段都能重叠、路由器、网络拓扑都能由自己定义,这还不是”虚拟私有云“吗!

本篇文章为大家分享了网站建设的步骤和流程,很值得看一看的,有需要的朋友就来参考一下吧。

想要建设好一个网站,有很多小细节需要注意,只有把这些小细节做好了,你才建设出来一个完美的网站。那么这个网站建设的流程或者步骤是怎么样的呢?

第一、域名空间

想要建设一个网站首先就是要要有一个空间和一个域名,否则你的网站没有空间放置,并且如果没有域名。那么你的网站就没有任何的意义。

1、域名的选择要谨慎,因为这很有可能会影响到你的网站是否会受到欢迎。尽量选择国际上通用的域名,比如.com之类,这样比较容易被别人记住。另外一点,就是网站的域名要与这个网站的内容有关,最好是这个网站名称的缩写,如果是一个英文单词是最好的,因为这样容易被别人记住,但是如果不能凑成一个英文单词,就用拼音的缩写代替,总之一切要以简单容易记并且可以突出网站主题为主。

2、虚拟空间也是需要的,因为你的网站建设好之后需要一个放置的空间,这个空间是虚拟的。

第二、规划设计

前期准备好之后就需要规划网站了,首先你要清楚自己想要建设一个什么样的网站,并且建设这个网站的目的是什么,只有这样才能着手去准备。另外把建设这个网站需要用到的一些素材要提前准备好,比如一些图片素材。

第三、网站建设

规划好之后就要正式的建设了,网站要分为前台和后台这两个部分。前台就是接待客户的地方,所以在建设这个时候要注意页面的整洁性,并且最好是简明扼要,也就是说让来访的客户第一眼就知道这个网站是做什么的,并且页面要有一定的趣味性,这样才可以吸引客户的兴趣。在建设后台的时候要编写程序,在编写的时候要注意客户的需求,一切从客户的角度出发。

基本上做完以上几点一个网站的雏形就形成了,并且这个网站可以推入市场,只需要后期宣传推广即可。但是在建设的过程中始终不能忘的一点就是从客户的角度出发。

一个好的网站除了建设之外,对网站的维护和优化也是至关重要的。那么如何才能很好的去维护好自己的网站呢?下面这篇文章我们就来为大家介绍了自己建设网站时如何进行 结构优化的,一起来看一看吧。

建设网站是一个技术活,但是在网站建设好之后,并不是说以后就不需要管了,网站的维护和优化也是非常重要的,而且并不是说你懂代码就可以随意的建设网站,很多人因为对网站建设一知半解,所建设出来的网站会被搜索引擎认定为是垃圾网站。

建设网站要如何进行结构的优化呢?我们要知道内容为王的道理。网站的优化又划分为很多不同的方面,有网站结构的优化,内链的优化,导航的优化,以及代码的优化等等。

第一、页面结构的普通化

页面结构的普通化简单来讲就是说页面要满足大多数用户的访问需求。我们在建设网站的时候,要从不同的角度考虑用户在访问页面的时候的需求和目标,这此基础上,我们在考虑网站是否美观,给用户留下的印象如何,是否会让用户产生再次访问的欲望,特别是针对一些团购网站更是要重视网站内页的优化。

第二、页面导航的优化

每个网站都需要设置一个导航,这是为了让用户能够方便快速的找到自己想要访问的页面和内容,如果你把网站的页面设置的很复杂,即便是很绚丽夺目,别人找不到自己想要找的内容,那么你所建设的网站就是失败的网站,因为用户感觉并不好,下次也不会在浏览这个页面了。因为现在网络发展十分迅速,没有人会十分耐心的在一个页面上浏览寻找,你的网站找不到,他会立即关闭页面进入别人的网站找自己想要的内容。所以对于导航的设置,也不能层次太深,这样用户就会迷路,这同样会流失很多的客户。

第三、内链结构的优化

内链的作用是为了让整个网站的内容能够连贯起来,其实做内链很简单,不要把所有的链接都指向首页,或者是某一个页面。应该是在不同的页面加不同的内链,这样可以引导用户进入到相关的网页中,了解更多的内容。而且合理性的优化内链,对于提高网站的权重有很大的作用。

关于对网站结构建设的优化,我们就先简单的说以上三点,网站优化是在推广网站的过程中性价比很好的,但是优化网站需要一个过程,不可能马上就有立竿见影的效果。

在设计手机网站时,只有不让网站设计显得不单调才能给用户不一样的感觉。下面这篇文章我们就来为大家介绍一,下使用分屏网页设计让手机网站建设更出彩的方法,有兴趣的朋友就来看一看吧。

曾经很多站长都说,如果谁抓住PC端流量谁就赢得盈利的先机,然而现在很多传统PC端网站站长都感到压力,就算把网站PC端做的再好,最终获得流量也是有限,因此很多站长都把注意力转变到移动端特别是手机网站建设。我们在进行手机网站建设过程中就需要把移动网页技术进行精细化设计和制作。

手机网站建设包括手机网页制作和运营,在我们进行网站建设之前首先要把网站进行设计。这种设计取决于设计师对于移动网站理念。但是,对于当前主流的手机网站设计技术,还是要好好把握。如何让自家网站设计的不单板和单调,给用户一种清新的感觉。濮阳网站建设就说说如何通过分屏网页设计让手机网站设计出彩。

1、手机网站建设由于屏幕限制我们对于网站设计。因此,我们在进行手机网站就需要把网站按照整体进行屏幕划分。把手机网站按照手机屏幕进行尺寸大小定位,然后进行若干区域的划分,最终就需要把网站内容填充到划分区域中。

2、不管手机网站如何划分,但是在整体过程中就需要让屏幕进行保持相对的独立性。这样做的好处就在于让用户很清楚知道网站整体的布局,做出来网站轮廓更加有组织和区域。

3、手机网站加入响应式设计,现在响应式网站越爱越普遍。我们在手机网站就可以使用分屏网页设计让PC端网站和移动端网站进行同步化,这样做出来的网站不仅仅注重用户的视觉体验,也让用户对于网站分页设计刮目相看。

4、分页网页设计注重就是网站不花哨,而且给用户一种新鲜感,让用户在使用网站过程中,可以通过网站展示内容去用手机去点击。

对于手机网站建设来说,网站不仅仅就模仿别人,最终还是保持网站独特性,在网站中需要添加最新的网站设计技术,在不影响用户体验下,通过小小的技术给网站增加炫酷的技巧,让用户真正读到感兴趣的内容。

[!--infotagslink--]

相关文章

  • php简单数据操作的实例

    最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
  • 关于MySQL外键的简单学习教程

    在MySQL中,InnoDB引擎类型的表支持了外键约束。 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持); 2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时...2015-11-24
  • C# 实现简单打印的实例代码

    C# 实现简单打印的实例代码,需要的朋友可以参考一下...2020-06-25
  • python Popen 获取输出,等待运行完成示例

    今天小编就为大家分享一篇python Popen 获取输出,等待运行完成示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-05-06
  • Window.Open打开窗体和if嵌套代码

    这篇文章主要介绍了Window.Open打开窗体和if嵌套代码的相关资料,需要的朋友可以参考下...2016-04-18
  • ajax简单与ajax+php实例应用(1/4)

    [ajax介绍]   ajax是使用客户端脚本与web服务器交换数据的web应用开发方法。web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用ajax,用户可以创建接近本地...2016-11-25
  • asp.net中穿透Session 0 隔离(二)

    上一篇我们已经对Session 0 隔离有了进一步认识,如果在开发过程中确实需要服务与桌面用户进行交互,可以通过远程桌面服务的API 绕过Session 0 的隔离完成交互操作...2021-09-22
  • C#最简单的字符串加密解密方法

    这篇文章主要介绍了C#最简单的字符串加密解密方法,本文直接给出实例代码,需要的朋友可以参考下...2020-06-25
  • Mongodb 崩溃报错 Too many open files的问题解析

    这篇文章主要介绍了Mongodb 崩溃报错 Too many open files的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-12-30
  • php fsockopen邮箱发送实例代码

    php教程 fsockopen邮箱发送实例代码 <? //ok的邮箱发送。 include "smtp.class.php"; //$smtps教程erver = "smtp.163.com"; //您的smtp服务器的地址 $smtps...2016-11-25
  • PS简单给偏暗的人物图片美白及锐化处理(1/2)

    最终效果 ps简单给偏暗...2016-09-14
  • php模板简单写法

    这是一个简单的用php 实现的模板教程物。 class TEMPLATE { private $path = "." ;...2016-11-25
  • php fsockopen 伪造 post和get方法

    <?php //fsocket模拟post提交 $purl = "http://localhost/netphp/test2.php?uu=rrrrrrrrrrrr"; print_r(parse_url($url)); sock_post($purl,"uu=5555555555555555...2016-11-25
  • 空间不支持fsockopen函数解决办法

    今天买了一个空间发现空间不支持fsockopen函数,后来网上找了几种解决空间不支持fsockopen方法,下面给大家分享一下,希望对各位朋友有所帮助呀。 为了服务器安全考虑...2016-11-25
  • 简单谈谈 php 文件锁

    本文简单谈了php文件锁,对初学php的同学来说非常有用,大家可以看看 锁机制之所以存在是因为并发导致的资源竞争,为了确保操作的有效性和完整性,可以通过锁机制将并发...2017-07-06
  • window.parent和window.opener区别

    下面一段代码是关于window.parent和window.opener区别 来讲的,我们如果要用到iframe的值传到另一框架就要用到window.opener.document.getElementById(name).value = u...2016-09-20
  • 解决C++ fopen按行读取文件及所读取的数据问题

    今天小编就为大家分享一篇解决C++ fopen按行读取文件及所读取的数据问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-25
  • Python urlopen()和urlretrieve()用法解析

    这篇文章主要介绍了Python urlopen()和urlretrieve()用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-04-29
  • Illustrator绘制简单绘制可爱小蘑菇教程

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一说绘制简单绘制可爱小蘑菇的教程,各位想知道具体绘制方法的使用者,那么就快来看一看小编给大家分享的教...2016-09-14
  • 简单计数器的

    <? /* || 一个简单的计数器 */ function get_hitcount($counter_file) { /* 将计数器归零 这样如果计数器还未被使用,初始值将是1 你当然也可以把初...2016-11-25