§ Traditional Networking - refresher
§ OpenStack integrated projects big picture
§ Why OpenStack Networking is called Neutron now
§ Networking before Neutron
§ Drawbacks of Nova-Networking that led to Neutron
§ OpenStack Networking with Neutron
§ Neutron Overview
§ Available Plugins
§ Neutron Demo
§ Neutron – State of the Nation
Traditional Networking - Refresher
§ Layer 2 Network Connection à
Direct Ethernet connection with no Routing hops (e.g. 192.168.1.10 to 192.168.1.11)
§ Layer 3 Network Connection à
Endpoint can reach each other only through multiple routing hops
§ VLAN – A way to carve up a physical switch into multiple L2 Networks (segments)
VLAN “Trunk” Port / “tagged”
VM VM VM VM
§ Access Port – An Ethernet Port that can only access one VLAN that is statically
configured on the physical switch (no VLAN tag/id – ‘untagged’)
§ Trunk Port – An Ethernet Port that carries multiple VLANs (with VLAN tag/id –
‘untagged’) and connects to other Switches and possibly Hypervisors
Integrated (aka ‘Core’) projects (Grizzly release)
for other projects
Provides Authentication and
Service Catalog for other
Why is OpenStack Networking called Neutron?
§ Before June 19th 2013, OpenStack Networking was named “Quantum”,
hence all the services, APIs, CLI commands hold the name “Quantum”
§ Unfortunately there were trademark issues with the name “Quantum” (see
“Quantum corporation”), therefore all references to “Quantum” need to be
changed in all the Docs, Services Names, APIs, CLI Commands, etc.
§ The new name for OpenStack Networking is now Neutron!
OpenStack Networking before Neutron
§ Nova has its own networking service –
nova-network. It was used before Neutron
§ Nova-network is still present today,
and can be used instead of Neutron
§ Nova-network does § base L2 network provisioning
through Linux Bridge (brctl)
§ IP Address management for
Tenants (in SQL DB)
Libvirt, XenAPI, etc.
§ configure DHCP and DNS
entries in dnsmasq
§ configure fw-policies and NAT
in IPTables (nova-compute)
§ Nova-network only knows 3 basic Network-Models;
§ VLAN based – Every tenant gets a VLAN, DHCP enabled
(iSCSI, LVM, etc.)
(Linux-Bridge or OVS with
brcompat, dnsmasq, IPTables)
§ Flat & Flat DHCP – direct bridging of Instance to external eth. Interface
with and w/o DHCP
Nova-Networking – Drawbacks that lead to develop Neutron
§ Nova-Networking is missing an well defined API for consuming networking
services (tenant API for defined topologies and addresses)
§ Nova-Networking only allows for the 3 simple models;
Flat, Flat/DHCP and VLAN/DHCP, all of those are limited in scale and
flexibility – e.g. max. 4094 VLAN ID limit
§ Closed solution; No ability to use network services from 3rd parties and/or
to integrate with Network vendors or overcome the limitations of NovaNetwork
§ No support for:
§ Advanced OpenVSwitch features like Network Virtualization
(IP-Tunnels instead of VLANs)
§ Multiple user configurable networks per project
§ User configurable routers (L3 Devices)
Key Concepts – Decouple, Reproduce, Automate
L2, L3, L4-7 Network Services
Requirement: IP Transport
General Purpose Server Hardware
General Purpose IP Hardware
Network Virtualization – A technical definition
Network virtualization is:
§ A reproduction of physical networks:
Q: Do you have L2 broadcast / multicast, so apps do not need to be modified?
Q: Do you have the same visibility and control over network behavior?
§ A fully isolated environment:
Q: Could two tenants decide to use the same RFC 1918 private IP space?
Q: Could you clone a network (IPs, MACs, and all) and deploy a second copy?
§ Physical network location independent:
Q: Can two VMs be on the same L2 logical network, while in different physical L2 networks?
Q: Can a VM migrate without disrupting its security policies, packet counters, or flow state?
§ Physical network state independent:
Q: Do physical devices need to be updated when a new network/workloads is provisioned?
Q: Does the application depend on a feature in the physical switch specific to a vendor?
Q: If a physical device died and was replaced, would application details need to be known?
§ Network virtualization is NOT:
Running network functionality in a VM (e.g., Router or Load-balancer VM)
What are the key components of network virtualization?!
OpenStack Neutron – Plugin Concept
• L2 network abstraction definition and management,
IP address management
• Device and service attachment framework
• Does NOT do any actual implementation of
Maps abstraction to implementation on the Network (Overlay e.g. NSX or physical Network)
Makes all decisions about *how* a network is to be implemented
Can provide additional features through API extensions.
Extensions can either be generic (e.g. L3 Router / NAT), or Vendor Specific
Plugins available in the market (incomplete list)
§ OVS Plugin
§ Supports GRE based Overlays, NAT/Security groups, etc.
§ Linux Bridge Plugin
§ Limited to L2 functionality, L3, floating IPs and provider networks.
No support for Overlays
§ VMware NSX (aka Nicira NVP) Plugin
§ Network Virtualization solution with centralized controller + OpenVSwitch (Details
follow in the next few slides)
§ Cisco UCS / Nexus 5000 Plugin
§ Provisions VLANs on Nexus 5000 switches and on UCS Fabric-Interconnect as
well as UCS B-Series Servers network card (palo adapter)
§ Can use GRE and only configure OVS, but then there’s no VLAN provisioning
NEC and Ryu Plugin
§ Openflow Hop-by-Hop implementations with NEC or Ryu controller
§ Other Plugins from Midokura, Juniper (Contrail), Big Switch, Brocade, etc. are in
various stages of development (see links below for details)
Neutron – State of the Nation – What came with Grizzly
§ Multiple new Plugins: Big Switch, Brocade VCS, Midokura, Hyper-V,
§ Great Horizon integration
(topology map, NIC selection, router mgmt.)
§ LBaaS reference Implementation using HAProxy
§ New Metadata implementation that allows for
overlapping IP space
Neutron – State of the Nation – What will be in Havana
§ More services integration;
§ Integrating external Firewalls
§ More Load-Balancing with external Load-Balancers instead of
HAProxy reference implementation
§ VPN reference implementation
§ Improved support for
§ IPv6 (feature parity with IPv4), bare metal PXE boot
§ More and new vendor plugins
§ Nova-Networking migration options
You can find a recording of this session, as well as the
second part (technical Deep Dive) on the OpenStack
Foundation Youtube Channel: