云计算---OpenStack Neutron详解
简介:
neutron是openstack核心项目之一,提供云计算环境下的虚拟网络功能
OpenStack网络(neutron)管理OpenStack环境中所有虚拟网络基础设施(VNI),物理网络基础设施(PNI)的接入层。
网络结构:
Neutron网络结构图,管理员创建和管理Neutron外部网络,是租户虚拟机与互联网信息交互的桥梁。更具体的,外部网络会分出一个子网,它是一组在互联网上可寻址的IP地址。一般情况下,外部网络只有一个(neutron是支持多个外部网络的),且由管理员创建。租户虚拟机创建和管理租户网络,每个网络可以根据需要划分成多个子网。诸多子网通过路由器与Neutron外部网络(图中具体是子网A)连接。路由器的gateway网关端连接外部网络的子网,interfaces接口端有多个,连接租户网络的子网。路由器及interface接口端连接的网络都是由租户根据需要自助创建,管理者只创建和管理Neutron外部网络部分。
总结来看,创建一个Neutron网络的过程如下:
1 、首先管理员拿到一组可以在互联网上寻址的IP地址,并且创建一个外部网络和子网
2、 租户创建一个网络和子网
3、 租户创建一个路由器并且连接租户子网和外部网络
4、 租户创建虚拟机

网络类型:
1:管理网络---用于 OpenStack 各组件之间的内部通信。
2:数据网络---用于云部署中虚拟数据之间的通信。
3:外部网络---公共网络,外部或 internet 可以访问的网络。
4:API 网络---暴露所有的 OpenStack APIs,包括 OpenStack 网络 API 给租户们。

网络模式:
1:Flat模式---网桥模式,所有的都需要手工配置,属于平面网络,所以实例属于同一网络
2:Flat DHCP模式---网桥模式,在网关处单独取了一个DHCP的进程,可以辅助用户进行网络配置
3:VLAN模式---为每个不同的租户设置了不同的虚拟子网,在这个虚拟子网中,用户可以有自己的ip
详解:
1:Flat模式
1)指定一个子网,规定虚拟机能使用的ip范围,也就是一个ip池(分配ip不会超过这个范围,也就是配置里面的fixed_range,比如10.0.0.1/27,那么可用ip就有32 个);
2)创建实例时,从有效ip地址池接取一个IP,为虚拟机实例分配,然后在虚拟机启动时候注入虚拟机镜像(文件系统);
3)必须手动配置好网桥(br100),所有的系统实例都是和同一个网桥连接;网桥与连到网桥的实例组成一个虚拟网络,nova-network所在的节点作为默认网关。
比如flat_interface=eth1;eth1的ip为10.0.0.1,其它网络ip在10.0.0.1/27内。flat interface-->br100-->flat network
4)此后,网络控制器(nova-network节点)对虚拟机实例进行NAT转换,实现与外部的通信。
注意:目前好像配置注入只能够对Linux类型的操作系统实例正常工作,网络配置保存在/etc/network/interfaces文件。

2:Flat DHCP模式
与Flat模式一样,从ip池取出ip分配给虚拟机实例,所有的实例都在计算节点中和一个网桥相关。不过,在这个模式里,控制节点做了更多一些的配置,尝试和以太网设备(默认为eth0)建立网桥,
通过dhcp自动为实例分配flat网络的固定ip,可以回收释放ip。
1)网络控制器(运行nova-network服务的节点)运行dusmasq作为DHCP服务器监听这个网桥;
2)实例做一次dhcp discover操作,发送请求;
3)网络控制器把从一个指定的子网中获得的IP地址响应给虚拟机实例;
4)实例通过网络控制器与外部实现互相访问。

3:VLAN网络模式
OpenStack的默认网络管理模式,没有设置--network_manager=nova.network.manager.FlatDHCPManager或者FlatManager的时候默认为vlan。为了实现多台机器的安装,
VLAN网络模式需要一个支持VLAN标签(IEEE 802.1Q)的交换机(switch)。
在这个模式里,为每个项目创建了VLAN和网桥。所有属于某个项目的实例都会连接到同一个VLAN,必要的时候会创建Linux网桥和VLAN。
每个项目获得一些只能从VLAN内部访问的私有IP地址,即私网网段。每个项目拥有它自己的VLAN,Linux网桥还有子网。被网络管理员所指定的子网都会在需要的时候动态地分配给一个项目。
1)网络控制器上的DHCP服务器为所有的VLAN所启动,从被分配到项目的子网中获取IP地址并传输到虚拟机实例。
2)为了实现用户获得项目的实例,访问私网网段,需要创建一个特殊的VPN实例(代码名为cloudpipe,用了创建整数、key和vpn访问实例)。
3)计算节点为用户生成了证明书和key,使得用户可以访问VPN,同时计算节点自动启动VPN。
4)vpn访问。

3:Flat与vLAN的比较
在两种Flat模式里,网络控制器扮演默认网关的角色,实例都被分配了公共的IP地址(扁平式结构,都在一个桥接网络里)。
vLAN模式功能丰富,很适合提供给企业内部部署使用。但是,需要支持vLAN的switches来连接,而且相对比较复杂,在小范围实验中常采用FlatDHCP模式。
云计算---OpenStack Neutron详解的更多相关文章
- 【OpenStack】OpenStack系列8之Nova详解 Neutron详解
Neutron下载安装 下载:git clone -b stable/icehouse https://github.com/openstack/neutron.git pip install -r ...
- OpenStack知识点详解
一:云计算 一.起源 1. 云计算这个概念首次在2006年8月的搜索引擎会议上提出,成为了继互联网.计算机后信息时代的又一种革新(互联网第三次革命). 2. 云计算的核心是将资源协调在一起,使 ...
- 在CentOS7上部署OpenStack 步骤详解
OpenStack作为一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,开放源代码项目的云计算管理平台项目.具体知识我会在后面文章中做出介绍,本章主要按步骤给大家演示在Cent ...
- 全面认识openstack:OpenStack架构详解
OpenStack构架知识梳理 OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟 ...
- OpenStack架构详解
OpenStack提供开放源码软件,建立公共和私有云. OpenStack是一个社区和一个项目,以及开放源码软件,以帮助企业运行的虚拟计算或者存储云. OpenStackd开源项目由社区维护,包括Op ...
- OpenStack网络详解
本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您赞助的咖啡. Openstack需要对网络有一些了解才能进入openstack的世界,很多都是 ...
- 【OpenStack】OpenStack系列12之OpenStack自动化测试详解
参考文档: https://github.com/yongluo2013/osf-openstack-training/blob/master/installation/How-to-setup-op ...
- 云计算之 PaaS详解
PaaS是Platform-as-a-Service的缩写,意思是平台即服务. Paas - 概述 计算机技术 PaaS(Platform-as-a-Service:平台即服务) 全称:(Platfo ...
- [书目20140902]实战Windows Azure——微软云计算平台技术详解 --徐子岩
目录第1章 云计算技术简介 1.1 云计算所要解决的问题 1.2 云计算平台的分类 1.3 微软云计算平台Windows Azure 1.3.1 高可用性 ...
随机推荐
- javascript学习笔记-2:jQuery中$("xx")返回值探究
最近在写一个jQuery插件的时候,需要用到一个条件: 一组img标签,每一个元素都需要被它前面的元素值src替换,如果是第一个(序列为0)则其值为最后一个元素值,如果是最后一个,那么其值为第一个元素 ...
- C# yield return用法
本文实例讲述了C#中yield return用法,并且对比了使用yield return与不使用yield return的情况,以便读者更好的进行理解.具体如下: yield关键字用于遍历循环中,yi ...
- 移动端图片放大滑动查看-插件photoswipe的使用
最近在开发项目的时候,遇到一个需求,需要移动端实现放大查看图片的功能,然后我就在网上搜索了一下资料,看到了photoswipe这个插件,后来试了试,确实挺好用的,它可以实现手势放大缩小查看图片,左右滑 ...
- ★不容错过的PPT教程!
IT工程师必须学会的计算机基础应用之一--PPT! 28项大神级PPT制作技术,学会后让你变成PPT高手哦!更多实用教程,请关注@IT工程师 !
- a链接易混淆与form表单简易验证用法详解
链接可以说遍布互联网,比如你想提供一个可以跳转到百度首页的链接给网友,那么代码如下: <a href="http://www.baidu.com">百度一下,你就知道& ...
- 201521123084 《Java程序设计》第11周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1. 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...
- HTML canvas 笑脸
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- # 团队作业8——第二次项目冲刺(Beta阶段)--5.27 seventh day
团队作业8--第二次项目冲刺(Beta阶段)--5.27 seventh day Day six: 会议照片 项目进展 Beta冲刺的最后一天,以下是今天具体任务安排: 队员 昨天已完成的任务 今日计 ...
- 【Beta】阶段 第二次Daily Scrum Meeting
每日任务 1.本次会议为第二次 Meeting会议: 2.本次会议在周二上午9:40,课间休息时间在禹州楼召开,召开本次会议为10分钟. 一.今日站立式会议照片 二.每个人的工作 (有work ite ...
- 201521123031 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...