OpenStack Neutron 简单介绍

2020/05/19 OpenStack Neutron

neutron 功能

neutron为openstack提供网络支持,包括二层交换、三层路由、负载均衡、防火墙、vpn等。

neutron 架构

1. 概述

  • Neutron Server : 对外提供OpenStack网络的API,接收请求,并调用Plugin处理请求
  • Plugin:处理 Neutron Server 发来的请求,维护 OpenStack 逻辑网络的状态,并调用 Agent 处理请求

  • Agent:处理 Plugin 的请求,负责在 network provider 上真正的实现各种网络功能
    • OVS agent (实现网络二层功能)
    • L3 agent (提供网络三层功能,基础 L3 仅提供路由以及nat转发、扩展包括vpn,fw)
    • DHCP agent
    • metering (实现流量统计,可以统计通过 fip 的流量以及字节)
  • network provider:提供网络服务的虚拟或物理的网络设备。如:Linux Bridge,Open vSwitch 或 其他物理交换机。
  • Queue: Neutron Server、Plugin、Agent 之间使用mq通信和调用。
  • Database: 用来存放OPenStack的网络状态信息,包括network、subnet、port、router

1. Neutron Server

  • Core API : 对外提供管理 network、subnet、port 的RESTful API
  • Extension API : 对外提供router、load balancer、firewall 等资源的RESful API
  • Common Service:认证和校验API请求
  • Neutron Core :Neutron server 的核心处理程序,通过调用相应的Plugin处理请求。
  • Core Plugin API:定义了Core Plugin 的抽象功能合集,Neutron Core 通过API调用相应的Core Plugin。
  • Extension Plugin API:定义了Service Plugin 的抽象功能合集,Neutron Core 通过API调用相应的Service Plugin。
  • Core Plugin :实现了Core Plugin API 在数据库中维护network、subnet和port的状态,并负责调用相应的agent在network provider上执行相关操作
  • Service Plugin : 实现了Extension Plugin API 在数据库中维护router、load balancer、security group 并负责调用相应的agent在network provider上执行相关操作

2. 架构展开

Search

    Table of Contents