SlideShare a Scribd company logo
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 scenes
inbroker
 
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
salv_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 Tucker
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
Sean Roberts
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
Adam Johnson
 
Navigating OpenStack Networking
Navigating OpenStack NetworkingNavigating OpenStack Networking
Navigating OpenStack Networking
PLUMgrid
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014
yfauser
 
OpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual RouterOpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual Router
carlbaldwin
 
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
markmcclain
 
Openstack Basic with Neutron
Openstack Basic with NeutronOpenstack Basic with Neutron
Openstack Basic with Neutron
KwonSun 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 Networking
Ilya Shakhat
 
OpenStack Neutron Liberty Updates
OpenStack Neutron Liberty UpdatesOpenStack Neutron Liberty Updates
OpenStack Neutron Liberty Updates
mestery
 
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
markmcclain
 
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 Neutron
Sana Khan
 
Inside neutron 2
Inside neutron 2Inside neutron 2
Inside neutron 2
Robin Gong
 
OpenStack Neutron new developers on boarding
OpenStack Neutron new developers on boardingOpenStack Neutron new developers on boarding
OpenStack Neutron new developers on boarding
Miguel Lavalle
 
Open Source Backends for OpenStack Neutron
Open Source Backends for OpenStack NeutronOpen Source Backends for OpenStack Neutron
Open Source Backends for OpenStack Neutron
mestery
 
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
mestery
 

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

Networking in Openstack - Neutron 101
Networking in Openstack - Neutron 101Networking in Openstack - Neutron 101
Networking in Openstack - Neutron 101
Mochamad Taufik Romdony
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstack
salv_orlando
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_update
Akihiro Motoki
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorial
mestery
 
OpenStack Astara
OpenStack AstaraOpenStack Astara
OpenStack Astara
Kiran Murari
 
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
Ajit 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 Networking
Thomas Graf
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined Networking
Digicomp 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 Liberty
mestery
 
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
Cloud 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 update
margieOpenStack
 
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
Nicolas (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 VPNs
Thomas Morin
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack Liberty
Michael 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 networking
Antoni 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

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 

Recently uploaded (20)

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

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 ?