因为项目需要,最近开始学习openstack,主要负责其中的网络模块–neutron,接下来会写几篇文章来记录在学习过程中的收获。所以这里第一篇就先介绍一下neutron中所涉及到的一些基本的网络概念。

一,组网技术
1,Flat(DHCP)技术:openstack中最简单的网络模型,所有的虚拟机共用一个私有IP段,相当于大家都处于一个局域网中,IP地址在虚拟机启动时完成注入。Flat DHCP组网模式与Flat的区别就在于其开启了DHCP功能,虚拟机通过DHCP消息获得IP地址(DHCP Agent)。

2,VLAN技术:VLAN是一种将局域网(LAN)设备从逻辑上划分(注意,不是从物理上划分)成一个个网段(或者说是更小的局域网LAN),从而实现虚拟工作组(单元)的数据交换技术。VLAN技术的好处主要有三个:
(1)端口的分隔。即便在同一个交换机上,处于不同VLAN的端口也是不能通信的。这样一个物理的交换机可以当作多个逻辑的交换机使用。
(2)网络的安全。不同VLAN不能直接通信,杜绝了广播信息的不安全性。
(3)灵活的管理。更改用户所属的网络不必换端口和连线,只更改软件配置就可以了。

在openstack中使用VLAN技术引入了多租户机制,虚拟机可以使用不同的私有IP段,并且一个租户可以拥有多个IP段,以实现不同租户的网络隔离。但是,如果不同租户逻辑上共用一个网关,则无法实现租户间IP地址的复用。

3,overlay(GRE和VXLAN)技术: 通过隧道的方式建立通信。其中VXLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP/MAC作为outer-header进行封装,然后在物理IP网上传输,到达目的地后由隧道终结点解封并将数据发送给目标虚拟机。GRE是在L3上面包装L3,封装在IP报文中,建立点对点隧道进行通信。相对VLAN而言,引入overlay模型主要解决了以下问题:
1)租户数量从4K增加到16million;
2)租户内部通信可以跨越任意IP网络,支持虚拟机任意迁移;
3)一般来说每个租户逻辑上都有一个网关实例,IP地址可以在租户间进行复用;
4)能够结合SDN技术对流量进行优化。

二、网络模型
1,单一平面网络模型,这种网络模型主要存在以下缺陷:
存在单一网络瓶颈,缺乏可伸缩性;缺乏合适的多租户隔离;不支持floating ip;

2,多平面网络模型,支持VLAN,不支持floatingip;

3,混合平面私有网络,具有两个ip,支持floating ip;

4,通过私有网络实现运营商路由功能,增加了provider router,但是租户没办法定义自己的路由;

5,通过私有网络实现每个租户创建自己专属的网络区段,租户定义自己的网络,sdn网络比较灵活;

可以看出neutron模块中的网络模型变得越来越复杂,越来越适应用户的需求。

三、核心资源
Neutron管理的实体核心资源主要包括网络、子网、端口:
1,网络:隔离的L2域,可以是虚拟、逻辑或交换,同一个网络中的主机彼此L2可见。一般是创建它的用户所有。用户可以拥有多个网络。网络是最基础的,子网和端口都需要关联到网络上。
2,子网:隔离的L3域,IP地址块。其中每个机器有一个IP,同一个子网的主机彼此L3可见。子网代表了一组分配了IP的虚拟机。每个子网必须有一个CIDR和关联到一个网络IP可以从CIDR或者用户指定池中选取。子网可能会有一个网关、一组DNS和主机路由。不同子网之间L2是互相不可见的,必须通过一个三层网关(即路由器)经过L3上进行通信。
3,端口:网络上虚拟、逻辑或交换端口。 所有这些实体都是虚拟的,拥有自动生成的唯一标示id,支持CRUD功能,并在数据库中跟踪记录状态。可以进出流量的接口,往往绑定上若干 MAC 地址和 IP 地址,以进行寻址。一般为虚拟交换机上的虚拟接口。虚拟机挂载网卡到端口上,通过端口访问网络。当端口有 IP 的时候,意味着它属于某个子网。

四、三个网络
1,External Network/API Network,这个网络是连接外网的,无论是用户调用Openstack的API,还是创建出来的虚拟机要访问外网,或者外网要ssh到虚拟机,都需要通过这个网络;
2,Data Network,数据网络,虚拟机之间的数据传输通过这个网络来进行,比如一个虚拟机要连接另一个虚拟机,虚拟机要连接虚拟的路由都是通过这个网络来进行;
3,Management Network,管理网络,Openstack各个模块之间的交互,连接数据库,连接Message Queue都是通过这个网络来;

Openstack平台neutron模块之网络基础概念相关推荐

  1. 一、服务端开发基础(搭建Web服务器、网络基础概念、请求响应流程、配置Apache、静态网站与动态网站)

    一.建立你的第一个网站(目标) 前端开发 最终还是属于 Web 开发 中的一个分支,想要成为一名合格的前端开发人员,就必须要 充分理解Web 的概念. 构建一个专业的网站是一项巨大的工作!对于新手我们 ...

  2. 【Linux开发】linux设备驱动归纳总结(二):模块的相关基础概念

    linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10.04 开发平台:S3C2440开发板 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  3. 复杂网络基础概念总结

    前言:最近刚定下的课题,现在主要学习网络基础概念的知识,凡是学习总是得做下总结笔记才能比较清楚.也分享给大家一起学习吧,如有错误可以提出私信我或者评论. 社会网络通常显示出较强的社区效应,网络中的节点 ...

  4. 阿里云IOT平台学习(一)--基础概念

    以下所有内容均来自阿里云IOT平台的手册和阿里云的IOT教学视频.本系列主要是自己对IOT平台学习过程中的整理,不是程序猿,仅涉及少量代码. 阿里云iot官方手册:https://iot.consol ...

  5. 【网络基础概念】: 网络相关硬件、TCP/IP四层协议模型、OSI七层协议模型。

    # 时人不识凌云木,直待凌云始道高 # 大家好,我是码辣,是一只正在努力的小小猿一枚,希望大家多多关照 ^v^. # 初次见面,希望大家能够喜欢.(如果你认为文章可以,别忘一键三连呀!嘿嘿. # 有什 ...

  6. Bluetooth 蓝牙介绍(四):低功耗蓝牙BLE Mesh网络 Ⅰ—— 基础概念

    文章目录 背景 术语 Managed Flooding Models Scenes 架构 Node Features 中继节点 代理节点 友元节点和低功耗节点 示例 BLE Mesh Networki ...

  7. 【网络】网络基础概念

    目录 网络是什么? 网络的两大组成部分 网络分类 网络的性能 1.速率(某网络发送设备的实际速率) 2.带宽(某网络通道的理论最大速率) 3.吞吐量(某网络传输数据的实际速率) 4.时延(某网络传输数 ...

  8. 拦截锚点修改url_前端系列课程(2)-网络基础概念(URL)

    [1] IP 地址(internet protocol address) IP 地址,是设备在某一个网络中的地址,常见格式为:[0~255].[0~255].[0~255].[0~255],即四个 0 ...

  9. 华为ensp联动Wmware虚拟机Openstack平台实现Vlan网络模式

    华为ensp联动Wmware虚拟机Openstack平台实现外部Vlan网络模式(解决方案) 理论知识储备 https://blog.csdn.net/u013201439/article/detai ...

  10. 网络基础-路由器DHCP配置

    1.认识网络设备 1.1 无线网络连接 ne交换机连接AP实现无线网络通信 1.2 路由器 ce连接不同局域网络的作用,连接外网 1.3 网络基础概念ip地址 IP地址格式 192.168.1.1 网 ...

最新文章

  1. 【微服务架构】SpringCloud之Eureka入门篇
  2. Hive 按某列的部分排序 以及 删列操作
  3. 最“燃”研究生!浙工大 64 岁研究生毕业,老师称其毕业论文写的最好
  4. 学了那么多年设计模式依然不会用!那可真蠢!
  5. object getkey java_Java S3Object.getKey方法代码示例
  6. 支付宝:“答答星球”小程序上线20天累计参与人数超2亿
  7. web前端开发,自学的流程可以怎样?
  8. golang 连接多个mysql_Prometheus+Grafana监控MySQL
  9. Understanding The Linux Virtual Memory Manager
  10. java就业班学什么呀_传智播客JAVA就业班的学习心得
  11. 完美解决failed to open stream: HTTP request failed!(file_get_contents引起的)
  12. apfs文件系统_APFS解释:您需要了解的有关Apple新文件系统的知识
  13. python vimdiff_Vimdiff---VIM的比较和合并工具
  14. ICC布局规划---1
  15. python参考手册 豆瓣_详解python 模拟豆瓣登录(豆瓣6.0)
  16. 第三集 怪物学院 第二十章
  17. linux 中dirname的用法
  18. 研华PCI板卡开发(4)快速入门(4)轴操作
  19. 用ultraiso安装linux系统教程,U盘安装Ubuntu 12.10 图文教程(ultraiso)
  20. oracle 取某一年1月1日的多种方法

热门文章

  1. lua invalid pattern capture
  2. 用C编程语言写出三行情书,用7种语言写的三行情诗,你一定没看过!
  3. 新元宇宙每周连载《地球人奇游天球记》第十七回海王会龙
  4. 什么是“海恩法则”?
  5. 计算机图形图像处理专业学什么,计算机图形图像处理教学大纲
  6. 【python 监控报警】错误日志监控并钉钉报警
  7. h5跳转高德百度导航
  8. awwwards环形动画_我在参加awwwards设计事宜和figma配置时学到的东西
  9. RO-data、RW-data、ZI-data的解释
  10. 我是火枪,我想打dps