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

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

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 ?