neutron理解总结(一)

以下内容为网络内容整理,如有侵权部分,通知删除:

Linux环境下网络设备的虚拟化主要有以下几种形式,Neutron也是基于这些技术来完成项目私有虚拟网络network的构建。
(1) TAP/TUN
TAP/TUN
Linux内核实现的一对虚拟网络设备, TAP工作在二层,TUN工作在三层,Linux内核通过TAP/TUN设备向绑定该设备的用户空间程序发送数据,反之,用户空间程序也可以像操作硬件网络设备那样,通 过 TAP/TUN设备发送数据。

(2) Linux Bridge/VLAN
Linux Bridge (
网桥)是工作于二层的虚拟网络设备,功能类似于物理的交换机。
(3) Open vSwitch
Open vSwitch
是一个具有产品级质量的虚拟交换机,它使用C语言进行开发 。可以区分被桥接的物理网卡上流淌的数据包属于哪个VM 、哪 个 OS 及哪个用户。接入到OpenvSwitch上的各个 VM分配到不同的VLAN中实现网络的隔离。
实现了分布式的虚拟交换机(
Distributed Virtual Switch),一个物理Server上的vSwtch可以透明地与另一Server上的vSwitch连接在一起,

neutron理解总结(一)_第1张图片

Neutron Server
对外提供OpenStack网络API,接收请求,并调用Plugin处理请求。

Plugin agent
处理Neutron Server发来的请求,维护OpenStack逻辑网络的状态,并调用Agent处理请求。

Database
存放OpenStack的网络状态信息,包括Network,Subnet,Port,Router等。

Queue
Neutron Server PluginAgent之间通过Messaging Queue通信和调用。

metadata-agent

instance在启动时需要访问nova-metadata-api服务获取metadatauserdata,比如hostname,ippublic key等。该agentinstance能够通过dhcp-agent或者l3-agentnova-metadata-api通信。

Plugin agent

Ml2 agent默认安装组件。最常用的是linux bridageopen vswitch

Dhcp agent

通过dnsmasqinstance提供dhcp服务。

L3 agent

l3 agent可以为project(租户)创建router,提供Neutron subnet之间的路由服务。路由功能默认通过 IPtables 实现。

neutron agent服务:

(1)plug-in agent(neutron-*-agent)

插件代理,需要部署在每一个运行hypervisor的主机上,它提供本地的vSwitch配置,更多的时候得依赖你具体所使用的插件类型。(常用的插件是OpenvSwitch,还包括Big Switch,Floodinght REST Proxy,Brocade, NSX, PLUMgrid, Ryu)

(2)dhcp agent(neutron-dhcp-agent)

DHCP代理,给租户网络提供动态主机配置服务,主要用途是为租户网络内的虚拟机动态地分配IP地址。

(3)l3 agent(neutron-l3-agent)

L3代理,提供三层网络功能和网络地址转换(NAT)功能,来让租户的虚拟机可以与外部网络通信。

(4)metering agent(neutron-metering-agent)

计量代理,为租户网络提供三层网络流量数据计量服务。

Neutron 功能

Neutron为整个OpenStack环境提供网络支持,包括二层交换,三层路由,负载均衡,防火墙和VPN等。

二层交换 Switching

Nova Instance 是通过虚拟交换机连接到虚拟二层网络的。

Neutron 支持多种虚拟交换机,包括 Linux 原生的 Linux Bridge Open vSwitch

三层路由 Routing

Instance 可以配置不同网段的 IPNeutron router(虚拟路由器)实现 instance 跨网段通信。router 通过 IP forwardingiptables 等技术来实现路由和 NAT

负载均衡 Load Balancing

Openstack Grizzly 版本第一次引入了 Load-Balancing-as-a-ServiceLBaaS),提供了将负载分发到多个 instance 的能力。LBaaS 支持多种负载均衡产品和方案,不同的实现以 Plugin 的形式集成到 Neutron,目前默认的 Plugin HAProxy

防火墙 Firewalling

Neutron 通过下面两种方式来保障 instance 和网络的安全性。

Security Group
通过 iptables 限制进出 instance 的网络包。

Firewall-as-a-Service
FWaaS,限制进出虚拟路由器的网络包,也是通过 iptables 实现。

你可能感兴趣的:(虚拟化,neutron,openstack)