Openstack的neutron组件理解(一)

一、知识前提

什么是openstack?

Openstack,是一个云平台管理的,旨在公共及私有云的建设与管理提供软件服务的开源项目,在云计算领域有着显著的作用和影响力。代码地址:https://github.com/openstack,开发底层语言:Python。

软件定义网络,SDN

由于互联网的快速发展,传统的网络管理方式(手动配置和维护设备)在云环境下变得越发负责,为快速响应业务的需求对网络管理提出更高的要求,软件定义网络(software-defined networking, SDN)所具有的灵活性和自动化优势使其成为云时代网络管理的主流。

其它未提及的知识,建议查阅openstack相关知识和基础网络知识作进一步的深入理解。

 

二、基本概念

Neutron,是Openstack中的一大核心组件,设计目标是实现“网络即服务(Networking as a Service)”。为了达到这一目标,在设计上遵循了基于 SDN 实现网络虚拟化的原则,在实现上充分利用了 Linux 系统上的各种网络相关的技术。

NetworkNetwork是一个隔离的二层广播域。Neutron 支持多种类型的 network,包括 Local, FLAT, VLAN, VxLAN 和 GRE。
Subnet从简单意义上来讲,Subnet是一批IP地址的集合。可以是一个 IPv4 或者 IPv6 地址段。instance 的 IP 从 subnet 中分配。每个 subnet 需要定义 IP 地址的范围和掩码。如 10.10.1.0/24 。
Portport 上定义了 MAC 地址和 IP 地址,当 instance 的虚拟网卡 VIF(Virtual Interface) 绑定到 port 时,port 会将 MAC 和 IP 分配给 VIF。
VIF

Virtual Interface,虚拟网卡

对应关系:Project 1 : n Network 1 : n Subnet 1 : n Port 1 : 1 VIF n : 1 Instance

 

三、基本架构

image498.png

Neutron 为整个 OpenStack 环境提供网络支持,包括二层交换,三层路由,负载均衡,防火墙和 VPN 等。Neutron 提供了一个灵活的框架,通过配置,无论是开源还是商业软件都可以被用来实现这些功能。

组件构成:

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值