码迷,mamicode.com
首页 > 其他好文 > 详细

neutron的原理简介

时间:2015-07-14 06:22:53      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:neutron

Openstack早期 的网络方案

FLAT 

FLATDHCP

VLAN

MULTI-HOST

技术分享

FLAT

指定一个子网,规定虚拟机可使用的IP地址范围;

创建实例时,从有效的ip地址池中取出一个IP,为虚拟机实例分配,然后在虚拟机的启动时候注入虚拟机镜像(文件系统);

手动配置好网桥(br100),所有的系统实例都是和同一个网桥连接;

网桥与连接到网桥的实例组成一个虚拟网络;

网络控制器(nova-network节点)对虚拟机进行nat转换,实现与外网的通信;

目前配置注入只能对linux类型的操作系统的实例正常工作; 

FLATDHCP

与FLAT模式一样,从IP池中取出IP分配给虚拟机实例,所有的实例都在计算节点和一个网桥相关;

网络控制器(运行nova-network服务的节点)运行dnsmasq作为DHCP服务器监听这个网桥;

实例通过DHCP bootp发送请求;

网络控制器从一个指定的子网中获得的IP地址响应给虚拟机实例;

实例通过网络控制器与外网实现互相访问。

技术分享

VLAN

每个用户分配一个VLAN,每个用户创建的Instance在用一个VLAN中;

每个用户分配一个网段,网络控制器上的DHCP服务器为所有的VLAN所启动,为虚拟机分配私有的IP地址;

网络控制器为所有的instance做NAT转换;

解决了二层网络的隔离问题,但是Vlan 4096的限制,导致单个集群只能解决4096个用户使用,符合企业私有云使用,但是不适合公有云;

技术分享

MUTLI-HOST模式

没有集中的nova-network服务,消除了网络瓶颈;

每个nova-compute节点上,同时运行nova-network和dnsmasq,nova-network提供同NAT服务和防火墙服务,dnsmasq负责DHCP IP地址分配;

可以和VLAN配合使用,同一个VLAN里面的虚拟机相互之间可以互通;

符合公有云的部署需求,但是nova-network HA是一个隐患。

技术分享


openstack早些版本的网络问题

传统桥接模式

用户不能自定义网络

网络隔离

大规模部署


云环境网络的挑战

高密度;多租户;大规模扩展;虚拟机的可移植性;资源管理的自动化;价格


企业级客户的期望

用户自定义网络;

丰富的多层拓扑结构;

QoS保证;

防火墙、vpn、IDS、LBAAS等安全服务;

监控和审计;


neutron基本概念

网络连接服务;

提供面向租户(Tenant)的API接口,用户创建虚拟网络,路由器,负载均衡等,关联Instance到指定的网络和路由;

通过API接口管理虚拟和物理交换  

提供pugin架构来支持不同的技术平台;

neutron Private network-提供固定私网地址

neutron public network -提供Floating Ip地址


neutron 中的关键概念

Network:一个L2二层网络单元;租户可以通过Neutron API创建自己的网络;

Subnet:一段IPV4/IPV6地址段;为Instance提供私有或者是公有地址;

router:三层路由器,为租户的Instance提供路由功能;

Port:虚拟交换机的端口;管理Instance的网卡


neutron各个概念之间的对应关系

技术分享

 

neutron组件架构

技术分享

neutron PLugin OpenvSwitch、linux Birdge Cisco NX1000、Nicira NVP、 Ryu

neutron+nova架构

技术分享



neutron组件

技术分享

neutron-server:实现neutron API和API的扩展;管理network、subnet、port;管理port的IP地址

ML2 agent:运行在每个计算节点上,连接虚拟机到网络端口

DHCP agent:负责DHCP配置,为虚拟机分配IP,开始停止DHCP服务器;

L3 agent:负责公网浮动IP地址和nat;负责其他三层特性,例如负载均衡等;每个network对应一个L3agent;

Metadata-agent:提供元数据服务;


neutron和nova API的基本工作流

技术分享

neutron+nova虚拟机启动流程;nova -os_username=admin -os_password=pass -os_tenant_name=adimin _os_auth=http://localhost:5000/v2.0 boot-image imageid -flavor 1 myserver1


技术分享

neutron虚拟机的启动网络流程

技术分享


ML2的结构:

技术分享

neutron ML2

技术分享


Neutron的常见的部署模式:

Sinlge FLAT Netowork:类似于 FlatManager FlatDHCPManager;不支持Floating IP。

技术分享

Muti FLAT Network:类似于 FlatManager FlatDHCPManager;不支持Floating IP。

技术分享

Mixed Flat and Private Network

技术分享

Provider Router with private network

技术分享

Per-tenant Routers with private network技术分享

本文出自 “gaogaozi” 博客,请务必保留此出处http://hangtiangazi.blog.51cto.com/8584103/1673914

neutron的原理简介

标签:neutron

原文地址:http://hangtiangazi.blog.51cto.com/8584103/1673914

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!