OpenStack----Neutron网络服务基础理论(持续更新)

前言:

Neutron是OpenStack核心组件之一,本篇博客对Neutron组件的进行简单分解介绍。

一、Neutron基本概念
1.1 Neutron概述
  • Neutron的设计是为了实现网络及服务。为了实现这个目标,设计上遵循了基于SDN实现网络虚拟化的原则,在实现上充分利用了Linux系统上的各种网络相关技术

  • SDN 模式服务— NeutronSDN( 软件定义网络 ), 通过使用它,网络管理员和云计算操作员可以通过程序来动态定义虚拟网络设备。Openstack 网络中的 SDN 组件就是 Quantum.但因为版权问题而改名为Neutron

  • Neutron已经实现的网络机制有3种类型

    基于代理(Agent-based):包括 Linux Bridge,Open vSwith

    基于控制器(controller-based):包括OpenStacDaylight,VMWaver NSX 等

    基于物理交换的:包括 Cisco Nexus,Arista,Mellanox等

  • Neutron架构框架

在这里插入图片描述

1.2 Neutron基本功能
  • 主要功能

    为了整个openstack环境提供网络支持,包括二层交换(ML2插件),三层路由(L3代理),负载均衡,防火墙和VPN(隧道技术)等

  • 二层交换

    nova的实例是通过虚拟交换机连接到虚拟二层网络的

    neutron支持多种虚拟交换机,包括

    • linux bridge
    • open vswitch
  • 三层路由

    实例上可以配置不通网段的IP,neutron的虚拟路由器实现实例跨网段通信

    同时可以让内网实例通过配置NAT的方式访问外网

  • 负载均衡 load balancing

    支持多种负载均衡产品和档案,不同的实现以Plugin(插件)的形式集成到neutron

  • 防火墙

    • securityy group (安全组)

      通过iptables限制进出实例的网络包

    • 虚拟防火墙FWaas

      限制进出虚拟路由的网络包,也是通过iptables实现

1.2 SDN优点
  • openstack的SDN组件架构属于可插拔类型,通过各种插件可以管控不通种类的交换机、路由器、防火墙、负载均衡并实现虚拟防火墙等多种功能,通过软件来定义的网络,可以对云计算实施进行更为精细的掌控
二、基础服务
2.1 network 网络
  • 类似于实际的物理环境中的网络,OpenStack网络用于连接云主机或路由器。除此之外,还包含子网、网关以及DHCP服务等。OpenStack网络分为内部网络和外部网络,内部网络一般用于连接虚拟机,而外部网络一般用于连接宿主机外面的网络

  • Openstack网络

    • 内部网络

      一般用于连接虚拟机

    • 外部网络

      一般用于连接宿主机外的网络

2.2 subnet 子网
  • OpenStack中的子网是一个IP地址段,用于定义实际的IP地址范围
2.3 router 路由器
  • 路由器用于连接 OpenStack的内部网络和外部网络。类似实际路由器功能,支NAT功能,通过绑定浮动IP地址还可以实现地址映射
2.4 port 端口
  • 端口类似于实际网络中的网络接口,用于连接终端设备或另外一个网络。不同的是, OpenStack中端口连接的一般都是虚拟设备接口,如虚拟机的虚拟网卡或者路由器的虚拟接口等。端口还描述了相关的网络配置,例如可以在端口上配置MAC地址和IP地址
2.5 plugin 插件
  • 处理网络服务发来的请求,维护openstack逻辑网络状态,并调用相应代理进行处理
2.6 agent 代理
  • 处理插件的请求,负责在网络提供者上真正实现各种网络功能
2.7 provider 网络提供者
  • 提供网络服务的虚拟或物理网络设备,如linux bridge,open vswitch或其他支持neutron的物理交换机
三、Neutron-server 架构
3.1 分层模型

在这里插入图片描述

  • Neutron 架构
    在这里插入图片描述

  • Neutron-server服务介绍

    neutron-server是 neutron的主服务进程,它运行在网络控制节点,提供restfulapi作为访问neutron 的入口,neutron-server接收到用户的http请求最终遍布于计算节点和网络节点的各种agen来完成 主要代码 /neutron/server neutron也是采用分布式架构,由多个组件(子服务共同对外提供网络服务)

  • Neutron api (resetful API)

    • ① neutron将基于各种虚拟网络资源的得到的API资源分成核心资源core api和扩展资源extension api两种

      Core api :对应于L2层的网络、子接口和subnetpool资源池(openstack k版加入的特性)四种抽象资源等

      Extension api :提供给网络管理路由器、负载均衡、防火墙、安全组等扩展资源

    • ② 直接对接客户端API服务,属于最前端的API,包括核心api和扩展api两种,核心api提供管理网络,子网和端口核心资源的resetful API;扩展 api提供网络管理路由器、负载均衡、防火墙、安全组等扩展资源的resetful api

  • Common serveice

    通用服务,负责对API请求进行检验、认证并授权

  • Neutron core

    核心处理程序,调用相应的插件API来处理API的请求

  • Plugin API

    定义插件的抽象功能集合,提供调用通用插件的API接口,包括核心插件api和扩展插件API两种,网络核心(server core)通过核心插件API调用相应的核心插件,通过扩展插件API调用相应的服务插件

3.2 架构分析
3.2.1 Neutron-plugin
  • Neutron-plugin(网络插件)是Neutron的一中API的后端实现,目的是增强扩展性。插件按照功能可分为两种类型。

    Core Plugin:提供基础二层虚拟机网络支持,实现网络,子网和端口核心资源支持。

    Service Plugin:是Core Plugin之外的其他插件,提供路由器,防火墙,安全组,负载均衡等服务支持,值得一提的是,知道Openstack的Havana版本,Neutron才开始提供一个名为L3 Router Service Pluginde 插件支持路由服务。

  • Ne

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值