- Neutron provides network abstraction and connectivity as a service for OpenStack. It uses a pluggable architecture with separate components for networking services like L2, L3, VPN, firewall, and load balancing.
- The Neutron server exposes a REST API and uses plugins to interface with networking devices and agents. L2 agents connect virtual ports and isolate tenant traffic. L3 agents route between networks using Linux network namespaces.
- When a VM boots, Neutron creates a port, notifies the DHCP agent, wires the port, and boots the instance while isolating network resources for each tenant. Additional services like load balancing are implemented through plugins and dedicated agents.