SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Software-Defined Networking and
      the Floodlight controller


Mike Cohen
Big Switch Networks
Mike.cohen@bigswitch.com

Alex Reimers
Big Switch Networks
Alex.reimers@bigswitch.com
Agenda

                             Overview


                             Architecture


                             Applications


                             Demo


©2012 – Big Switch Networks Inc.
Big Switch Networks

            Overview                                    People @ Big Switch
            Big Switch Networks is a market leader in
                                                                       Guido Appenzeller
            Software-Defined Networking and a strong                   CEO, Big Switch Networks
            proponent of OpenFlow technology                           Former Consulting Assistant Professor
                                                                       at Stanford University, led the team that
                                                                       developed OpenFlow 1.0
            Open Source Projects include:
             Floodlight                                                Rob Sherwood
                                                                        MTS, Big Switch Networks
             Indigo                                                    Author of FlowVisor and key architect
             OFTest                                                    of OpenFlow 1.0

             More to come…
                                                                        Dan Talayco
                                                                        MTS, Big Switch Networks
                                                                        Former member of the Stanford
                                                                        OpenFlow Team. Led development of
            Yes, we’re hiring!                                          the Indigo reference implementation
             Contact me or careers@bigswitch.com       Others include:
                                                        Isabelle Guis, Omar Baldonado, Howie Xu, Mansour
                                                        Karam, Nick Bastin, Saurav Das, and many others…

©2012 – Big Switch Networks Inc.                                                                            3
Floodlight Overview




©2012 – Big Switch Networks Inc.
Floodlight Overview
            An Apache licensed OpenFlow Controller

             Developer friendly Apache license

             Easy to use, extensible Java development
                   environment

             Enterprise grade - Core engine used and
                   supported by Big Switch Networks (running in
                   production today)

             Supports a broad range of physical and virtual
                   OpenFlow switches

             OF 1.0 compliant today – future OF versions on
                   the way


©2012 – Big Switch Networks Inc.                                  5
Floodlight Users and Contributors




                                          Floodlight Adopters:
                                          • University research
                                          • Networking vendors
                                          • Users
                                          • Developers / startups
©2012 – Big Switch Networks Inc.                                    6
Floodlight Switch Compatibility
            A snapshot from Interop




©2012 – Big Switch Networks Inc.              7
Floodlight Growth
            Downloads of Floodlight since January launch
                7000
                                   • Over 200 mailing list posts / month
                6000               • Run rate of 1200+ downloads / month

                5000

                4000

                3000
                                                                           Mailing list
                2000                                                       posts per
                                                                           month

                1000

                        0




©2012 – Big Switch Networks Inc.                                                          8
Building Floodlight
            Fast…and easy…

            Download from Github
            $ git clone git://github.com/floodlight/floodlight.git

            $ sudo apt-get install build-essential default-jdk ant python-dev

            $ cd floodlight; ant

            $ java –jar target/floodlight.jar


            Get the VM (including mininet)
            $ wget http://floodlight.openflowhub.org/files/floodlight-vm.zip

            (login as “floodlight” user, no password)


©2012 – Big Switch Networks Inc.                                                9
Floodlight Roadmap

           Recently launched:           Roadmap:
                                         OpenFlow 1.x support
            Module system
                                         Command line interface
            Ubuntu PPA’s
                                         Persistent storage
            Quantum / OpenStack         Python / Jython support
            Web UI                      Firewall, Load balancer
                                          apps
            Performance improvements
                                         Web UI 2.0
                                         Stable northbound APIs
                                         Better Documentation
©2012 – Big Switch Networks Inc.                                    10
Programming Floodlight




©2012 – Big Switch Networks Inc.
Floodlight Architecture
            Overview
                                    FloodlightProvider
                               (IFloodlightProviderService)    Floodlight is a collection of modules
                                    TopologyManager
                               (ITopologyManagerService)

                                        LinkDiscovery          Some modules (not all) export
                                   (ILinkDiscoveryService)
                                                                services
                                         Forwarding

                                      DeviceManager            All modules in Java
                                      (IDeviceService)

                                        StorageSource
                                   (IStorageSourceService)     Rich, extensible REST API
                                         RestServer
                                      (IRestApiService)

                                    StaticFlowPusher
                               (IStaticFlowPusherService)

                                   VirtualNetworkFilter
                             (IVirtualNetworkFilterService)
©2012 – Big Switch Networks Inc.                                                                  12
Floodlight Architecture
            Module descriptions
                                    FloodlightProvider           Translates OF messages to Floodlight events
                               (IFloodlightProviderService)      Managing connections to switches via Netty

                                    TopologyManager              Computes shortest path using Dijsktra
                               (ITopologyManagerService)         Keeps switch to cluster mappings

                                        LinkDiscovery            Maintains state of links in network
                                   (ILinkDiscoveryService)       Sends out LLDPs

                                                                 Installs flow mods for end-to-end routing
                                         Forwarding
                                                                 Handles island routing
                                      DeviceManager              Tracks hosts on the network
                                      (IDeviceService)           MAC -> switch,port, MAC->IP, IP->MAC

                                        StorageSource            DB style storage (queries, etc)
                                   (IStorageSourceService)       Modules can access all data and subscribe to changes
                                         RestServer              Implements via Restlets (restlet.org)
                                      (IRestApiService)          Modules export RestletRoutable
                                    StaticFlowPusher             Supports the insertion and removal of static flows
                               (IStaticFlowPusherService)        REST-based API

                                   VirtualNetworkFilter          Create layer 2 domain defined by MAC address
                             (IVirtualNetworkFilterService)      Used for OpenStack / Quantum
©2012 – Big Switch Networks Inc.                                                                                         13
Floodlight Programming Model
            Northbound APIs

            IFloodlightModule

                  Java module that runs as part of Floodlight
                                                                                            External
                  Consumes services and events exported by                                Application
                   other modules
                           OpenFlow (ie. Packet-in)
                           Switch add / remove                                                   REST
                                                                   IFloodlight-
                           Device add /remove / move                Module
                           Link discovery

                                                                      Floodlight Controller
            External Application

                  Communicates with Floodlight via REST                     Switch
                    Quantum / Virtual networks                                                     Switch
                    Normalized network state
                                                                                      vSwitch
                    Static flows                                Switch
©2012 – Big Switch Networks Inc.                                                                         14
REST API Reference
            A moving target…but…
          Network State              Static Flows          Virtual Network   User Extensions

          List Hosts                 Add Flow              Create Network    …

          List Links                 Delete Flow           Delete Network

          List Switches              List Flows            Add Host

          GetStats (DPID)            RemoveAll Flows       Remove Host

          GetCounters
          (OFType…)



                                           Floodlight Controller

                                                  Switch
                                                                                  Switch
                            Switch
                                                              vSwitch
©2012 – Big Switch Networks Inc.                                                               15
Programming Floodlight (1)
            Using the REST API

            Fine-grained ability to
                   push flows over REST



            Access to normalized
                   topology and device state



            Extensible access to add
                   new APIs



©2012 – Big Switch Networks Inc.               16
Programming Floodlight (2)
            Creating a module

             Handle OpenFlow
                   messages directly (ie.
                   PacketIn)



             Expose services to other
                   modules



             Add new REST APIs



©2012 – Big Switch Networks Inc.            17
Cool Floodlight Applications




©2012 – Big Switch Networks Inc.
                                                        1
Programmable Patch Panel
            A Floodlight iPhone application

             A simple programmable patch panel built
                   from:
                    Floodlight
                    Pronto 3290 switch running Indigo
             Uses Static Flow Pusher API to redirect
                   traffic between two ports




             Runs remotely on the iPhone!
             Available:
                   http://virtualnow.net/2012/05/03/using-
                   an-openflow-switch-as-a-programmable-
                   patch-panel/

©2012 – Big Switch Networks Inc.                             19
vArmour: Security for OpenFlow

             Founded by security veterans
                   from NetScreen

             Security device integrated with




                                                                           Application


                                                                                         Application


                                                                                                       Application
                   the Floodlight controller

             Showcased the first SDN-capable                   Floodlight Controller

                   deep packet inspection working               Switch

                   with Floodlight at the Open                                                             Switch


                   Networking Summit                Switch


                                                             Switch


            Contact: http://www.varmour.com/



©2012 – Big Switch Networks Inc.                                                                                     20
MobiFlow: Floodlight iPad Interface

             Built be Saurabh
                   Sabnis, Georgia Tech

             Interface to view
                   switches, hosts, netwo
                   rk topology, and
                   statistics

             Access to Static Flow
                   Pusher API

             Available: Coming
                   soon

©2012 – Big Switch Networks Inc.                  21
OpenStack and Quantum




©2012 – Big Switch Networks Inc.
                                                           2
Floodlight OpenStack Integration
            Virtual Networking Support
            Components:

             RestProxy plugin runs inside Quantum                          Quantum
                   module in OpenStack
                                                                            RestProxy
             VirtualNetworkFilter implements layer 2                        Plugin
                   isolation based on MAC

            Highlights:

             Supports physical and virtual switches in             VirtualNetwork
                   OpenFlow networks                                     Filter

             Caveats:
                                                              Floodlight Controller
               No multicast and broadcast isolation
               All DHCP traffic allowed
                                                                   Switch
                                                                                        vSwitch

                                                          Switch            vSwitch

©2012 – Big Switch Networks Inc.
OpenStack / Floodlight Demo
            OpenStack-in-a-VM

            1.       Create two quantum networks        Core Processes

                                                                                              VirtualNetwork Filter
                                                                             Quantum
            2.       Launch 2 hosts in one
                     network: [10.5.5.2, 10.5.5.3]                           RestProxy         Floodlight
                                                                              Plugin           Controller

            3.       Launch 1 host in the other
                     [10.6.6.2]
                                                        OpenStack / Quantum Network
            4.       Test pings:
                                                                               Open vSwitch
                   1.       10.5.5.2 -> 10.5.5.3 [OK]
                   2.       10.6.6.2 -> 10.5.5.2 [NO]

                                                            Host52    Host53
            Each network is in an isolated layer                                                   Host62

            2 domain enforced by Floodlight’s
            VirtualNetworkFilter.                              10.5.5.0/24                       10.6.6.0/24




©2012 – Big Switch Networks Inc.                                                                                      24
OpenFlowHub and Other Open
                        Source Projects




©2012 – Big Switch Networks Inc.
Get Involved with OpenFlowHub
            Join the community!

     What it is:                                                  Get involved:

   1. A community of open source                                   Submit a project
             OpenFlow developers
                                                                   Write a blog post
   2. An OpenFlow Blog (available for
             guest authors)                                        http://www.openflowhub.org

   3. Free hosting, tools, and promotion                           Contact:
           for open source projects                                 mike.cohen@openflowhub.org
           Wiki, forums, bug tracking
             tools, logos, etc.
      Projects:




©2012 – Big Switch Networks Inc. – Proprietary and Confidential                                  26
OFTest: Validating OpenFlow Switches

             A python-based framework and set of
                   tests for OpenFlow switches

             Includes over 60 tests exercising
                   various aspects of OpenFlow

             Useful for testing new OpenFlow
                   implementations and assessing
                   standards compliance
                                                        OFTest connects to both
                                                        the data plane and control
                                                        plane of the switch to
            Available: http://oftest.openflowhub.org/   simulate and monitor
                                                        OpenFlow messages


©2012 – Big Switch Networks Inc.                                                27
LOXI
            Logical OpenFlow eXtensible Interface
           Challenge: The OF specification lives in openflow.h
                                                                          openflow.h              openflow.h
                   Tight coupling of wire format and datastructures         V1.2                    V1.1




                                                                                                                    Input
                   New version of OpenFlow 1.x == LOTS of code
                                                                          openflow.h              openflow.h
                         change                                              V1.3                    V1.0

                   Few non 1.0 switches and controllers have
                         emerged                                                         LOXI




                                                                                                                    Parser
                                                                                        Front-
         Solution: LOXI, an interface that hides OpenFlow wire                           end

         format differences
                 Write once, run across any OF version




                                                                                                                    Code Gen
                                                                        Python           Java            C
                 Support for multiple languages                       Back-end        Back-end       Back-end

                 Example: match MPLS tag XX
                   OF 1.0 – unsupported
                   OF 1.1 – fixed length match




                                                                                                                    Output
                                                                       LOXI.py         LOXI.jar        libLOXI.a
                   OF 1.2+ - OXM-style match

         Available: Coming soon…
©2012 – Big Switch Networks Inc.                                                                                   28
Indigo
            An OpenFlow switch reference implementation
           Version 1:
                   Designed for hardware switches and
                         released under OpenFlow license in 2009
                   Support for 1G and 10G Broadcom chips


         Version 2.0 (coming soon):
                 Based on LOXI – OF 1.x support for free
                 Apache 2.0 license
                 Support for multiple datapaths, both
                       hardware and software
                 Config abstraction layer for easily
                       integrating UI’s


         Available (1.0): http://indigo.openflowhub.org

©2012 – Big Switch Networks Inc.                                   29
Interested in Learning More?

             Check out the website
               http://floodlight.openflowhub.org


             Join the mailing list:
               http://groups.google.com/a/openflowhub.org/group/floo
                     dlight-dev/topics
                    Or just email floodlight-dev@openflowhub.org


             Get the code:
               http://floodlight.openflowhub.org/download

©2012 – Big Switch Networks Inc.                                        30
Thanks!
                                             Mike Cohen
                                     Mike.cohen@bigswitch.com
                                        Big Switch Networks

                                            Alex Reimers
                                    Alex.reimers@bigswitch.com
                                        Big Switch Networks

                                         Floodlight mailing list:
                                   floodlight-dev@openflowhub.org


©2012 – Big Switch Networks Inc.

Weitere ähnliche Inhalte

Was ist angesagt?

Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...JAX London
 
STPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSTPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSOASTA
 
Track2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apacTrack2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apacOpenCity Community
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Stefane Fermigier
 
Cloud computing bringing the dark side of enterprise apps into the light by...
Cloud computing   bringing the dark side of enterprise apps into the light by...Cloud computing   bringing the dark side of enterprise apps into the light by...
Cloud computing bringing the dark side of enterprise apps into the light by...Khazret Sapenov
 

Was ist angesagt? (7)

Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
 
STPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSTPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has Arrived
 
Open Stack China Trip Sz0922
Open Stack China Trip Sz0922Open Stack China Trip Sz0922
Open Stack China Trip Sz0922
 
Track2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apacTrack2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apac
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011
 
Cloud computing bringing the dark side of enterprise apps into the light by...
Cloud computing   bringing the dark side of enterprise apps into the light by...Cloud computing   bringing the dark side of enterprise apps into the light by...
Cloud computing bringing the dark side of enterprise apps into the light by...
 

Ähnlich wie Floodlight Overview

Floodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated OverviewFloodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated Overviewopenflowhub
 
2nd sdn interest group session1 (121218)
2nd sdn interest group   session1 (121218)2nd sdn interest group   session1 (121218)
2nd sdn interest group session1 (121218)NAIM Networks, Inc.
 
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...David Meyer
 
Software Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight ProjectSoftware Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight ProjectGreat Wide Open
 
OpenFlowHub Webinar - Indigo v2.0 and LOXI
OpenFlowHub Webinar - Indigo v2.0 and LOXIOpenFlowHub Webinar - Indigo v2.0 and LOXI
OpenFlowHub Webinar - Indigo v2.0 and LOXIopenflowhub
 
Eclipse Paho - MQTT and the Internet of Things
Eclipse Paho - MQTT and the Internet of ThingsEclipse Paho - MQTT and the Internet of Things
Eclipse Paho - MQTT and the Internet of ThingsAndy Piper
 
Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau scoopnewsgroup
 
Accelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayAccelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayJohn Duimovich
 
Cloudware initiative-ow2-conference-nov10
Cloudware initiative-ow2-conference-nov10Cloudware initiative-ow2-conference-nov10
Cloudware initiative-ow2-conference-nov10OW2
 
Why SDN and ON.Lab are hot topics in networking
Why SDN and ON.Lab are hot topics in networkingWhy SDN and ON.Lab are hot topics in networking
Why SDN and ON.Lab are hot topics in networkingON.Lab
 
Floodlight tutorial - Clemson / Georgia Tech
Floodlight   tutorial - Clemson / Georgia TechFloodlight   tutorial - Clemson / Georgia Tech
Floodlight tutorial - Clemson / Georgia Techopenflowhub
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Ian Skerrett
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Mainframe Project
 
MidoNet Differentiation and Overview
MidoNet Differentiation and OverviewMidoNet Differentiation and Overview
MidoNet Differentiation and OverviewMidokura
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingMark Hinkle
 
Building managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummitBuilding managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummitmatsunota
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.jsNodejsFoundation
 
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?Open Networking Summits
 
The lessons of Open Source for the Open Cloud
The lessons of Open Source for the Open CloudThe lessons of Open Source for the Open Cloud
The lessons of Open Source for the Open CloudStefano Maffulli
 
Presentation11
Presentation11Presentation11
Presentation11KellyCheah
 

Ähnlich wie Floodlight Overview (20)

Floodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated OverviewFloodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated Overview
 
2nd sdn interest group session1 (121218)
2nd sdn interest group   session1 (121218)2nd sdn interest group   session1 (121218)
2nd sdn interest group session1 (121218)
 
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
 
Software Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight ProjectSoftware Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight Project
 
OpenFlowHub Webinar - Indigo v2.0 and LOXI
OpenFlowHub Webinar - Indigo v2.0 and LOXIOpenFlowHub Webinar - Indigo v2.0 and LOXI
OpenFlowHub Webinar - Indigo v2.0 and LOXI
 
Eclipse Paho - MQTT and the Internet of Things
Eclipse Paho - MQTT and the Internet of ThingsEclipse Paho - MQTT and the Internet of Things
Eclipse Paho - MQTT and the Internet of Things
 
Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau
 
Accelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayAccelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is Today
 
Cloudware initiative-ow2-conference-nov10
Cloudware initiative-ow2-conference-nov10Cloudware initiative-ow2-conference-nov10
Cloudware initiative-ow2-conference-nov10
 
Why SDN and ON.Lab are hot topics in networking
Why SDN and ON.Lab are hot topics in networkingWhy SDN and ON.Lab are hot topics in networking
Why SDN and ON.Lab are hot topics in networking
 
Floodlight tutorial - Clemson / Georgia Tech
Floodlight   tutorial - Clemson / Georgia TechFloodlight   tutorial - Clemson / Georgia Tech
Floodlight tutorial - Clemson / Georgia Tech
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
 
MidoNet Differentiation and Overview
MidoNet Differentiation and OverviewMidoNet Differentiation and Overview
MidoNet Differentiation and Overview
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
 
Building managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummitBuilding managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummit
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.js
 
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
 
The lessons of Open Source for the Open Cloud
The lessons of Open Source for the Open CloudThe lessons of Open Source for the Open Cloud
The lessons of Open Source for the Open Cloud
 
Presentation11
Presentation11Presentation11
Presentation11
 

Kürzlich hochgeladen

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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"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
 
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
 
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
 
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
 
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
 
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
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Kürzlich hochgeladen (20)

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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"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...
 
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
 
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
 
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
 
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
 
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
 
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?
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Floodlight Overview

  • 1. Software-Defined Networking and the Floodlight controller Mike Cohen Big Switch Networks Mike.cohen@bigswitch.com Alex Reimers Big Switch Networks Alex.reimers@bigswitch.com
  • 2. Agenda  Overview  Architecture  Applications  Demo ©2012 – Big Switch Networks Inc.
  • 3. Big Switch Networks Overview People @ Big Switch Big Switch Networks is a market leader in Guido Appenzeller Software-Defined Networking and a strong CEO, Big Switch Networks proponent of OpenFlow technology Former Consulting Assistant Professor at Stanford University, led the team that developed OpenFlow 1.0 Open Source Projects include:  Floodlight Rob Sherwood MTS, Big Switch Networks  Indigo Author of FlowVisor and key architect  OFTest of OpenFlow 1.0  More to come… Dan Talayco MTS, Big Switch Networks Former member of the Stanford OpenFlow Team. Led development of Yes, we’re hiring! the Indigo reference implementation  Contact me or careers@bigswitch.com Others include: Isabelle Guis, Omar Baldonado, Howie Xu, Mansour Karam, Nick Bastin, Saurav Das, and many others… ©2012 – Big Switch Networks Inc. 3
  • 4. Floodlight Overview ©2012 – Big Switch Networks Inc.
  • 5. Floodlight Overview An Apache licensed OpenFlow Controller  Developer friendly Apache license  Easy to use, extensible Java development environment  Enterprise grade - Core engine used and supported by Big Switch Networks (running in production today)  Supports a broad range of physical and virtual OpenFlow switches  OF 1.0 compliant today – future OF versions on the way ©2012 – Big Switch Networks Inc. 5
  • 6. Floodlight Users and Contributors Floodlight Adopters: • University research • Networking vendors • Users • Developers / startups ©2012 – Big Switch Networks Inc. 6
  • 7. Floodlight Switch Compatibility A snapshot from Interop ©2012 – Big Switch Networks Inc. 7
  • 8. Floodlight Growth Downloads of Floodlight since January launch 7000 • Over 200 mailing list posts / month 6000 • Run rate of 1200+ downloads / month 5000 4000 3000 Mailing list 2000 posts per month 1000 0 ©2012 – Big Switch Networks Inc. 8
  • 9. Building Floodlight Fast…and easy… Download from Github $ git clone git://github.com/floodlight/floodlight.git $ sudo apt-get install build-essential default-jdk ant python-dev $ cd floodlight; ant $ java –jar target/floodlight.jar Get the VM (including mininet) $ wget http://floodlight.openflowhub.org/files/floodlight-vm.zip (login as “floodlight” user, no password) ©2012 – Big Switch Networks Inc. 9
  • 10. Floodlight Roadmap Recently launched: Roadmap:  OpenFlow 1.x support  Module system  Command line interface  Ubuntu PPA’s  Persistent storage  Quantum / OpenStack  Python / Jython support  Web UI  Firewall, Load balancer apps  Performance improvements  Web UI 2.0  Stable northbound APIs  Better Documentation ©2012 – Big Switch Networks Inc. 10
  • 11. Programming Floodlight ©2012 – Big Switch Networks Inc.
  • 12. Floodlight Architecture Overview FloodlightProvider (IFloodlightProviderService)  Floodlight is a collection of modules TopologyManager (ITopologyManagerService) LinkDiscovery  Some modules (not all) export (ILinkDiscoveryService) services Forwarding DeviceManager  All modules in Java (IDeviceService) StorageSource (IStorageSourceService)  Rich, extensible REST API RestServer (IRestApiService) StaticFlowPusher (IStaticFlowPusherService) VirtualNetworkFilter (IVirtualNetworkFilterService) ©2012 – Big Switch Networks Inc. 12
  • 13. Floodlight Architecture Module descriptions FloodlightProvider  Translates OF messages to Floodlight events (IFloodlightProviderService)  Managing connections to switches via Netty TopologyManager  Computes shortest path using Dijsktra (ITopologyManagerService)  Keeps switch to cluster mappings LinkDiscovery  Maintains state of links in network (ILinkDiscoveryService)  Sends out LLDPs  Installs flow mods for end-to-end routing Forwarding  Handles island routing DeviceManager  Tracks hosts on the network (IDeviceService)  MAC -> switch,port, MAC->IP, IP->MAC StorageSource  DB style storage (queries, etc) (IStorageSourceService)  Modules can access all data and subscribe to changes RestServer  Implements via Restlets (restlet.org) (IRestApiService)  Modules export RestletRoutable StaticFlowPusher  Supports the insertion and removal of static flows (IStaticFlowPusherService)  REST-based API VirtualNetworkFilter  Create layer 2 domain defined by MAC address (IVirtualNetworkFilterService)  Used for OpenStack / Quantum ©2012 – Big Switch Networks Inc. 13
  • 14. Floodlight Programming Model Northbound APIs IFloodlightModule  Java module that runs as part of Floodlight External  Consumes services and events exported by Application other modules  OpenFlow (ie. Packet-in)  Switch add / remove REST IFloodlight-  Device add /remove / move Module  Link discovery Floodlight Controller External Application  Communicates with Floodlight via REST Switch  Quantum / Virtual networks Switch  Normalized network state vSwitch  Static flows Switch ©2012 – Big Switch Networks Inc. 14
  • 15. REST API Reference A moving target…but… Network State Static Flows Virtual Network User Extensions List Hosts Add Flow Create Network … List Links Delete Flow Delete Network List Switches List Flows Add Host GetStats (DPID) RemoveAll Flows Remove Host GetCounters (OFType…) Floodlight Controller Switch Switch Switch vSwitch ©2012 – Big Switch Networks Inc. 15
  • 16. Programming Floodlight (1) Using the REST API  Fine-grained ability to push flows over REST  Access to normalized topology and device state  Extensible access to add new APIs ©2012 – Big Switch Networks Inc. 16
  • 17. Programming Floodlight (2) Creating a module  Handle OpenFlow messages directly (ie. PacketIn)  Expose services to other modules  Add new REST APIs ©2012 – Big Switch Networks Inc. 17
  • 18. Cool Floodlight Applications ©2012 – Big Switch Networks Inc. 1
  • 19. Programmable Patch Panel A Floodlight iPhone application  A simple programmable patch panel built from:  Floodlight  Pronto 3290 switch running Indigo  Uses Static Flow Pusher API to redirect traffic between two ports  Runs remotely on the iPhone!  Available: http://virtualnow.net/2012/05/03/using- an-openflow-switch-as-a-programmable- patch-panel/ ©2012 – Big Switch Networks Inc. 19
  • 20. vArmour: Security for OpenFlow  Founded by security veterans from NetScreen  Security device integrated with Application Application Application the Floodlight controller  Showcased the first SDN-capable Floodlight Controller deep packet inspection working Switch with Floodlight at the Open Switch Networking Summit Switch Switch Contact: http://www.varmour.com/ ©2012 – Big Switch Networks Inc. 20
  • 21. MobiFlow: Floodlight iPad Interface  Built be Saurabh Sabnis, Georgia Tech  Interface to view switches, hosts, netwo rk topology, and statistics  Access to Static Flow Pusher API  Available: Coming soon ©2012 – Big Switch Networks Inc. 21
  • 22. OpenStack and Quantum ©2012 – Big Switch Networks Inc. 2
  • 23. Floodlight OpenStack Integration Virtual Networking Support Components:  RestProxy plugin runs inside Quantum Quantum module in OpenStack RestProxy  VirtualNetworkFilter implements layer 2 Plugin isolation based on MAC Highlights:  Supports physical and virtual switches in VirtualNetwork OpenFlow networks Filter  Caveats: Floodlight Controller  No multicast and broadcast isolation  All DHCP traffic allowed Switch vSwitch Switch vSwitch ©2012 – Big Switch Networks Inc.
  • 24. OpenStack / Floodlight Demo OpenStack-in-a-VM 1. Create two quantum networks Core Processes VirtualNetwork Filter Quantum 2. Launch 2 hosts in one network: [10.5.5.2, 10.5.5.3] RestProxy Floodlight Plugin Controller 3. Launch 1 host in the other [10.6.6.2] OpenStack / Quantum Network 4. Test pings: Open vSwitch 1. 10.5.5.2 -> 10.5.5.3 [OK] 2. 10.6.6.2 -> 10.5.5.2 [NO] Host52 Host53 Each network is in an isolated layer Host62 2 domain enforced by Floodlight’s VirtualNetworkFilter. 10.5.5.0/24 10.6.6.0/24 ©2012 – Big Switch Networks Inc. 24
  • 25. OpenFlowHub and Other Open Source Projects ©2012 – Big Switch Networks Inc.
  • 26. Get Involved with OpenFlowHub Join the community! What it is: Get involved: 1. A community of open source  Submit a project OpenFlow developers  Write a blog post 2. An OpenFlow Blog (available for guest authors)  http://www.openflowhub.org 3. Free hosting, tools, and promotion  Contact: for open source projects mike.cohen@openflowhub.org  Wiki, forums, bug tracking tools, logos, etc. Projects: ©2012 – Big Switch Networks Inc. – Proprietary and Confidential 26
  • 27. OFTest: Validating OpenFlow Switches  A python-based framework and set of tests for OpenFlow switches  Includes over 60 tests exercising various aspects of OpenFlow  Useful for testing new OpenFlow implementations and assessing standards compliance OFTest connects to both the data plane and control plane of the switch to Available: http://oftest.openflowhub.org/ simulate and monitor OpenFlow messages ©2012 – Big Switch Networks Inc. 27
  • 28. LOXI Logical OpenFlow eXtensible Interface Challenge: The OF specification lives in openflow.h openflow.h openflow.h  Tight coupling of wire format and datastructures V1.2 V1.1 Input  New version of OpenFlow 1.x == LOTS of code openflow.h openflow.h change V1.3 V1.0  Few non 1.0 switches and controllers have emerged LOXI Parser Front- Solution: LOXI, an interface that hides OpenFlow wire end format differences  Write once, run across any OF version Code Gen Python Java C  Support for multiple languages Back-end Back-end Back-end  Example: match MPLS tag XX  OF 1.0 – unsupported  OF 1.1 – fixed length match Output LOXI.py LOXI.jar libLOXI.a  OF 1.2+ - OXM-style match Available: Coming soon… ©2012 – Big Switch Networks Inc. 28
  • 29. Indigo An OpenFlow switch reference implementation Version 1:  Designed for hardware switches and released under OpenFlow license in 2009  Support for 1G and 10G Broadcom chips Version 2.0 (coming soon):  Based on LOXI – OF 1.x support for free  Apache 2.0 license  Support for multiple datapaths, both hardware and software  Config abstraction layer for easily integrating UI’s Available (1.0): http://indigo.openflowhub.org ©2012 – Big Switch Networks Inc. 29
  • 30. Interested in Learning More?  Check out the website  http://floodlight.openflowhub.org  Join the mailing list:  http://groups.google.com/a/openflowhub.org/group/floo dlight-dev/topics  Or just email floodlight-dev@openflowhub.org  Get the code:  http://floodlight.openflowhub.org/download ©2012 – Big Switch Networks Inc. 30
  • 31. Thanks! Mike Cohen Mike.cohen@bigswitch.com Big Switch Networks Alex Reimers Alex.reimers@bigswitch.com Big Switch Networks Floodlight mailing list: floodlight-dev@openflowhub.org ©2012 – Big Switch Networks Inc.

Hinweis der Redaktion

  1. Our topology, device manager know about host attachment points and make it possible to deal with integrating openflow and non openflow networks.
  2. Our topology, device manager know about host attachment points and make it possible to deal with integrating openflow and non openflow networks.