SlideShare a Scribd company logo
1 of 26
Download to read offline
OpenStack Neutron &
Software Defined Networks (SDN)
OpenStack BCN MeetUp - March 2014
Iñaki Pascual – Software Engineer
Neutron & SDN OpenStack BCN MeetUp - March 2014
Acknowledgments
I want to thank all the developers and members in OpenStack Community, OpenStack
Foundation and Open Networking Foundation. Also to my colleges in PLUMgrid Inc.
Information presented here is sourced from my own experience as PLUMgrid employee and from:
● OpenStack Foundation Documents & Community
● Open Networking Foundation
● Stanford Seminar 2013 - “Software-Defined Networking at the Crossroads” by Scott Shenker,
University of California, Berkeley http://www.youtube.com/watch?v=WabdXYzCAOU
● OpenStack Summit Presentations
“OpenStack Neutron Modular Layer 2 Plugin Deep Dive"
By: Kyle Mestery,Robert Kukura in OpenStack
https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentat
ion/openstack-neutron-modular-layer-2-plugin-deep-dive
● PLUMgrid Inc, http://plumgrid.com/resources/
Views and technical points expressed here are solely presenter’s and doesn’t reflect the
views/positions of PLUMgrid Inc in any way.
Neutron & SDN OpenStack BCN MeetUp - March 2014
Agenda
● Demo. Intro to Neutron (Havana release).
● Dashboard and CLI overview.
● Create networks, spawn VMs, test connectivity.
● Floating IPs, create, assign. Test external connectivity.
● Load Balancer create and test.
● Test isolation of overlapping networks.
● Slides. Neutron Overview
● Network as a Service *(NaaS)
● Components
● Architecture
● New plugin ML2.
● Demo. Neutron.
● REST API example with curl.
● View components, network namespaces, soft switches.
● Slides. SDN.
● Definition, architecture.
● Virtual Networks.
● Software Edges.
● Example: PLUMgrid.
● Conclusions. Neutron and SDN.
Neutron & SDN OpenStack BCN MeetUp - March 2014
Demo
Dashboard and CLI overview.
Create Networks, spawn VMs, test connectivity.
Create and assign floating IPs, test external access.
Load balancer create and test.
Overlapping IPs, test tenant isolation.
Neutron & SDN OpenStack BCN MeetUp - March 2014
Neutron in Openstack
Neutron & SDN OpenStack BCN MeetUp - March 2014
Neutron in Openstack
Neutron & SDN OpenStack BCN MeetUp - March 2014
Network as a Service (NaaS)
● Provides REST APIs to manage network connections for the
resources managed by other OpenStack Services (e.g. Nova)
● Technology Agnostic (framework based on “plug-ins”)
● Multi-tenancy: Isolation, Abstraction, full control over virtual
networks
● Modular Design: API specifies service, vendor provides its
implementation. Extensions for vendor-specific features.
● Standalone Service : It is not exclusive to OpenStack. Neutron
is an autonomous service
● Exposes vendor-specific network virtualization and SDN
technologies
Neutron & SDN OpenStack BCN MeetUp - March 2014
Neutron Components
Neutron & SDN OpenStack BCN MeetUp - March 2014
Neutron Components
Neutron Server
● Runs on Controller node.
● Exposes API. Enforces network model.
● Passes requests to Neutron plugin.
Neutron Plugin
● Runs on Controller node.
● Implements the API.
● Interacts with neutron server, database and agents.
Queue
● Enhance communication between each components of neutron
Database
● Persistent network model
Plugin agent (*)
● Run on each compute node
● Connect instances to network port
DHCP Agent (*)
● Start/stop dhcp server
● Maintain dhcp configuration
L3 Agent (*)
● To implement floating IPs and other L3 features, such as NAT
(*) These components may be overridden by the plug-in
Neutron & SDN OpenStack BCN MeetUp - March 2014
Modular Layer 2 Plug-in (ML2)
● New in Havana, deprecates the OpenVSwitch and LinuxBridge plug-ins
(but not the agents).
● Modularity through drivers:
● TypeDrivers: flat, VLAN, GRE...
● Mechanism Drivers: OVS, LinuxBridge...
● One mechanism Driver may support several Type Drivers.
● Vendors may implement a new plug-in or a mechanism driver.
Neutron & SDN OpenStack BCN MeetUp - March 2014
Network Devices – Compute Node
Neutron & SDN OpenStack BCN MeetUp - March 2014
Network Devices - Network Node.
Neutron & SDN OpenStack BCN MeetUp - March 2014
Demo (II)
Neutron REST API, example with curl.
Neutron Internals:
Network namespaces – DHCP, Router, LoadBalancer
OVS Bridges - VLANs
Neutron & SDN OpenStack BCN MeetUp - March 2014
Demo (II)
Neutron API example with cURL.
How to update a network:
1.- get the token from keystone
2.- list existing networks to get id of network to update
3.- update network name
After these, check in Dashboard that name has actually changed
$ export IP=<host_ip>
$ export PASS=<admin_password>
$ curl -d "{"auth":{"tenantName": "admin", "passwordCredentials":
{"username": "admin", "password": "$PASS"}}}" -H "Content-type: application/json"
http://$IP:35357/v2.0/tokens
$ export TOKEN=<token_id>
$ curl -H "X-Auth-Token: $TOKEN" http://$IP:9696/v2.0/networks
$ export NET=<network_id>
$ curl -H "X-Auth-Token: $TOKEN" -X PUT -d '{"network": {"name": "network_updated"}}'
http://10.0.2.15:9696/v2.0/networks/$NET.json
APIs:
http://docs.openstack.org/api/openstack-identity-service/2.0/content/POST_authenticate_v2.0_
tokens_.html
https://wiki.openstack.org/wiki/Neutron/APIv2-specification#API_Operations
Neutron & SDN OpenStack BCN MeetUp - March 2014
Demo (II)
Show soft bridges. We can see the vlan tags in integration bridge.
$ sudo ovs-vsctl show
e80f467f-bd33-452a-a495-e7c89736c552
Bridge br-int
Port "tap0b53fd22-35"
tag: 2
Interface "tap0b53fd22-35"
Port "tapd7e7242f-64"
tag: 3
Interface "tapd7e7242f-64"
Port br-int
Interface br-int
type: internal
Port "qr-63a50193-d2"
tag: 2
Interface "qr-63a50193-d2"
type: internal
Port "qr-2ad51820-c7"
tag: 1
Interface "qr-2ad51820-c7"
type: internal
Port "tap2f696f92-6c"
tag: 2
Interface "tap2f696f92-6c"
type: internal
...
Neutron & SDN OpenStack BCN MeetUp - March 2014
Demo (II)
Show network namespaces
$ ip netns show
qlbaas-9035ea38-1916-4cf9-855f-06f1a41b1899
qdhcp-a389d59d-5275-4470-9edf-44bf7de6cb0f
qdhcp-f030bfa9-5209-477b-a260-e0bc552ebffd
qrouter-9de1459b-c453-485c-b89e-99cb09e82371
qrouter-91a3612b-835c-400b-b8db-6d11dade6b11
Neutron & SDN OpenStack BCN MeetUp - March 2014
Demo (II)
Execute commands in network namespaces
$ sudo ip netns exec qdhcp-a389d59d-5275-4470-9edf-44bf7de6cb0f ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
tapae991773-bd Link encap:Ethernet HWaddr fa:16:3e:80:a8:0f
inet addr:30.0.0.4 Bcast:30.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fe80:a80f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:40 errors:0 dropped:0 overruns:0 frame:0
TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5048 (5.0 KB) TX bytes:3074 (3.0 KB)
inaki@precise:~/devstack$ sudo ip netns exec qdhcp-a389d59d-5275-4470-9edf-44bf7de6cb0f
tcpdump -i tapae991773-bd
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tapae991773-bd, link-type EN10MB (Ethernet), capture size 65535 bytes
Neutron & SDN OpenStack BCN MeetUp - March 2014
SDN Introduction
● Why SDN?:
● Networks have a high operational cost.
● Networks are difficult to evolve.
● There is a need for NaaS
● 2008: The Open Networking Foundation (ONF) releases
OpenFlow (Standford University) and NOX (Nicira).
● There was previous efforts like Software Defined Radio, MPLS
and other works in Universities and Companies' labs.
Neutron & SDN OpenStack BCN MeetUp - March 2014
SDN Definition (by Open Networking Foundation)
Neutron & SDN OpenStack BCN MeetUp - March 2014
SDN Architecture
Neutron & SDN OpenStack BCN MeetUp - March 2014
Network Virtualization
● In the original SDN 3-layer architecture,
the control programs are aware of the
underlying physical network.
● New intermediate layer allows operator
to express his needs in a higher level
language, so decoupling from the
physical infrastructure.
● Network hypervisor will convert them
into Network OS language.
● Allows the creation of tenant isolated
virtual networks.
Neutron & SDN OpenStack BCN MeetUp - March 2014
Core/Edge Nodes Differentiation
● Concept borrowed from MPLS. Two
different kind of nodes: core/edge.
● Core: Transport packets among edge
nodes.
● Edges: nodes connected to hosts.
● All functionalities can be moved to
edges while core can focus on
transport.
● Edge nodes became Software Edges.
● SDN Controller need to talk only to
edge nodes.
● Actually part of the SDN work can be
done by the software edges.
Neutron & SDN OpenStack BCN MeetUp - March 2014
SDN Example: PLUMgrid.
http://plumgrid.com/resources/
Neutron & SDN OpenStack BCN MeetUp - March 2014
Neutron & SDN
● Centralized control plane allows creating isolated
tenant virtual networks.
● Compute nodes are the software edges.
● Neutron enforces SDN but actually delegates its
implementation and functionalities to the plugin.
Neutron & SDN OpenStack BCN MeetUp - March 2014
Thank you!
Neutron & SDN OpenStack BCN MeetUp - March 2014
?

More Related Content

What's hot

Neutron behind the scenes
Neutron   behind the scenesNeutron   behind the scenes
Neutron behind the scenesinbroker
 
How to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need toHow to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need tosalv_orlando
 
OpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew TuckerOpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew TuckerLew Tucker
 
OpenStack Neutron Advanced Services by Akanda
OpenStack Neutron Advanced Services by AkandaOpenStack Neutron Advanced Services by Akanda
OpenStack Neutron Advanced Services by AkandaSean Roberts
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and AutomationAdam Johnson
 
Navigating OpenStack Networking
Navigating OpenStack NetworkingNavigating OpenStack Networking
Navigating OpenStack NetworkingPLUMgrid
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014yfauser
 
OpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual RouterOpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual Routercarlbaldwin
 
Bridges and Tunnels a Drive Through OpenStack Networking
Bridges and Tunnels a Drive Through OpenStack NetworkingBridges and Tunnels a Drive Through OpenStack Networking
Bridges and Tunnels a Drive Through OpenStack Networkingmarkmcclain
 
Openstack Basic with Neutron
Openstack Basic with NeutronOpenstack Basic with Neutron
Openstack Basic with NeutronKwonSun Bae
 
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...markmcclain
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack NetworkingIlya Shakhat
 
OpenStack Neutron Liberty Updates
OpenStack Neutron Liberty UpdatesOpenStack Neutron Liberty Updates
OpenStack Neutron Liberty Updatesmestery
 
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networkingmarkmcclain
 
OpenStack networking (Neutron)
OpenStack networking (Neutron) OpenStack networking (Neutron)
OpenStack networking (Neutron) CREATE-NET
 
Introduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronIntroduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronSana Khan
 
Inside neutron 2
Inside neutron 2Inside neutron 2
Inside neutron 2Robin Gong
 
OpenStack Neutron new developers on boarding
OpenStack Neutron new developers on boardingOpenStack Neutron new developers on boarding
OpenStack Neutron new developers on boardingMiguel Lavalle
 
Open Source Backends for OpenStack Neutron
Open Source Backends for OpenStack NeutronOpen Source Backends for OpenStack Neutron
Open Source Backends for OpenStack Neutronmestery
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014mestery
 

What's hot (20)

Neutron behind the scenes
Neutron   behind the scenesNeutron   behind the scenes
Neutron behind the scenes
 
How to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need toHow to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need to
 
OpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew TuckerOpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew Tucker
 
OpenStack Neutron Advanced Services by Akanda
OpenStack Neutron Advanced Services by AkandaOpenStack Neutron Advanced Services by Akanda
OpenStack Neutron Advanced Services by Akanda
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
 
Navigating OpenStack Networking
Navigating OpenStack NetworkingNavigating OpenStack Networking
Navigating OpenStack Networking
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014
 
OpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual RouterOpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual Router
 
Bridges and Tunnels a Drive Through OpenStack Networking
Bridges and Tunnels a Drive Through OpenStack NetworkingBridges and Tunnels a Drive Through OpenStack Networking
Bridges and Tunnels a Drive Through OpenStack Networking
 
Openstack Basic with Neutron
Openstack Basic with NeutronOpenstack Basic with Neutron
Openstack Basic with Neutron
 
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
OpenStack Neutron Liberty Updates
OpenStack Neutron Liberty UpdatesOpenStack Neutron Liberty Updates
OpenStack Neutron Liberty Updates
 
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
 
OpenStack networking (Neutron)
OpenStack networking (Neutron) OpenStack networking (Neutron)
OpenStack networking (Neutron)
 
Introduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronIntroduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack Neutron
 
Inside neutron 2
Inside neutron 2Inside neutron 2
Inside neutron 2
 
OpenStack Neutron new developers on boarding
OpenStack Neutron new developers on boardingOpenStack Neutron new developers on boarding
OpenStack Neutron new developers on boarding
 
Open Source Backends for OpenStack Neutron
Open Source Backends for OpenStack NeutronOpen Source Backends for OpenStack Neutron
Open Source Backends for OpenStack Neutron
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
 

Similar to Openstack Neutron and SDN

Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstacksalv_orlando
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_updateAkihiro Motoki
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorialmestery
 
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdf
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdfOpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdf
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdfAjit Dash
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingThomas Graf
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingDigicomp Academy AG
 
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward LibertyOpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward Libertymestery
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVCloud Native Day Tel Aviv
 
Shared networks to support VNF high availability across OpenStack multi-regio...
Shared networks to support VNF high availability across OpenStack multi-regio...Shared networks to support VNF high availability across OpenStack multi-regio...
Shared networks to support VNF high availability across OpenStack multi-regio...Joe Huang
 
Networking Updates - Juno Edition
Networking Updates - Juno Edition Networking Updates - Juno Edition
Networking Updates - Juno Edition OpenStack Foundation
 
Open stack networking juno update
Open stack networking juno updateOpen stack networking juno update
Open stack networking juno updatemargieOpenStack
 
OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07Nicolas (Nick) Barcet
 
Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Affan Syed
 
Openstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsOpenstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsThomas Morin
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack LibertyMichael Solberg
 
Kuryr kubernetes: the seamless path to adding pods to your datacenter networking
Kuryr kubernetes: the seamless path to adding pods to your datacenter networkingKuryr kubernetes: the seamless path to adding pods to your datacenter networking
Kuryr kubernetes: the seamless path to adding pods to your datacenter networkingAntoni Segura Puimedon
 
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...Cisco Canada
 
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...Cloud Native Day Tel Aviv
 

Similar to Openstack Neutron and SDN (20)

Networking in Openstack - Neutron 101
Networking in Openstack - Neutron 101Networking in Openstack - Neutron 101
Networking in Openstack - Neutron 101
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstack
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_update
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorial
 
OpenStack Astara
OpenStack AstaraOpenStack Astara
OpenStack Astara
 
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdf
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdfOpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdf
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdf
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined Networking
 
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward LibertyOpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
 
Shared networks to support VNF high availability across OpenStack multi-regio...
Shared networks to support VNF high availability across OpenStack multi-regio...Shared networks to support VNF high availability across OpenStack multi-regio...
Shared networks to support VNF high availability across OpenStack multi-regio...
 
Networking Updates - Juno Edition
Networking Updates - Juno Edition Networking Updates - Juno Edition
Networking Updates - Juno Edition
 
Open stack networking juno update
Open stack networking juno updateOpen stack networking juno update
Open stack networking juno update
 
OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07
 
Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)
 
Openstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsOpenstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNs
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack Liberty
 
Kuryr kubernetes: the seamless path to adding pods to your datacenter networking
Kuryr kubernetes: the seamless path to adding pods to your datacenter networkingKuryr kubernetes: the seamless path to adding pods to your datacenter networking
Kuryr kubernetes: the seamless path to adding pods to your datacenter networking
 
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
 
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
 

Recently uploaded

A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...itnewsafrica
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 

Recently uploaded (20)

A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 

Openstack Neutron and SDN

  • 1. OpenStack Neutron & Software Defined Networks (SDN) OpenStack BCN MeetUp - March 2014 Iñaki Pascual – Software Engineer
  • 2. Neutron & SDN OpenStack BCN MeetUp - March 2014 Acknowledgments I want to thank all the developers and members in OpenStack Community, OpenStack Foundation and Open Networking Foundation. Also to my colleges in PLUMgrid Inc. Information presented here is sourced from my own experience as PLUMgrid employee and from: ● OpenStack Foundation Documents & Community ● Open Networking Foundation ● Stanford Seminar 2013 - “Software-Defined Networking at the Crossroads” by Scott Shenker, University of California, Berkeley http://www.youtube.com/watch?v=WabdXYzCAOU ● OpenStack Summit Presentations “OpenStack Neutron Modular Layer 2 Plugin Deep Dive" By: Kyle Mestery,Robert Kukura in OpenStack https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentat ion/openstack-neutron-modular-layer-2-plugin-deep-dive ● PLUMgrid Inc, http://plumgrid.com/resources/ Views and technical points expressed here are solely presenter’s and doesn’t reflect the views/positions of PLUMgrid Inc in any way.
  • 3. Neutron & SDN OpenStack BCN MeetUp - March 2014 Agenda ● Demo. Intro to Neutron (Havana release). ● Dashboard and CLI overview. ● Create networks, spawn VMs, test connectivity. ● Floating IPs, create, assign. Test external connectivity. ● Load Balancer create and test. ● Test isolation of overlapping networks. ● Slides. Neutron Overview ● Network as a Service *(NaaS) ● Components ● Architecture ● New plugin ML2. ● Demo. Neutron. ● REST API example with curl. ● View components, network namespaces, soft switches. ● Slides. SDN. ● Definition, architecture. ● Virtual Networks. ● Software Edges. ● Example: PLUMgrid. ● Conclusions. Neutron and SDN.
  • 4. Neutron & SDN OpenStack BCN MeetUp - March 2014 Demo Dashboard and CLI overview. Create Networks, spawn VMs, test connectivity. Create and assign floating IPs, test external access. Load balancer create and test. Overlapping IPs, test tenant isolation.
  • 5. Neutron & SDN OpenStack BCN MeetUp - March 2014 Neutron in Openstack
  • 6. Neutron & SDN OpenStack BCN MeetUp - March 2014 Neutron in Openstack
  • 7. Neutron & SDN OpenStack BCN MeetUp - March 2014 Network as a Service (NaaS) ● Provides REST APIs to manage network connections for the resources managed by other OpenStack Services (e.g. Nova) ● Technology Agnostic (framework based on “plug-ins”) ● Multi-tenancy: Isolation, Abstraction, full control over virtual networks ● Modular Design: API specifies service, vendor provides its implementation. Extensions for vendor-specific features. ● Standalone Service : It is not exclusive to OpenStack. Neutron is an autonomous service ● Exposes vendor-specific network virtualization and SDN technologies
  • 8. Neutron & SDN OpenStack BCN MeetUp - March 2014 Neutron Components
  • 9. Neutron & SDN OpenStack BCN MeetUp - March 2014 Neutron Components Neutron Server ● Runs on Controller node. ● Exposes API. Enforces network model. ● Passes requests to Neutron plugin. Neutron Plugin ● Runs on Controller node. ● Implements the API. ● Interacts with neutron server, database and agents. Queue ● Enhance communication between each components of neutron Database ● Persistent network model Plugin agent (*) ● Run on each compute node ● Connect instances to network port DHCP Agent (*) ● Start/stop dhcp server ● Maintain dhcp configuration L3 Agent (*) ● To implement floating IPs and other L3 features, such as NAT (*) These components may be overridden by the plug-in
  • 10. Neutron & SDN OpenStack BCN MeetUp - March 2014 Modular Layer 2 Plug-in (ML2) ● New in Havana, deprecates the OpenVSwitch and LinuxBridge plug-ins (but not the agents). ● Modularity through drivers: ● TypeDrivers: flat, VLAN, GRE... ● Mechanism Drivers: OVS, LinuxBridge... ● One mechanism Driver may support several Type Drivers. ● Vendors may implement a new plug-in or a mechanism driver.
  • 11. Neutron & SDN OpenStack BCN MeetUp - March 2014 Network Devices – Compute Node
  • 12. Neutron & SDN OpenStack BCN MeetUp - March 2014 Network Devices - Network Node.
  • 13. Neutron & SDN OpenStack BCN MeetUp - March 2014 Demo (II) Neutron REST API, example with curl. Neutron Internals: Network namespaces – DHCP, Router, LoadBalancer OVS Bridges - VLANs
  • 14. Neutron & SDN OpenStack BCN MeetUp - March 2014 Demo (II) Neutron API example with cURL. How to update a network: 1.- get the token from keystone 2.- list existing networks to get id of network to update 3.- update network name After these, check in Dashboard that name has actually changed $ export IP=<host_ip> $ export PASS=<admin_password> $ curl -d "{"auth":{"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "$PASS"}}}" -H "Content-type: application/json" http://$IP:35357/v2.0/tokens $ export TOKEN=<token_id> $ curl -H "X-Auth-Token: $TOKEN" http://$IP:9696/v2.0/networks $ export NET=<network_id> $ curl -H "X-Auth-Token: $TOKEN" -X PUT -d '{"network": {"name": "network_updated"}}' http://10.0.2.15:9696/v2.0/networks/$NET.json APIs: http://docs.openstack.org/api/openstack-identity-service/2.0/content/POST_authenticate_v2.0_ tokens_.html https://wiki.openstack.org/wiki/Neutron/APIv2-specification#API_Operations
  • 15. Neutron & SDN OpenStack BCN MeetUp - March 2014 Demo (II) Show soft bridges. We can see the vlan tags in integration bridge. $ sudo ovs-vsctl show e80f467f-bd33-452a-a495-e7c89736c552 Bridge br-int Port "tap0b53fd22-35" tag: 2 Interface "tap0b53fd22-35" Port "tapd7e7242f-64" tag: 3 Interface "tapd7e7242f-64" Port br-int Interface br-int type: internal Port "qr-63a50193-d2" tag: 2 Interface "qr-63a50193-d2" type: internal Port "qr-2ad51820-c7" tag: 1 Interface "qr-2ad51820-c7" type: internal Port "tap2f696f92-6c" tag: 2 Interface "tap2f696f92-6c" type: internal ...
  • 16. Neutron & SDN OpenStack BCN MeetUp - March 2014 Demo (II) Show network namespaces $ ip netns show qlbaas-9035ea38-1916-4cf9-855f-06f1a41b1899 qdhcp-a389d59d-5275-4470-9edf-44bf7de6cb0f qdhcp-f030bfa9-5209-477b-a260-e0bc552ebffd qrouter-9de1459b-c453-485c-b89e-99cb09e82371 qrouter-91a3612b-835c-400b-b8db-6d11dade6b11
  • 17. Neutron & SDN OpenStack BCN MeetUp - March 2014 Demo (II) Execute commands in network namespaces $ sudo ip netns exec qdhcp-a389d59d-5275-4470-9edf-44bf7de6cb0f ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) tapae991773-bd Link encap:Ethernet HWaddr fa:16:3e:80:a8:0f inet addr:30.0.0.4 Bcast:30.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::f816:3eff:fe80:a80f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:40 errors:0 dropped:0 overruns:0 frame:0 TX packets:25 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5048 (5.0 KB) TX bytes:3074 (3.0 KB) inaki@precise:~/devstack$ sudo ip netns exec qdhcp-a389d59d-5275-4470-9edf-44bf7de6cb0f tcpdump -i tapae991773-bd tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on tapae991773-bd, link-type EN10MB (Ethernet), capture size 65535 bytes
  • 18. Neutron & SDN OpenStack BCN MeetUp - March 2014 SDN Introduction ● Why SDN?: ● Networks have a high operational cost. ● Networks are difficult to evolve. ● There is a need for NaaS ● 2008: The Open Networking Foundation (ONF) releases OpenFlow (Standford University) and NOX (Nicira). ● There was previous efforts like Software Defined Radio, MPLS and other works in Universities and Companies' labs.
  • 19. Neutron & SDN OpenStack BCN MeetUp - March 2014 SDN Definition (by Open Networking Foundation)
  • 20. Neutron & SDN OpenStack BCN MeetUp - March 2014 SDN Architecture
  • 21. Neutron & SDN OpenStack BCN MeetUp - March 2014 Network Virtualization ● In the original SDN 3-layer architecture, the control programs are aware of the underlying physical network. ● New intermediate layer allows operator to express his needs in a higher level language, so decoupling from the physical infrastructure. ● Network hypervisor will convert them into Network OS language. ● Allows the creation of tenant isolated virtual networks.
  • 22. Neutron & SDN OpenStack BCN MeetUp - March 2014 Core/Edge Nodes Differentiation ● Concept borrowed from MPLS. Two different kind of nodes: core/edge. ● Core: Transport packets among edge nodes. ● Edges: nodes connected to hosts. ● All functionalities can be moved to edges while core can focus on transport. ● Edge nodes became Software Edges. ● SDN Controller need to talk only to edge nodes. ● Actually part of the SDN work can be done by the software edges.
  • 23. Neutron & SDN OpenStack BCN MeetUp - March 2014 SDN Example: PLUMgrid. http://plumgrid.com/resources/
  • 24. Neutron & SDN OpenStack BCN MeetUp - March 2014 Neutron & SDN ● Centralized control plane allows creating isolated tenant virtual networks. ● Compute nodes are the software edges. ● Neutron enforces SDN but actually delegates its implementation and functionalities to the plugin.
  • 25. Neutron & SDN OpenStack BCN MeetUp - March 2014 Thank you!
  • 26. Neutron & SDN OpenStack BCN MeetUp - March 2014 ?