Open vSwitch
Linux Bridge
Cisco NX1000
Nicira NVP
Ryu
NEC OpenFlow
Floodnight
20.
Dashboard /
Automation Tools
NovaService
XenServer #1
Neutron Plugin
nova-api
Hypervisor
vswitch
nova-scheduler
nova-compute
Tenant API Tenant API
Internal Plugin
Communication
Internal nova
Communication
Neutron APINeutron
Service
21.
Neutron
server & ml2
lm2
agent
DHCPagent
DBQueue
■Neutron Server
实现Neutron API和API扩展
管理Network,subnet,port
管理port的IP地址
■ML2 agent
运行在每个计算节点上(compute node)
连接虚拟机到网络端口
■DHCP agent
负责DHCP配置,为虚拟机分配IP
开始/停止dhcp服务器In multi-host
mode, run on each compute node
(deferred)
Start/stop dhcp server
Maintain dhcp configuration
L3-agent
负责公网浮动ip地址和NAT
负责其他三层特性,例如负载均衡等
每个network对应一个L3 agent
Metadata-agent
提供元数据服务Neutron L3-agent,
dhcp-agent, nova metadata API
server
DB和Queue可以和其他组件共享
l3-agent
metadata-agent
Source: http://sdrv.ms/YdnQYS
22.
API Client NeutronServer
Create Network (POST /tenant1/network)
Network UUID: ‘abc’
Create Server (POST /tenant1/server)
Nova Server
Server UUID: ‘def’
Get Server Interface(s) (GET /tenant1/server/def/interface)
Server Interface UUID List: [ ‘ghi’ ]
Create Port on Network (POST /tenant1/network/abc/port)
Port UUID ‘jkl’
Attach Interface to port (PUT /tenant1/network/abc/port/jkl) { ‘attachment’ : ‘ghi’ }
Success