SlideShare a Scribd company logo
OpenFlow Controller




http://floodlight.openflowhub.org
About Us
Big Switch Networks


 Big Switch Networks builds and promotes Open
     Software Defined Networking Solutions



 We use and help support Floodlight and a number of
     other OpenFlow tools



 Yes, you can contact us about jobs and internships at
     careers@bigswitch.com



 ©2012 – Big Switch Networks Inc.                         2
Introduction

 SDN and OpenFlow
 Real world use cases
 Floodlight
 Demo! (if time allows)




 ©2012 – Big Switch Networks Inc.   3
Limitations in Modern Networking
An Slowly Evolving Environment


              Operating System / Firmware




                       Hardware / ASICs




           Hardware focus                   Fully distributed protocols
           Hard to innovate, update         Independent components
                  software
                                             Interoperability and design
           Vendor specific                   challenges
                  components

 ©2012 – Big Switch Networks Inc.                                           4
Introduction to SDN
Software-defined Networking
            Application



                              Application




                                             Application



                                                           Application



                                                                         Application
                                                                                       Application tier


                                   SDN Controller                                      Controller tier

                              OF Switch
                                                                         OF Switch

                                            OF Switch                                  Data plane tier
 OF Switch


                          OF Switch


      Software Defined Networking decouples data, control, and application
      planes, creating a programmable network
 ©2012 – Big Switch Networks Inc.                                                                         5
OpenFlow and SDN
A southbound SDN protocol
            Application



                              Application




                                             Application



                                                           Application



                                                                         Application
                                                                                       Northbound API

        OpenFlow-based SDN Controller

                                                                                       Southbound API -
                                                                                       OpenFlow
                              OF Switch
                                                                         OF Switch

                                            OF Switch
 OF Switch


                          OF Switch
 ©2012 – Big Switch Networks Inc.                                                                         6
Advantages of SDN

 Innovation and speed to market
      An “app store” for network programming
 Decoupled software and hardware development
      Support for multi-vendor environments
      Separate upgrade cycles, etc.
 Simplified network management / automation




 ©2012 – Big Switch Networks Inc.               7
Real World Examples
1                                                            2
    Scalable isolation      Alice     Bob       Cathy            Inserting and managing
    domains and network                                          network services such as
    slicing.                                                     load
                                    FlowVisor    Isolation       balancing, firewall, IDS/IPS
                                                   Policy        , QoS, etc.
    Example: Flowvisor
                                                                 Example: FlowScale

    Network Virtualization                                       Platform for Network Services
3                                                            4
     Flexible mobility of                                          Lower cost, high
     virtual machines                                              performance
                                                                   networks
     Example: Stanford
     WAN VM Migration                                              Example: non-
                                                                   blocking CLOS
                                                                   architectures
    Virtual Machine Management                                   CLOS Fabrics
5                                                            6
     Simplified data                                             Networks spanning
     vibility and traffic                                        public / private DC’s
     monitoring
                                                                 Example: Amazon
     Example: TBD                                                VPC


                                                                                                 8
    Data analysis / monitoring                                   Hybrid clouds
OpenFlow
Introduction to OpenFlow
Controller <-> Switch communication

 x86 style instruction
     set                                         OpenFlow-based SDN Controller

 Based on Ethernet
     Switch with:                                                TCP / SSL
      OF software client
      Hardware flow table
                                                   Non-OF
                                                                           OpenFlow Client
                                                  Control Path
 Control channel
     between switch and             Flow table
     controller                     MAC          MAC    IP        IP           TCP         TCP       Action
                                    src          dst    Src       Dst          sport       dport
                                    *        *         *         5.6.7.8   *           *           port 1




 ©2012 – Big Switch Networks Inc.                                                                           10
OpenFlow in Action



                                        Application



                                                        Application




                                                                              Application



                                                                                             Application



                                                                                                           Application
                                                             SDN Controller
                               Rule    Action         Stats           Rule    Action        Stats Rule              Action   Stats




                                      OF Switch                                                            OF Switch

                               01010
                               01010
                                                                             OF Switch


©2012 – Big Switch Networks Inc.                                                                                                     11
Why OpenFlow?
Isn’t OpenFlow the same as XXX?


 ‘XXX’ = LISP, MPLS-TE, policy routing, etc.
 Broad answer:
      OpenFlow is a very-low level abstraction/API
      Could probably implement XXX using OpenFlow
      Could not implement OpenFlow using XXX
 If XXX meets my needs, why use OpenFlow?
      More holistic network view
      Reduced complexity from feature interaction




 ©2012 – Big Switch Networks Inc.                     12
OpenFlow Standards

 OF v1.0 (most popular), Dec 2009
      Initial OpenFlow specification
      match on 12-tuple
 OF v1a.1: Extensions for WAN, late 2010
      multiple tables: dodge state space explosion
      fast failover, interface bonding
 OF v1.2 :
      IPv6 support, generalized match, vendor extensions




 ©2012 – Big Switch Networks Inc.                           13
©2012 – Big Switch Networks Inc. – Confidential and Proprietary
                                                                  Floodlight   14
Floodlight Overview




          Floodlight is a completely open,
          free, Apache-licensed Java-based
          OpenFlow controller.




©2012 – Big Switch Networks Inc.             15
Floodlight Controller
A great platform for OpenFlow




            Research and                        Easy to build, run, and
            commercial friendly                develop



                                    Toolchain


            Rich set of build and               Community of OpenFlow
            debugging tools                     experts, access to commercial
                                                upgrades, and frequent testing
 ©2012 – Big Switch Networks Inc.                                                16
Building Floodlight
Fast…an 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.                            17
Internals
Floodlight Architecture

                              TopologyManager
                                                  Modules exporting “services”

                               LinkDiscovery      All modules in Java, support for
                                                   Jython as well
                                Forwarding
         FloodlightProvider




                                                  Main module is
                              DeviceManager
                                                   FloodlightProvider
                                                    Manages I/O to switches
                               StorageSource
                                                    Translates OF messages to
                                                     Floodlight events
                                                    Multi-threaded via Netty library (all
                                 RestServer
                                                     modules must be thread-safe)

                              StaticFlowPusher
                                                  Rich, extensible REST API
©2012 – Big Switch Networks Inc.                                                         19
Module Descriptions

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

                                                 Maintains state of links in network
                            LinkDiscovery
                                                 Sends out LLDPs


                             Forwarding          Installs flow mods for end-to-end routing
      FloodlightProvider




                                                 Handles island routing

                                                 Tracks hosts on the network
                           DeviceManager
                                                 MAC -> switch,port, MAC->IP, IP->MAC

                                                 DB style storage (queries, etc)
                            StorageSource
                                                 Modules can access all data and subscribe to changes

                                                 Implements via Restlets (restlet.org)
                              RestServer
                                                 Modules must implement RestletRoutable

                                                 Supports the insertion and removal of static flows
                           StaticFlowPusher
                                                 REST-based API


©2012 – Big Switch Networks Inc.                                                                         20
Other Tools
OpenFlow Controllers
Options Beyond Floodlight


 Beacon: beaconcontroller.net (Java)
 NOX: noxrepo.org (C++ and Python)
 Trema: trema.github.com/trema/ (Ruby and C)
 Reference controller (C)




 ©2012 – Big Switch Networks Inc.               22
Mininet
OpenFlow network simulator


 Emulate OpenFlow network in a box
 Uses Linux Containers and IP namespace
 Runs your choice of software switch
      Stanford’s reference OpenFlow switch
      OpenVSwitch
 CLI allows interactive management of emulated virtual
     hosts

 Packaged in the Floodlight VM at:
      http://floodlight.openflowhub.org/download

 ©2012 – Big Switch Networks Inc.                         23
Switch Options
Switch Ecosystem
Major vendors have upcoming products



                                            Controller Platform
                                         Southbound APIs
             Virtual Switches                                                                    Physical Switches
                                                               Available                                                                               Announced




          Stanford Reference
          Switch




 ©2012 – Big Switch Networks Inc.
                                    * Supported platforms: Pronto w/ indigo – 3240/3290, HP: 3500, 5400, 8200 (procurves), IBM 8264, NEC PF 5820 / 5240, Extreme – Summit series
Demo
Getting Involved - OpenFlowHub
A community of open source OpenFlow developers

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 marketing       Contact:
      for open source projects
                                             mike.cohen@openflowhub.org
      Wiki, forums, bug tracking tools,
        logos, etc.
 Projects:




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

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


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


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

 ©2012 – Big Switch Networks Inc.
Presenters

                                         Mike Cohen
                                       Product Manager
                                   mike.cohen@bigswitch.com

                                        Alex Reimers
                                   Member of Technical Staff
                                      alex@bigswitch.com




©2012 – Big Switch Networks Inc.                               29
End
Operational
Considerations
Network considerations

 Why OpenFlow?
           Lots of reasons we talked about already...
           Simplest is network monitoring from a single location – packetin, flow modes, cpu
            usage, throughput, devices connected, etc.

 Control / Data networks
           Offer critical services on non-OF network (ie. Voip)
           Control / data path separation – vlans in most cases
           Deploy OF from edge to core. Gain increased visibility over time.
           Measure traffic patterns and make sure your switch hardware can support it. Some
            have limited control traffic throughput (flow set up rate, etc.).

 Security considerations
           Do you need to protect against controller DoS attacks?
           Do you want encrypted control traffic?

 Gotchas
           Physical loops into the OpenFlow network
           Wifi mesh networks


 ©2012 – Big Switch Networks Inc.                                                               32
Backup
Network Virtualization: Flowvisor
Virtualized Control Plane

                                           Customer Alice   Customer Bob     Customer Cathy


Each use case/demo
presented here runs in an
isolated slice of Stanford’s
                                                                       OpenFlow
production network.                                                    Protocol
                                               OpenFlow
                                    OpenFlow   Protocol
                                    Datapath                FlowVisor                Isolation
                                                                                       Policy


                                                               FlowVisor slices OpenFlow
                OpenFlow                       OpenFlow         networks, creating multiple
                Datapath                       Datapath        isolated and programmable
                                                                 logical networks on the
                                                                 same physical topology.
 ©2012 – Big Switch Networks Inc.                                                             34
Load balancing
FlowScale: Load balancing using Layer 2 OF switches


 Traffic load
     balancer
     using
     OpenFlow

 Implemented
     in OF ToR
     switches

 Deployed in
     IU IDS



 ©2012 – Big Switch Networks Inc.                     35
VM Management: WAN Migration




                       Moved a VM from Stanford to Japan without changing its IP.
                  VM hosted a video game server with active network connections.
©2012 – Big Switch Networks Inc.                                                    36
OpenFlow Protocol (1)


          Match Fields                    Action(s)         Stats


                                                            Packet + byte counters

                                   1.   Forward packet to zero or more ports
                                   2.   Encapsulate and forward to controller
                                   3.   Modify Fields
                                   4.   Vendor specific extensions


         Switch         VLAN            VLAN   MAC    MAC     Eth    IP    IP    IP    IP     L4      L4
         Port           ID              pcp    src    dst     type   Src   Dst   ToS   Prot   sport   dport


           + mask what fields to match
©2012 – Big Switch Networks Inc.                                                                              37
OpenFlow Protocol (2)

                       Switch      MAC     MAC     Eth    VLAN    IP Src    IP Prot   TCP     TCP     Action
                       port        src     dst     type   ID                          sport   dport
Switching              *           *       00:1f   *      *       *         *         *       *       Port6
                                           :..
Flow                   Port3       00:20   00:1f   0800   Vlan1   1.2.3.4   5.6.7.8   4       17264   Port6
switching                          ..      ..
Firewall               *           *       *       *      *       *         *         *       22      Drop

Routing                *           *       *       *      *       *         5.6.7.8   *       *       Port6

VLAN                   *           *       00:1f   *      Vlan1   *         *         *       *       Port6,p
switching                                  ..                                                         ort7,
                                                                                                      port8




©2012 – Big Switch Networks Inc.                                                                              38
Other Floodlight Highlights

                                                                   REST-      Static    2
 1                                                                 based      Flow
                                                                    App      Pusher     Java event APIs



                                               Jython App
 Active work in
                                    Java App
     defining                                                                           REST-based APIs
     standard
     “Northbound”
     APIs                                                                               Ability to push flows




                                                            Floodlight Controller
                                                                                                     3
                                                              Switch                                  Support for
                                                                                       OF Switch         integrating with
                                                                                                         non-OpenFlow
                                                                       OF Switch                         networks
                                OF Switch


                                                      OF Switch
 ©2012 – Big Switch Networks Inc.                                                                                           39
IFloodlightModule Interface

1. getModuleDependencies()
Function                                   Description

       What services does this moduleWhat services does this
getModuleDependencies()
                                       require?
                                           module require?
2. getModuleServices(), getServiceImpls()
       Services does this module provide and how?
getModuleServices()                        Services does this module
                                           provide and how?
3. init(FloodlightModuleContext context)
       Internal, before dependencies have init()’d
init(FloodlightModuleContext context)      Internal, before dependencies
                                           have init()’ed
4. startup(FloodlightModuleContext context)
       External, with dependencies initialization
startup(FloodlightModuleContext context)   External, with dependencies
                                           initialization
OpenFlow Topologies

        vswitch
        Top of rack                                 Need OpenFlow at last hop
        Agg / Core
                                                    in the network

                                                     For vms:vswitch
                                                     For physical hosts: Tor
   VM         VM                   VM    VM


   VM         VM                   VM    VM
                                                    Floodlight can manage
                                                    multiple “islands” of
   VM         VM                    Physical host   OpenFlow switches
       Physical host               VM    VM

             …                           …
         Rack 1                         Rack 2

©2012 – Big Switch Networks Inc.                                                41
Demo

Problem:

Track the last N Packet-Ins seen by the controller and
expose it via a REST API


What you will see:

1. Adding a new module
2. Creating a REST API
3. Running Floodlight


 ©2012 – Big Switch Networks Inc.                        42

More Related Content

PPTX
Floodlight OpenFlow Contoller - Updated Overview
openflowhub
 
PPTX
Floodlight overview & performance comparison by patrick huang
Patrick Huang
 
PPTX
Floodlight OpenFlow Controller Overview
mscohen02
 
PPTX
Floodlight Overview
Michael Cohen
 
PPT
Floodlight OpenFlow DDoS
Yoav Francis
 
PPTX
Innovation in SDN Tools and Platforms
Umesh Krishnaswamy
 
PPTX
Tools and Platforms for OpenFlow/SDN
Umesh Krishnaswamy
 
PPTX
Virt july-2013-meetup
nvirters
 
Floodlight OpenFlow Contoller - Updated Overview
openflowhub
 
Floodlight overview & performance comparison by patrick huang
Patrick Huang
 
Floodlight OpenFlow Controller Overview
mscohen02
 
Floodlight Overview
Michael Cohen
 
Floodlight OpenFlow DDoS
Yoav Francis
 
Innovation in SDN Tools and Platforms
Umesh Krishnaswamy
 
Tools and Platforms for OpenFlow/SDN
Umesh Krishnaswamy
 
Virt july-2013-meetup
nvirters
 

What's hot (20)

PDF
Introduction to OpenFlow
rjain51
 
PPTX
OpenFlow
Kingston Smiler
 
PPTX
All Things Open SDN, NFV and Open Daylight
Mark Hinkle
 
PPTX
Tutorial on SDN data plane evolution
Antonio Capone
 
PDF
Introduction To Openflow
Waqas Daar
 
PPTX
SDN Architecture & Ecosystem
Kingston Smiler
 
PPTX
Modern Software Architecture
Ahmed Marzouk
 
PPTX
API Management for Software Defined Network (SDN)
Apigee | Google Cloud
 
PPTX
SDN Project PPT
Matthew Chang
 
PDF
Opening Up Your Network with SDN
Open Networking Summits
 
PPT
OpenFlow tutorial
openflow
 
PDF
Openlab.2014 02-13.major.vi sion
Ccie Light
 
PPTX
RTI Technical Road Show SPAWAR SD
Real-Time Innovations (RTI)
 
PDF
SDN Fundamentals - short presentation
Azhar Khuwaja
 
PDF
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
Open Networking Summits
 
PDF
opendayight loadBalancer
Khubaib Mahar
 
PPTX
Software defined networks and openflow protocol
Mahesh Mohan
 
PPTX
Introduction to OpenFlow, SDN and NFV
Kingston Smiler
 
PDF
SDN & NFV Introduction - Open Source Data Center Networking
Thomas Graf
 
PPTX
Software Defined Networking(SDN) and practical implementation_trupti
trups7778
 
Introduction to OpenFlow
rjain51
 
OpenFlow
Kingston Smiler
 
All Things Open SDN, NFV and Open Daylight
Mark Hinkle
 
Tutorial on SDN data plane evolution
Antonio Capone
 
Introduction To Openflow
Waqas Daar
 
SDN Architecture & Ecosystem
Kingston Smiler
 
Modern Software Architecture
Ahmed Marzouk
 
API Management for Software Defined Network (SDN)
Apigee | Google Cloud
 
SDN Project PPT
Matthew Chang
 
Opening Up Your Network with SDN
Open Networking Summits
 
OpenFlow tutorial
openflow
 
Openlab.2014 02-13.major.vi sion
Ccie Light
 
RTI Technical Road Show SPAWAR SD
Real-Time Innovations (RTI)
 
SDN Fundamentals - short presentation
Azhar Khuwaja
 
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
Open Networking Summits
 
opendayight loadBalancer
Khubaib Mahar
 
Software defined networks and openflow protocol
Mahesh Mohan
 
Introduction to OpenFlow, SDN and NFV
Kingston Smiler
 
SDN & NFV Introduction - Open Source Data Center Networking
Thomas Graf
 
Software Defined Networking(SDN) and practical implementation_trupti
trups7778
 
Ad

Viewers also liked (20)

PPTX
SDN: Network Agility in the Cloud
Sebastien Goasguen
 
PPT
PERIODISMO
shalimarpedrera
 
PDF
7 Dr. Alexander Schachinger - 40 Millionen Gesundheits-Surfer in Deutschland:...
WelldooPanorama
 
PPTX
HHHC9301 PENGURUSAN MAKLUMAT DAN PEMBELAJARAN SEPANJANG HAYAT
Nazneen Alia
 
PDF
Protocolo cm nov_2010
Formación Manuela Chamorro
 
PDF
4 Ico 100623
Xabier Txokarro Amunarriz
 
PDF
Katalogoa2009
LAUDIO INSTITUTUA
 
PDF
Adjust Everywhere
john_gali
 
PDF
Termometri Personalizzati
Alessio Astolfi
 
PPTX
Ponencia el ser maestro- Samuel González A.
isabelgrupoavi
 
DOCX
CVupdate 13 Jan 2017 (RGH) current
Jonathan Jackson
 
PDF
"Tissue Engineering": Competition Experience Report
Fatima A
 
PDF
Mantas Control Erosion North American Green Catalogo
EMIN Sistemas Geotecnicos
 
PDF
RestKit - From Zero to Hero
Peter Friese
 
PPSX
Feliz Navidad Para Todos Mis Amigos
marily1
 
PPTX
Smooth jazz
LalisManzanera96
 
PPTX
Introducción a la Nube de Azure con ENCAMINA
www.encamina.com
 
PPTX
Transporte aereo
Ibertransit
 
PPTX
Digital utopia vs dystopia
Romualdo Rodriguez
 
SDN: Network Agility in the Cloud
Sebastien Goasguen
 
PERIODISMO
shalimarpedrera
 
7 Dr. Alexander Schachinger - 40 Millionen Gesundheits-Surfer in Deutschland:...
WelldooPanorama
 
HHHC9301 PENGURUSAN MAKLUMAT DAN PEMBELAJARAN SEPANJANG HAYAT
Nazneen Alia
 
Protocolo cm nov_2010
Formación Manuela Chamorro
 
Katalogoa2009
LAUDIO INSTITUTUA
 
Adjust Everywhere
john_gali
 
Termometri Personalizzati
Alessio Astolfi
 
Ponencia el ser maestro- Samuel González A.
isabelgrupoavi
 
CVupdate 13 Jan 2017 (RGH) current
Jonathan Jackson
 
"Tissue Engineering": Competition Experience Report
Fatima A
 
Mantas Control Erosion North American Green Catalogo
EMIN Sistemas Geotecnicos
 
RestKit - From Zero to Hero
Peter Friese
 
Feliz Navidad Para Todos Mis Amigos
marily1
 
Smooth jazz
LalisManzanera96
 
Introducción a la Nube de Azure con ENCAMINA
www.encamina.com
 
Transporte aereo
Ibertransit
 
Digital utopia vs dystopia
Romualdo Rodriguez
 
Ad

Similar to Floodlight tutorial - Clemson / Georgia Tech (20)

PPTX
Software Defined Networking
Kamesh Pemmaraju
 
PDF
SDN and Photonics for Dynamic Cloud Connectivity
ADVA
 
PPTX
TFI2014 Session I - State of SDN - John Giacomoni
Colorado Internet Society (CO ISOC)
 
PPTX
Performance Evaluation for Software Defined Networking (SDN) Based on Adaptiv...
University of Technology - Iraq
 
PDF
WWT Software-Defined Networking Guide
Joel W. King
 
PDF
Automation of end-to-end QOS
Open Networking Summits
 
PDF
SDN-enhanced Services in Enterprises and Data Centers
Anees Shaikh
 
PDF
Introduction to Software-defined Networking
Anees Shaikh
 
PPTX
OpenFlow Beyond the Data Centre at IP Expo
ADVA
 
PPTX
Cloud computing and Software defined networking
saigandham1
 
PDF
Sdn primer pdf
Pooja Patel
 
PPTX
Programmable data center
Seema Jethani
 
PPTX
Software Defined Networks
Shreeya Shah
 
PDF
Sdnhpkorea
deepersnet
 
PDF
PLNOG14: The benefits of "OPEN" in networking for operators - Joerg Ammon, Br...
PROIDEA
 
PDF
08 sdn system intelligence short public beijing sdn conference - 130828
Mason Mei
 
PDF
From SDN to Cloud Networking
Juniper Networks
 
PDF
Networking Technology Transformation to SDN and NFV
Himawan Nugroho
 
PDF
Technology Primer: Software-Defined Networking and Its Impact on Infrastructu...
CA Technologies
 
PDF
Adoption of SDN: Progress Update
Open Networking Summits
 
Software Defined Networking
Kamesh Pemmaraju
 
SDN and Photonics for Dynamic Cloud Connectivity
ADVA
 
TFI2014 Session I - State of SDN - John Giacomoni
Colorado Internet Society (CO ISOC)
 
Performance Evaluation for Software Defined Networking (SDN) Based on Adaptiv...
University of Technology - Iraq
 
WWT Software-Defined Networking Guide
Joel W. King
 
Automation of end-to-end QOS
Open Networking Summits
 
SDN-enhanced Services in Enterprises and Data Centers
Anees Shaikh
 
Introduction to Software-defined Networking
Anees Shaikh
 
OpenFlow Beyond the Data Centre at IP Expo
ADVA
 
Cloud computing and Software defined networking
saigandham1
 
Sdn primer pdf
Pooja Patel
 
Programmable data center
Seema Jethani
 
Software Defined Networks
Shreeya Shah
 
Sdnhpkorea
deepersnet
 
PLNOG14: The benefits of "OPEN" in networking for operators - Joerg Ammon, Br...
PROIDEA
 
08 sdn system intelligence short public beijing sdn conference - 130828
Mason Mei
 
From SDN to Cloud Networking
Juniper Networks
 
Networking Technology Transformation to SDN and NFV
Himawan Nugroho
 
Technology Primer: Software-Defined Networking and Its Impact on Infrastructu...
CA Technologies
 
Adoption of SDN: Progress Update
Open Networking Summits
 

Recently uploaded (20)

PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Software Development Methodologies in 2025
KodekX
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Software Development Methodologies in 2025
KodekX
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
The Future of Artificial Intelligence (AI)
Mukul
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 

Floodlight tutorial - Clemson / Georgia Tech

  • 2. About Us Big Switch Networks  Big Switch Networks builds and promotes Open Software Defined Networking Solutions  We use and help support Floodlight and a number of other OpenFlow tools  Yes, you can contact us about jobs and internships at [email protected] ©2012 – Big Switch Networks Inc. 2
  • 3. Introduction  SDN and OpenFlow  Real world use cases  Floodlight  Demo! (if time allows) ©2012 – Big Switch Networks Inc. 3
  • 4. Limitations in Modern Networking An Slowly Evolving Environment Operating System / Firmware Hardware / ASICs  Hardware focus  Fully distributed protocols  Hard to innovate, update  Independent components software  Interoperability and design  Vendor specific challenges components ©2012 – Big Switch Networks Inc. 4
  • 5. Introduction to SDN Software-defined Networking Application Application Application Application Application Application tier SDN Controller Controller tier OF Switch OF Switch OF Switch Data plane tier OF Switch OF Switch Software Defined Networking decouples data, control, and application planes, creating a programmable network ©2012 – Big Switch Networks Inc. 5
  • 6. OpenFlow and SDN A southbound SDN protocol Application Application Application Application Application Northbound API OpenFlow-based SDN Controller Southbound API - OpenFlow OF Switch OF Switch OF Switch OF Switch OF Switch ©2012 – Big Switch Networks Inc. 6
  • 7. Advantages of SDN  Innovation and speed to market  An “app store” for network programming  Decoupled software and hardware development  Support for multi-vendor environments  Separate upgrade cycles, etc.  Simplified network management / automation ©2012 – Big Switch Networks Inc. 7
  • 8. Real World Examples 1 2 Scalable isolation Alice Bob Cathy Inserting and managing domains and network network services such as slicing. load FlowVisor Isolation balancing, firewall, IDS/IPS Policy , QoS, etc. Example: Flowvisor Example: FlowScale Network Virtualization Platform for Network Services 3 4 Flexible mobility of Lower cost, high virtual machines performance networks Example: Stanford WAN VM Migration Example: non- blocking CLOS architectures Virtual Machine Management CLOS Fabrics 5 6 Simplified data Networks spanning vibility and traffic public / private DC’s monitoring Example: Amazon Example: TBD VPC 8 Data analysis / monitoring Hybrid clouds
  • 10. Introduction to OpenFlow Controller <-> Switch communication  x86 style instruction set OpenFlow-based SDN Controller  Based on Ethernet Switch with: TCP / SSL  OF software client  Hardware flow table Non-OF OpenFlow Client Control Path  Control channel between switch and Flow table controller MAC MAC IP IP TCP TCP Action src dst Src Dst sport dport * * * 5.6.7.8 * * port 1 ©2012 – Big Switch Networks Inc. 10
  • 11. OpenFlow in Action Application Application Application Application Application SDN Controller Rule Action Stats Rule Action Stats Rule Action Stats OF Switch OF Switch 01010 01010 OF Switch ©2012 – Big Switch Networks Inc. 11
  • 12. Why OpenFlow? Isn’t OpenFlow the same as XXX?  ‘XXX’ = LISP, MPLS-TE, policy routing, etc.  Broad answer:  OpenFlow is a very-low level abstraction/API  Could probably implement XXX using OpenFlow  Could not implement OpenFlow using XXX  If XXX meets my needs, why use OpenFlow?  More holistic network view  Reduced complexity from feature interaction ©2012 – Big Switch Networks Inc. 12
  • 13. OpenFlow Standards  OF v1.0 (most popular), Dec 2009  Initial OpenFlow specification  match on 12-tuple  OF v1a.1: Extensions for WAN, late 2010  multiple tables: dodge state space explosion  fast failover, interface bonding  OF v1.2 :  IPv6 support, generalized match, vendor extensions ©2012 – Big Switch Networks Inc. 13
  • 14. ©2012 – Big Switch Networks Inc. – Confidential and Proprietary Floodlight 14
  • 15. Floodlight Overview Floodlight is a completely open, free, Apache-licensed Java-based OpenFlow controller. ©2012 – Big Switch Networks Inc. 15
  • 16. Floodlight Controller A great platform for OpenFlow Research and Easy to build, run, and commercial friendly  develop Toolchain Rich set of build and Community of OpenFlow debugging tools experts, access to commercial upgrades, and frequent testing ©2012 – Big Switch Networks Inc. 16
  • 17. Building Floodlight Fast…an 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. 17
  • 19. Floodlight Architecture TopologyManager  Modules exporting “services” LinkDiscovery  All modules in Java, support for Jython as well Forwarding FloodlightProvider  Main module is DeviceManager FloodlightProvider  Manages I/O to switches StorageSource  Translates OF messages to Floodlight events  Multi-threaded via Netty library (all RestServer modules must be thread-safe) StaticFlowPusher  Rich, extensible REST API ©2012 – Big Switch Networks Inc. 19
  • 20. Module Descriptions  Computes shortest path using Dijsktra TopologyManager  Keeps switch to cluster mappings  Maintains state of links in network LinkDiscovery  Sends out LLDPs Forwarding  Installs flow mods for end-to-end routing FloodlightProvider  Handles island routing  Tracks hosts on the network DeviceManager  MAC -> switch,port, MAC->IP, IP->MAC  DB style storage (queries, etc) StorageSource  Modules can access all data and subscribe to changes  Implements via Restlets (restlet.org) RestServer  Modules must implement RestletRoutable  Supports the insertion and removal of static flows StaticFlowPusher  REST-based API ©2012 – Big Switch Networks Inc. 20
  • 22. OpenFlow Controllers Options Beyond Floodlight  Beacon: beaconcontroller.net (Java)  NOX: noxrepo.org (C++ and Python)  Trema: trema.github.com/trema/ (Ruby and C)  Reference controller (C) ©2012 – Big Switch Networks Inc. 22
  • 23. Mininet OpenFlow network simulator  Emulate OpenFlow network in a box  Uses Linux Containers and IP namespace  Runs your choice of software switch  Stanford’s reference OpenFlow switch  OpenVSwitch  CLI allows interactive management of emulated virtual hosts  Packaged in the Floodlight VM at:  http://floodlight.openflowhub.org/download ©2012 – Big Switch Networks Inc. 23
  • 25. Switch Ecosystem Major vendors have upcoming products Controller Platform Southbound APIs Virtual Switches Physical Switches Available Announced Stanford Reference Switch ©2012 – Big Switch Networks Inc. * Supported platforms: Pronto w/ indigo – 3240/3290, HP: 3500, 5400, 8200 (procurves), IBM 8264, NEC PF 5820 / 5240, Extreme – Summit series
  • 26. Demo
  • 27. Getting Involved - OpenFlowHub A community of open source OpenFlow developers 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 marketing  Contact: for open source projects [email protected]  Wiki, forums, bug tracking tools, logos, etc. Projects: ©2012 – Big Switch Networks Inc.
  • 28. Interested in Learning More?  Check out the website  http://floodlight.openflowhub.org  Join the mailing list:  http://groups.google.com/a/openflowhub.org/group/floodli ght-dev/topics  Or just email [email protected]  Get the code:  http://floodlight.openflowhub.org/download ©2012 – Big Switch Networks Inc.
  • 29. Presenters Mike Cohen Product Manager [email protected] Alex Reimers Member of Technical Staff [email protected] ©2012 – Big Switch Networks Inc. 29
  • 30. End
  • 32. Network considerations  Why OpenFlow?  Lots of reasons we talked about already...  Simplest is network monitoring from a single location – packetin, flow modes, cpu usage, throughput, devices connected, etc.  Control / Data networks  Offer critical services on non-OF network (ie. Voip)  Control / data path separation – vlans in most cases  Deploy OF from edge to core. Gain increased visibility over time.  Measure traffic patterns and make sure your switch hardware can support it. Some have limited control traffic throughput (flow set up rate, etc.).  Security considerations  Do you need to protect against controller DoS attacks?  Do you want encrypted control traffic?  Gotchas  Physical loops into the OpenFlow network  Wifi mesh networks ©2012 – Big Switch Networks Inc. 32
  • 34. Network Virtualization: Flowvisor Virtualized Control Plane Customer Alice Customer Bob Customer Cathy Each use case/demo presented here runs in an isolated slice of Stanford’s OpenFlow production network. Protocol OpenFlow OpenFlow Protocol Datapath FlowVisor Isolation Policy FlowVisor slices OpenFlow OpenFlow OpenFlow networks, creating multiple Datapath Datapath isolated and programmable logical networks on the same physical topology. ©2012 – Big Switch Networks Inc. 34
  • 35. Load balancing FlowScale: Load balancing using Layer 2 OF switches  Traffic load balancer using OpenFlow  Implemented in OF ToR switches  Deployed in IU IDS ©2012 – Big Switch Networks Inc. 35
  • 36. VM Management: WAN Migration Moved a VM from Stanford to Japan without changing its IP. VM hosted a video game server with active network connections. ©2012 – Big Switch Networks Inc. 36
  • 37. OpenFlow Protocol (1) Match Fields Action(s) Stats Packet + byte counters 1. Forward packet to zero or more ports 2. Encapsulate and forward to controller 3. Modify Fields 4. Vendor specific extensions Switch VLAN VLAN MAC MAC Eth IP IP IP IP L4 L4 Port ID pcp src dst type Src Dst ToS Prot sport dport + mask what fields to match ©2012 – Big Switch Networks Inc. 37
  • 38. OpenFlow Protocol (2) Switch MAC MAC Eth VLAN IP Src IP Prot TCP TCP Action port src dst type ID sport dport Switching * * 00:1f * * * * * * Port6 :.. Flow Port3 00:20 00:1f 0800 Vlan1 1.2.3.4 5.6.7.8 4 17264 Port6 switching .. .. Firewall * * * * * * * * 22 Drop Routing * * * * * * 5.6.7.8 * * Port6 VLAN * * 00:1f * Vlan1 * * * * Port6,p switching .. ort7, port8 ©2012 – Big Switch Networks Inc. 38
  • 39. Other Floodlight Highlights REST- Static 2 1 based Flow App Pusher  Java event APIs Jython App  Active work in Java App defining  REST-based APIs standard “Northbound” APIs  Ability to push flows Floodlight Controller 3 Switch  Support for OF Switch integrating with non-OpenFlow OF Switch networks OF Switch OF Switch ©2012 – Big Switch Networks Inc. 39
  • 40. IFloodlightModule Interface 1. getModuleDependencies() Function Description  What services does this moduleWhat services does this getModuleDependencies() require? module require? 2. getModuleServices(), getServiceImpls()  Services does this module provide and how? getModuleServices() Services does this module provide and how? 3. init(FloodlightModuleContext context)  Internal, before dependencies have init()’d init(FloodlightModuleContext context) Internal, before dependencies have init()’ed 4. startup(FloodlightModuleContext context)  External, with dependencies initialization startup(FloodlightModuleContext context) External, with dependencies initialization
  • 41. OpenFlow Topologies vswitch Top of rack Need OpenFlow at last hop Agg / Core in the network  For vms:vswitch  For physical hosts: Tor VM VM VM VM VM VM VM VM Floodlight can manage multiple “islands” of VM VM Physical host OpenFlow switches Physical host VM VM … … Rack 1 Rack 2 ©2012 – Big Switch Networks Inc. 41
  • 42. Demo Problem: Track the last N Packet-Ins seen by the controller and expose it via a REST API What you will see: 1. Adding a new module 2. Creating a REST API 3. Running Floodlight ©2012 – Big Switch Networks Inc. 42

Editor's Notes

  • #5: Much of traditional networking was designed in the 1970’s. The protocols and standards have evolved and proved amazingly resilient – but they are non-ideal for the challenges of modern datacenters. First, they are based on merged hw and software solutions.Second, they are based on fully distributed protocols. This made tons of sense in the early days of the internet but in a world where a datacenter admin knows every piece of hw and how its connected, distributed protocols are less helpful.
  • #6: SDN separates networking into 3 tiersA data plane tier responsible for fowarding packets.A controller thatmanagesconections to each forwarding element and acts as a network os.Applications which input control logic.
  • #7: People often conflate SDN and openflow. They are very different. OpenFlow is a protocol for switches commnicating with a controller. Its often a piece of an sdn architecture but techically isn’t required. In fact, there is also work being done on northbound api as well.
  • #9: Network virtualization is one of the most interesting examples of SDN in the real world. In involves slicing a physical network into multiple logical networks and offering isolation between. In the server world, this has shown huge operational efficiency gains and it offers similar promise in networking.Network services - Example – instead of inserting and configuring a firewall, you could just tell your controller to automatically provision rulesVM mobility and management – Virtual machines have greatly increased the complexity in the network. They get spun up and down and even can be moved around while running. SDN offers the flexibility to have the network respond quickly to changes in vm state and offers a lot of operational efficiency. CLOS – SDN and Openflow offer very flexible forwarding paradigms. One of the thing is allows is the creation of relatively low cost non-blocking clos networks for high performance environments. Data analysis – OpenFlow also makes it possible, in fact easy, to get lots of real time information about a running network. The switches and controller maintain a rich set of stats but also make it possible to direct traffic to montioring devices much the way tap or span ports would.Networkvirtualiztion - huge operational benefits - puts all policy in one place. Great for audit. - also manages p and v togetherVirtual machine management - makes it eaier to tie polcies to a vm because you can track a mac trhoughout the network - IP address is stored in the vm. Can’t change it. SDN makes it easier to alter the network around this.Vlans – still require administration
  • #11: Lets look a little more deeply at the OpenFlow protocol. It has 3 main componentsA controller, which we’ll talk a lot more about in detail. The controller handles all the control logic for the network.A potentially encrypted control channel to a switch.An openflow client running on a switch. This handles controlling the openflowdatapath.
  • #13: Many people ask us why OpenFlow is used so heavily in SDN. Essentially,OpenFlow is one of the simplest lowest level abstractions available. It allows very fine grained control over forwarding and separates control and data.
  • #14: OpenFlow 1.0 was the initial openflow spec. Its largely what is supported today in hardware and vswitches. OpenFlow 1.1 introduced a new concept of multipe tables that could be processed sequentially. This solved some of the space explosion problems the intial spec had but introduced new problems in hw.1.2 – ipv6. Generalized match – TLV based
  • #17: Tools – packetstreamer ,static flow pusher, mininet,
  • #20: Our topology, device manager know about host attachment points and make it possible to deal with integrating openflow and non openflow networks.
  • #21: Our topology, device manager know about host attachment points and make it possible to deal with integrating openflow and non openflow networks.
  • #26: Pronto w/ indigo – 3240/3290HP: 3500, 5400, 8200 (procurves)IBM 8264NEC 5820 / 5240Pronto w/ indigoExtreme – Summit series(all based on broadcomasics)
  • #33: How of works with non oF?Think through control network and data path. Have a separate network for controlUse vlans to separate control and data.Switches supported today:Stanford: - HP, nec,ibm, prontoWifi – meraki, othersWhat openflow provides that non-OF provides- Visibility- Managebility – scripts running along with OF controller to monitor packetin rates, flow mods, flow table size. Cpu usage, datapath throughput. Can monitor who is connected and how many users in network. With meraki, can know what type of devices in network, throughputHow reseasrchers can benefit?Primary reason for stanford. Enable sdn-based research. Link to internet2/geni. Migration process? Strategy?Understand traffic pattern first. Current hw has limitations on throughput (esp true of hp) on the control plane side. Flow set up rate, etc. HP offers only IP matching only in hw. Deploy from edge to core. We support switchclusters. Do it floor by floor essentially. Stanford runs two networks in parallelVoip and other key services is non-OF at least. Start with non-ciritcal traffic. Security?Highlight new visibility capabilitiesDenial of service on controller, etc.Encrypted control channels – no one does this todayInteropability of openflow and wifi? - mesh networks and host mobility create tricky situations.
  • #40: Our topology, device manager know about host attachment points and make it possible to deal with integrating openflow and non openflow networks.