文章目录

  • Neutron
  • Neutron功能
    • 二层交换 Switching
    • 三层路由 Routing
    • 负载均衡 Load Balancing
    • 防火墙 Firewalling
  • Neutron网络
    • network
    • subnet
    • port
  • Neutron架构

Neutron

Neutron (OpenStack Networking service) 负责提供网络服务的组件,它基于 SDN 的思想,并充分利用了 Linux 系统上的各种网络相关的技术,实现了网络虚拟化下的资源管理。

Neutron功能

二层交换 Switching

Neutron 支持多种虚拟交换机,一般使用 Linux Bridge 和 Open vSwitch 创建传统的VLAN 网络,以及基于隧道技术的Overlay网络,如 VxLAN 和 GRE(Linux Bridge 目前只支持 VxLAN)。

三层路由 Routing

Neutron 的 router(虚拟路由器)实现 instance 跨网段通信。router 通过 IP forwarding、iptables 等技术来实现路由和 NAT。

负载均衡 Load Balancing

Openstack 在 Grizzly 版本第一次引入了Load-Balancing-as-a-Service(LBaaS),提供了将负载分发到多个instance的能力。LBaaS 支持多种负载均衡产品和方案,不同地实现以 Plugin 的形式集成到Neutron,目前默认的 Plugin 是 HAProxy。

防火墙 Firewalling

Neutron 有两种方式来保障 instance 和网络的安全性。

  • Security Group 通过 iptables 限制进出instance的网络包;

  • Firewall-as-a-Service 通过 iptables 限制进出虚拟路由器的网络包。

Neutron网络

network

network是一个隔离的二层广播域。network必须属于某个project,project中可以创建多个network。

支持以下类型的网络:

  • local

    local网络与其他网络和节点隔离。local网络中的instance只能与位于同一节点上同一网络的instance通信,local网络主要用于单机测试。

  • flat

    flat网络是无vlan tagging的网络。flat网络中的instance能与位于同一网络的instance通信,并且可以跨多个节点。

  • vlan

    vlan网络是具有802.1q tagging的网络。vlan是一个二层的广播域,同一vlan中的instance可以通信,不同vlan只能通过router通信。vlan网络可以跨节点,是应用最广泛的网络类型。

  • vxlan

    vxlan是基于隧道技术的overlay网络。vxlan网络通过唯一的segmentation ID(也叫VNI)与其他vxlan网络区分。vxlan中数据包会通过VNI封装成UPD包进行传输。因为二层的包通过封装在三层传输,能够克服vlan和物理网络基础设施的限制。

  • gre

    gre是与vxlan类似的一种overlay网络。主要区别在于使用IP包而非UDP进行封装。

subnet

subnet是一个IPv4或者IPv6地址段。instance的IP从subnet中分配。每个subnet需要定义IP地址的范围和掩码。

network与subnet是1对多关系。一个subnet只能属于某个network;一个network可以有多个subnet,这些subnet可以是不同的IP段,但不能重叠。

port

port可以看作虚拟交换机上的一个端口。port上定义了MAC地址和IP地址,当instance的虚拟网卡VIF(Virtual Interface)绑定到port时,port会将MAC和IP分配给VIF。
一个port必须属于某个subnet;一个subnet可以有多个port。

Neutron架构

  • Neutron Server:对外提供OpenStack网络API,接收请求,并调用Plugin处理请求。
  • Plugin:处理Neutron Server发来的请求,维护OpenStack逻辑网络的状态,并调用Agent处理请求。
  • Agent:处理Plugin的请求,负责在Network Provider上真正实现各种网络功能。
  • Network Provider:提供网络服务的虚拟或者物理网络设备,比如Linux Bridge,OpenVSwitch或者其他支持Neutron的物理交换机。
  • Queue:Neutron Server,Plugin和Agent之间通过Messaging Queue通信和调用。
  • Database:存放OpenStack的网络状态信息,包括Network,Subnet,Port,Router等。

OpenStack — Neutron相关推荐

  1. OpenStack Neutron运行机制解析概要

    问题导读: 1.有OpenVswitch为什么还会有Linux Bridge? 2.整个运行流程是怎样的? 3.什么是TAP设备? 自从开学以来,玩OpenStack也已经3个月了,这段时间主要把精力 ...

  2. OpenStack neutron中AsyncProcess类

    在openstack/neutron的源代码中,在neutron-openvswitch-agent中有个函数daemon_loop(): def daemon_loop(self):........ ...

  3. OpenStack Neutron浅析(四)

    传统网络到虚拟化网络的演进 传统网络: 虚拟网络: 布式虚拟网络: 单一平面网络到混合平面网络的演进 单一平面租户共享网络:所有租户共享一个网络(IP 地址池),只能存在单一网络类型(VLAN 或 F ...

  4. OpenStack Neutron浅析(二)

    计算.存储和网络,奠定了当今云计算格局的三足鼎立之势. 计算通过虚拟化CPU.disk.Memory等硬件来获得高效的应用:存储通过分布式的文件系统,提供了众多特性的功能.而相对于,计算和存储两方面的 ...

  5. python openstack vpc互通_深入浅出新一代云网络——VPC中的那些功能与基于OpenStack Neutron的实现(一)-简述与端口转发...

    VPC的概念与基于vxlan的overlay实现很早就有了,标题中的"新"只是一个和传统网络的相对概念.但从前年开始,不同于以往基础网络架构的新一代SDN网络才真正越来越多的走进国 ...

  6. 带着问题了解Openstack Neutron安全组

    女主宣言 本文出自于ADDOPS团队,该文章作者李文新是360 HULK云平台容器化及虚拟化平台运维开发工程师,负责网络模块的设计与开发.本文是由他最近解决的一个Openstack Neutron安全 ...

  7. openstack neutron(tap、qvb、qvo详解)(转)

    openstack neutron 说明:本文转自http://blog.csdn.net/tantexian/article/details/45395075 Linux Host 侧使用的网络元素 ...

  8. openstack neutron相关命令出现异常HttpException: 503

    打开环境突然发现openstack neutron相关命令都用不了了 [root@openstack21 xxxxxxx]# openstack network list HttpException: ...

  9. 深入理解 OpenStack Neutron:VXLAN

    深入理解 OpenStack Neutron:VXLAN 原创: 李宗标 网事如烟云 2017-02-01 3.8 VXLAN 终于用上了这张图: 老爷子,鸡年大吉! 好吧,我们言归正传!(老爷子说: ...

  10. 【neutron】OpenStack Neutron -- 学习资料

    OpenStack Neutron -- 学习资料 学习什么 neutron代码的整体架构,消息通知.rpc如何实现,RESTful API如何实现 neutron的部署,常见问题的定位方法 neut ...

最新文章

  1. 深入探究Java中equals()和==的区别是什么
  2. STL系列:map和unordered_map
  3. u852日期限制解决补丁_用友U8hotfix和补丁包替换原则及注意事项
  4. ( 一 ) Jpbm环境的搭建
  5. 乐高ev3涉及到的一些赛事_使您成为英雄的前五名开发者技能(提示:涉及LEGO)
  6. Python3生成脚本实现重置键盘键位
  7. svn判断通过svnkit,获取最新的revision以及判断某个revsion是否存在
  8. 某项目网络实施中的几个关键点解析
  9. missingno库—缺失值可视化
  10. 《101 Windows Phone 7 Apps》读书笔记-TODO LIST
  11. 获取本机局域网IP地址
  12. STM32串口通信以寄存器地址和HAL两种方式实验Hello Windows!
  13. 山东高中学业水平考试时间2020计算机,2020年山东省高中学业水平等级考试报名时间及科目...
  14. 可视化绘图技巧100篇分析篇(一)-数据降维NMDS分析(补充篇)
  15. IE浏览器一打开就提示“已停止工作”的解决方案
  16. 【唐诗学习】六、诗仙李白
  17. MySQL——读写分离 理论+实操!!!
  18. mysql数据库物理结构_MySQL数据库结构设计(物理设计)
  19. 电脑密码忘了怎么解除?最简单操作的方法
  20. 瑞吉外卖:linux课程学习(软件安装、项目部署)

热门文章

  1. 聚焦2020九大科技热点,本周三ELEXCON电子展大幕将启!(含展商名单+会议推荐)...
  2. Keras YOLOv3代码详解(三):目标检测的流程图和源代码+中文注释
  3. APP商品详情API调用展示,APP端商品详情API接口所有参数
  4. CF 758A Holiday Of Equality
  5. ffmpeg综合应用示例(三)——安卓手机摄像头编码
  6. git常见命令和更新、发布
  7. 物联网卡流量池是什么东西?
  8. 华为命令下的光模块信息
  9. 卡巴斯基实锤拼多多 App 恶意代码
  10. 软件项目上线检查项目