neutron为整个openstack环境提供网络支持
二层交换switching
nova的instance是通过虚拟交换机连接到虚拟二层网络的
三层路由routing
instance可以配置不同网段的ip neutron的router实现instance跨网段的通信
负载均衡load balancing
提供将负载分发到多个instance的能力,lbaas支持多种负载均衡产品和方案
防火墙firewallding
neutron通过下面两种方式来保障instance和网络的安全性
- security group
通过iptables限制进出instance的网络包 - firewalld-as-a-service
waas限制进出虚拟路由的网络包,也是通过iptables实现
优点:
openstack中的SDN组件架构也属于可插拔类型
通过各种插件可以管控不同种类的交换机、路由器、防火墙、负载均衡并实现firewalld as a service等许多功能
通过软件来定义网络,可以对云计算设施进行更精细掌控
neutron server分层模型

| core api | 对外提供管理network、subnet和port的restful api |
|---|---|
| extension api | 对外提供管理router、load balance 、firewall等资源的resful api |
| common service | 认证和效验api请求 |
| neutron core | neutron server的核心处理程序,通过调用相应的plugin处理请求 |
| core plugin api | 定义了core plgin的抽像功能集合,neutron core通过该api调用相应的core plgin |
| extension plugin api | 定义了 service plgin 的抽象功能集合, neutron core通过该api调用相应的cservice plgin |
| core plugin | 实现了core plugin api,在数据库中维护了资源的状态、负责调用agent在network provider上执行相关操作 |
| service plugin | 实现了extension plugin api,在数据库中维护了资源的状态、负责调用agent在network provider上执行相关操作 |
归纳起来neutron server包括两部分
- 提供api服务
- 运行plugin插件
openstack有两大常见插件(core plugin)
- linux bridge plugin
- openvswitch plugin
不过随着提供者数量的增加,出现两个问题
- 多种插件不兼容
- 代码的重复性
针对这种情况开发出了ML2
提供一个框架,类似一个多功能接口

ML2对外提供了另种驱动
type driver(类型驱动)
mechanssim driver(机制驱动)

类型驱动:解决了多种服务的共存(vxlan,vlan)
机制驱动:来实现类型驱动的服务
mechanism driver有三种类型
| agent-based | 代理的基本类型 |
|---|---|
| controller-nased | 控制类型 |
基于物理交换机

- Neutron 通过 plugin 和 agent 提供的网络服务。
- plugin 位于 Neutron server,包括 core plugin 和 service plugin。
- agent 位于各个节点,负责实现网络服务。
- core plugin 提供 L2 功能,ML2 是推荐的 plugin。
- 使用最广泛的 L2 agent 是 linux bridage 和 open vswitch。
- service plugin 和 agent 提供扩展功能,包括 dhcp, routing, load balance, firewall, vpn 等。
Neutron是OpenStack中的网络服务组件,提供包括二层交换、三层路由、负载均衡和防火墙等功能。它通过核心API和扩展API对外提供RESTful接口,并使用插件如LinuxBridge和OpenvSwitch实现L2功能。ML2插件框架解决了多种服务共存和代码重复问题,通过类型驱动和机制驱动实现网络服务。Neutronserver通过plugin和agent协同工作,agent在各个节点执行网络操作。
4279

被折叠的 条评论
为什么被折叠?



