简介:

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详解的更多相关文章

  1. 【OpenStack】OpenStack系列8之Nova详解 Neutron详解

    Neutron下载安装 下载:git clone -b stable/icehouse https://github.com/openstack/neutron.git pip install -r ...

  2. OpenStack知识点详解

    一:云计算     一.起源 1. 云计算这个概念首次在2006年8月的搜索引擎会议上提出,成为了继互联网.计算机后信息时代的又一种革新(互联网第三次革命). 2. 云计算的核心是将资源协调在一起,使 ...

  3. 在CentOS7上部署OpenStack 步骤详解

    OpenStack作为一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,开放源代码项目的云计算管理平台项目.具体知识我会在后面文章中做出介绍,本章主要按步骤给大家演示在Cent ...

  4. 全面认识openstack:OpenStack架构详解

    OpenStack构架知识梳理   OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟 ...

  5. OpenStack架构详解

    OpenStack提供开放源码软件,建立公共和私有云. OpenStack是一个社区和一个项目,以及开放源码软件,以帮助企业运行的虚拟计算或者存储云. OpenStackd开源项目由社区维护,包括Op ...

  6. OpenStack网络详解

    本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您赞助的咖啡. Openstack需要对网络有一些了解才能进入openstack的世界,很多都是 ...

  7. 【OpenStack】OpenStack系列12之OpenStack自动化测试详解

    参考文档: https://github.com/yongluo2013/osf-openstack-training/blob/master/installation/How-to-setup-op ...

  8. 云计算之 PaaS详解

    PaaS是Platform-as-a-Service的缩写,意思是平台即服务. Paas - 概述 计算机技术 PaaS(Platform-as-a-Service:平台即服务) 全称:(Platfo ...

  9. [书目20140902]实战Windows Azure——微软云计算平台技术详解 --徐子岩

    目录第1章  云计算技术简介    1.1  云计算所要解决的问题    1.2  云计算平台的分类    1.3  微软云计算平台Windows Azure        1.3.1  高可用性   ...

随机推荐

  1. php精简完全小结(linux/laravel篇)

    php官网:http://www.php.netphp版本: 查看:php -version说明:None-Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查:Threa ...

  2. 使用jquery.form.js提交表单上传文件

    方法: 1.formSerilize()  用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式. 2.clearForm()   清除表单中所有输入值的内容. 3.restF ...

  3. 探索JSP中的 "9大内置对象!"

    1.什么是JSP内置对象? jsp内置对象就是Web容器创建的一组对象,我们都知道Tomcat可以看成是一种Web容器,所以我们可以知道所谓的内置对象Tomcat创建的,使用内置对象时可以不适用new ...

  4. HTML语言笔记

     html语言即超文本标记语言.         超文本标记语言,标准通用标记语言下的一个应用.         "超文本"就是指页面内可以包含图片.链接,甚至音乐.程序等非文字元 ...

  5. Brotli、Deflate、Zopfli、LZMA、LZHAM、Bzip2六种无损数据压缩性能比较

    这里比较了六种数据压缩算法,结果表明Brotli算法会代替普遍使用的Deflate算法.分别用Canterbury compression corpus,web contentcorpus,和 enw ...

  6. 四则运算 WEB

    coding.net:https://git.oschina.net/ysh0904/WEB.git 一.需求分析 记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算 ...

  7. 团队作业8——第二次项目冲刺(Beta阶段)Day7——5.26

    展开圆桌式会议: 会议内容:1.汇总BETA阶段的成果.2.针对BETA阶段的大家的获得的收获进行了讨论.3.对整个团队项目的过程进行了总结.每个人的工作分配: 队员 今日任务 贡献比 林燕 做最后测 ...

  8. 201521123100 《Java程序设计》第4周学习总结

    1. 本章学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. (1)多态性:相同的形态,不同的行为 (2)类型转换与强制类型转换(cast) 2. 书面作 ...

  9. 201521123072《java程序设计》第十三周学习总结

    201521123072<java程序设计>第十三周学习总结 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 ...

  10. 201521123032 《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...