SlideShare a Scribd company logo
1 of 29
OpenFlow Overview
                   Edited by:
                 Michael Cohen
           mike.cohen@bigswitch.com
              Big Switch Networks
(authored by A LOT of folks listed at the end of this preso)
                                                          1
Agenda
• Why OpenFlow?

• How does OpenFlow work?




                            2
The evolution of infrastructure
    Servers                    Storage                     Networking


                                                          • 5400 RFCs

                                                          • Mainframe-style
                                                            hardware + software
                                                            integration

                                                          • Expensive

                                                          • Long protocol design +
                                                            adoption cycles

Cheap x86, Linux,            Scale out, flash, thin         Ethernet, IP, Lots of
hypervisors, cloud           provisioning, object             new protocols…
                                 storage, etc
While servers and storage have evolved in cost, flexibility, speed of
development, and performance, networking has not kept pace.                         3
Closed vs. Open platforms
      Closed Platform                         Open Platform
                                          3rd party       3rd party
   Feature        Feature                 App             App

                                                 Public APIs
    Proprietary interface
                                               OS / Controller
           Kernel OS
                +
       Specialized Packet         vs.        Standard hardware
     Forwarding Hardware


  • Specialized hardware                • Standard, well understood hw

  • Closed proprietary stack            • Open standards – vibrant 3rd
                                          party ecosystem
  • Slow innovation
                                                                      4
                                        • Very fast innovation


                The world today
Control / Data plane separation
   Unified Data and Control                       Control + Data Separation
                                                   App        App           App
               Add feature
                here?!?!                                   Controller




                                       vs.

                                                                              Control
The world today                                                               Data




Today, new features are implemented as fully distributed algorithms at
a protocol level rather than centralized applications. Spanning tree is a
great example…
OpenFlow: a pragmatic compromise
• Separate the control plane and the data plane
  – No need for spanning tree


• Develop an open ecosystem for networking
  with clean abstractions and an easy
  programming model

• Result: Faster innovation, lower costs, more
  flexibility!
                                                  6
How does
OpenFlow work?


                 7
OpenFlow Controller


OpenFlow Protocol (SSL/TCP)


    Control Path        OpenFlow


         Data Path (Hardware)

                                   8
OpenFlow Example
                                                                                        Controller

                                                                                             PC
Software
Layer
                 OpenFlow Client

                                Flow Table
             MAC      MAC   IP            IP        TCP   TCP
                                                                Action
             src      dst   Src           Dst       sport dport
Hardware
             *        *     *             5.6.7.8   *            *   port 1
Layer




                 port 1          port 2                 port 3           port 4




   5.6.7.8                                                                    1.2.3.4          9
OpenFlow Basics
Flow Table Entries

    Rule         Action          Stats


                                 Packet + byte counters
           1.   Forward packet to zero or more ports
           2.   Encapsulate and forward to controller
           3.   Send to normal processing pipeline
           4.   Modify Fields
           5.   Any extensions you add!

 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
                                                                               10
Examples
            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:2   00:1f 0800   Vlan1   1.2.3.4   5.6.7.8   4       17264   Port6
switching            0..    ..
Firewall    *        *      *     *      *       *         *         *       22      Drop
Routing     *        *      *     *      *       *         5.6.7.8   *       *       Port6
VLAN        *        *      00:1f *      Vlan1   *         *         *       *       Port6,
switching                   ..                                                       port7,
                                                                                     port8




                                                                                        11
Centralized vs Distributed Control
Anything in this spectrum is possible with OpenFlow


  Centralized Control                      Distributed Control
                            Controller            Controller




      OpenFlow                                 OpenFlow
      Switch                                   Switch
                                                            Controller



   OpenFlow                                  OpenFlow                    Controller
   Switch                                    Switch



                 OpenFlow                                 OpenFlow
                 Switch                                   Switch


                                                                                      12
Flow Routing vs. Aggregation
Anything in this spectrum is possible with OpenFlow


Flow-Based                             Aggregated

•   Every flow is individually     •    One flow entry covers large
    set up by controller                groups of flows
•   Exact-match flow entries       •    Wildcard flow entries
•   Flow table contains one        •    Flow table contains one
    entry per flow                      entry per category of flows
•   Good for fine grain            •    Good for large number of
    control, e.g. campus                flows, e.g. backbone
    networks



                                                                      13
Reactive vs. Proactive (pre-populated)
Anything in this spectrum is possible with OpenFlow


Reactive                            Proactive

•   First packet of flow            •   Controller pre-populates
    triggers controller to insert       flow table in switch
    flow entries                    •   Zero additional flow setup
•   Efficient use of flow table         time
•   Every flow incurs small         •   Loss of control connection
    additional flow setup time          does not disrupt traffic
•   If control connection lost,     •   Essentially requires
    switch has limited utility          aggregated (wildcard) rules



                                                                      14
What you cannot do with OpenFlow v1.0
• Non-flow-based (per-packet) networking
   – ex. Per-packet next-hop selection (in wireless mesh)
   – yes, this is a fundamental limitation
   – BUT OpenFlow can provide the plumbing to connect these
     systems
• Use all tables on switch chips
   – yes, a major limitation (cross-product issue)
   – BUT OF version 1.1 exposes these, providing a way around
     the cross-product state explosion



                                                            15
What you cannot do with OpenFlow v1.0
• New forwarding primitives
   – BUT provides a nice way to integrate them through
     extensions
• New packet formats/field definitions
   – BUT a generalized OpenFlow (2.0) is on the horizon
• Optical Circuits
   – BUT efforts underway to apply OpenFlow model to circuits
• Low-setup-time individual flows
   – BUT can push down flows proactively to avoid delays
Where it’s going
• OF v1.1: released March 1
  – multiple tables: leverage additional tables
  – tags and tunnels
  – multipath forwarding
• OF v1.2+
  – extensible match
  – generalized matching and actions: an “instruction
    set” for networking


                                                        17
OpenFlow Building
Blocks


                    18
OpenFlow building blocks
      oftrace           oflops
                                                                         Monitoring/
                                         openseer
                                                                      debugging tools
                             Stanford Provided
ENVI (GUI)            LAVI           n-Casting         Expedient              Applications

Floodlight      NOX          Beacon            Trema    Maestro                 Controller

       FlowVisor                                                                   Slicing
        Console                          FlowVisor                               Software
Commercial Switches                        Stanford Provided
                                  Software                      Broadcom
                                                 NetFPGA
  HP, NEC, Pronto,               Ref. Switch                    Ref. Switch     OpenFlow
 Juniper.. and many
       more                      OpenWRT
                                                 PCEngine
                                                               Open vSwitch
                                                                                Switches
                                                  WiFi AP
                                                                                     19
Current SDN hardware
Juniper MX-series       NEC IP8800       WiMax (NEC)




HP Procurve 5400       Netgear 7324      PC Engines




Pronto 3240/3290    Ciena Coredirector


                                            Ask your
                                            vendors

                                                       20
Commercial Switch Vendors
Model                   Virtualize   Notes

HP Procurve 5400zl or   1 OF         -LACP, VLAN and STP processing
6600                    instance     before OpenFlow
                        per VLAN     -Wildcard rules or non-IP pkts
                                     processed in s/w
                                     -Header rewriting in s/w
                                     -CPU protects mgmt during loop
NEC IP8800              1 OF         -OpenFlow takes precedence
                        instance     -Most actions processed in
                        per VLAN     hardware
                                     -MAC header rewriting in h/w


Pronto 3240 or 3290     1 OF         -No legacy protocols (like VLAN
with Pica8 or Indigo    instance     and STP)
firmware                per switch   -Most actions processed in
                                     hardware
                                     -MAC header rewriting in h/w      21
Open Controllers
Name         Lang      Platform(s   License        Original       Notes
                       )                           Author
OpenFlow     C         Linux        OpenFlow       Stanford/Nic   not designed for extensibility
Reference                           License        ira


NOX          Python    Linux        GPL            Nicira         actively developed
             , C++

Beacon       Java      Win, Mac,    GPL (core),    David          runtime modular, web UI
                       Linux,       FOSS           Erickson       framework, regression test
                       Android      Licenses for   (Stanford)     framework
                                    your code
Maestro      Java      Win, Mac,    LGPL           Zheng Cai
                       Linux                       (Rice)

Trema        Ruby, C   Linux        GPL            NEC            includes emulator, regression test
                                                                  framework

Floodlight   Java      Win, Mac,    Apache         Big Switch     Apache licensed, actively
                       Linux                                      developed
                                                                                                   22
all 1M
                                                              plus flows
                                                              in one
                                                              box!




CPU: 1 x Intel Core i7 930 @ 3.33ghz, 9GB RAM, Ubuntu 10.04.1 x64
For more testing details, see:
http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons
                                                                          23
Closed-source Controller Vendors
• Ask these vendors for more info
  – BigSwitch
  – Nicira
  – NEC




                                    24
Growing Community
       Vendors and start-ups     Providers and business-unit




              More...                   More...

Note: Level of interest varies
                                                               25
This tutorial was adapted from

• OpenFlow Experts
  –   Brandon Heller
  –   Glen Gibb
  –   Nicholas Bastin
  –   Ali Al-Shabibi
  –   Tatsuya Yabe
  –   Masayoshi Kobayashi
  –   Yiannis Yiakoumis
  –   Ali Yahya
  –   Te-Yuan Huang
  –   Bob Lantz
  –   David Erickson

                                 26
This tutorial wouldn’t be possible without:
• Deployment Forum Speakers
  – Subhasree Mandal (Google)
  – Johan van Reijendam (Stanford)
  – David Erickson (Stanford)
• Videographer:
  – Yiannis Yiakoumis




                                              27
This tutorial wouldn’t be possible without:
• Past slides from:
   –   Nick McKeown
   –   Rob Sherwood
   –   Guru Parulkar
   –   Srini Seetharaman
   –   Yiannis Yiakoumis
   –   Guido Appenzeller
   –   Masa Kobayashi, + others




                                              28
Questions / Comments?




                        29

More Related Content

What's hot

Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)Kentaro Ebisawa
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionCcie Light
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingsuniltomar04
 
Implementing MPLS Services using Openflow
Implementing MPLS Services using OpenflowImplementing MPLS Services using Openflow
Implementing MPLS Services using OpenflowAPNIC
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlowJoel W. King
 
Open Flow Tutorial Series - Set 1
Open Flow Tutorial Series - Set 1Open Flow Tutorial Series - Set 1
Open Flow Tutorial Series - Set 1Radhika Hirannaiah
 
OpenFlow: What is it Good For?
OpenFlow: What is it Good For? OpenFlow: What is it Good For?
OpenFlow: What is it Good For? APNIC
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorialopenflow
 
Onos overview meetup sdn paris - redux
Onos overview  meetup sdn paris - reduxOnos overview  meetup sdn paris - redux
Onos overview meetup sdn paris - reduxSDN_Paris
 
Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architectureSoftware Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecturePritesh Ranjan
 
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. GrayOVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. Grayharryvanhaaren
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar
 
Tech Talk: ONOS- A Distributed SDN Network Operating System
Tech Talk: ONOS- A Distributed SDN Network Operating SystemTech Talk: ONOS- A Distributed SDN Network Operating System
Tech Talk: ONOS- A Distributed SDN Network Operating Systemnvirters
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingThomas Graf
 
Network Test Automation 2015-04-23 #npstudy
Network Test Automation 2015-04-23 #npstudyNetwork Test Automation 2015-04-23 #npstudy
Network Test Automation 2015-04-23 #npstudyHiroshi Ota
 
OPNFV Service Function Chaining
OPNFV Service Function ChainingOPNFV Service Function Chaining
OPNFV Service Function ChainingOPNFV
 
[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4Open Networking Summits
 

What's hot (20)

Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
 
Cisco Openflow
Cisco OpenflowCisco Openflow
Cisco Openflow
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sion
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Implementing MPLS Services using Openflow
Implementing MPLS Services using OpenflowImplementing MPLS Services using Openflow
Implementing MPLS Services using Openflow
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
Open Flow Tutorial Series - Set 1
Open Flow Tutorial Series - Set 1Open Flow Tutorial Series - Set 1
Open Flow Tutorial Series - Set 1
 
OpenFlow: What is it Good For?
OpenFlow: What is it Good For? OpenFlow: What is it Good For?
OpenFlow: What is it Good For?
 
Openflow Protocol
Openflow ProtocolOpenflow Protocol
Openflow Protocol
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
 
Onos overview meetup sdn paris - redux
Onos overview  meetup sdn paris - reduxOnos overview  meetup sdn paris - redux
Onos overview meetup sdn paris - redux
 
Open Network Operating System
Open Network Operating SystemOpen Network Operating System
Open Network Operating System
 
Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architectureSoftware Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecture
 
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. GrayOVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
 
Tech Talk: ONOS- A Distributed SDN Network Operating System
Tech Talk: ONOS- A Distributed SDN Network Operating SystemTech Talk: ONOS- A Distributed SDN Network Operating System
Tech Talk: ONOS- A Distributed SDN Network Operating System
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
Network Test Automation 2015-04-23 #npstudy
Network Test Automation 2015-04-23 #npstudyNetwork Test Automation 2015-04-23 #npstudy
Network Test Automation 2015-04-23 #npstudy
 
OPNFV Service Function Chaining
OPNFV Service Function ChainingOPNFV Service Function Chaining
OPNFV Service Function Chaining
 
[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4
 

Viewers also liked

Programmable Network Node: Applications
Programmable Network Node: ApplicationsProgrammable Network Node: Applications
Programmable Network Node: ApplicationsTal Lavian Ph.D.
 
Virtual Network System: Splitting Control and Data Plane to Optimize IP and T...
Virtual Network System: Splitting Control and Data Plane to Optimize IP and T...Virtual Network System: Splitting Control and Data Plane to Optimize IP and T...
Virtual Network System: Splitting Control and Data Plane to Optimize IP and T...Ericsson
 
OpenFlow — the key standard of Software-Defined Networks
OpenFlow — the key standard of Software-Defined NetworksOpenFlow — the key standard of Software-Defined Networks
OpenFlow — the key standard of Software-Defined NetworksMinsk Linux User Group
 
Architecture of OpenFlow SDNs
Architecture of OpenFlow SDNsArchitecture of OpenFlow SDNs
Architecture of OpenFlow SDNsUS-Ignite
 
Tutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionTutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionAntonio Capone
 
SDN & NFV Orchestration
SDN & NFV OrchestrationSDN & NFV Orchestration
SDN & NFV OrchestrationTanto Suratno
 
GMPLS, SDN, Optical Networking and Control Planes
GMPLS, SDN, Optical Networking and Control PlanesGMPLS, SDN, Optical Networking and Control Planes
GMPLS, SDN, Optical Networking and Control PlanesADVA
 
Tutorial on SDN and OpenFlow
Tutorial on SDN and OpenFlowTutorial on SDN and OpenFlow
Tutorial on SDN and OpenFlowKingston Smiler
 
Ryu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST APIRyu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST APIjieun kim
 
MPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label SwitchingMPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label SwitchingPeter R. Egli
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Diverajdeep
 
Introduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVIntroduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVKingston Smiler
 

Viewers also liked (14)

Programmable Network Node: Applications
Programmable Network Node: ApplicationsProgrammable Network Node: Applications
Programmable Network Node: Applications
 
Virtual Network System: Splitting Control and Data Plane to Optimize IP and T...
Virtual Network System: Splitting Control and Data Plane to Optimize IP and T...Virtual Network System: Splitting Control and Data Plane to Optimize IP and T...
Virtual Network System: Splitting Control and Data Plane to Optimize IP and T...
 
Openflow spec-v1.3.0
Openflow spec-v1.3.0Openflow spec-v1.3.0
Openflow spec-v1.3.0
 
OpenFlow — the key standard of Software-Defined Networks
OpenFlow — the key standard of Software-Defined NetworksOpenFlow — the key standard of Software-Defined Networks
OpenFlow — the key standard of Software-Defined Networks
 
Architecture of OpenFlow SDNs
Architecture of OpenFlow SDNsArchitecture of OpenFlow SDNs
Architecture of OpenFlow SDNs
 
Tutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionTutorial on SDN data plane evolution
Tutorial on SDN data plane evolution
 
SDN & NFV Orchestration
SDN & NFV OrchestrationSDN & NFV Orchestration
SDN & NFV Orchestration
 
GMPLS, SDN, Optical Networking and Control Planes
GMPLS, SDN, Optical Networking and Control PlanesGMPLS, SDN, Optical Networking and Control Planes
GMPLS, SDN, Optical Networking and Control Planes
 
Tutorial on SDN and OpenFlow
Tutorial on SDN and OpenFlowTutorial on SDN and OpenFlow
Tutorial on SDN and OpenFlow
 
Ryu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST APIRyu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST API
 
MPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label SwitchingMPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label Switching
 
MPLS Presentation
MPLS PresentationMPLS Presentation
MPLS Presentation
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
Introduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVIntroduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFV
 

Similar to Openflow overview

software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllersIsaku Yamahata
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerHolger Winkelmann
 
PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow PROIDEA
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiHui Cheng
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch IntroductionHungWei Chiu
 
Open switches story mohamed hassan v4
Open switches story   mohamed hassan v4Open switches story   mohamed hassan v4
Open switches story mohamed hassan v4Mohamed Hassan
 
Software defined network and Virtualization
Software defined network and VirtualizationSoftware defined network and Virtualization
Software defined network and Virtualizationidrajeev
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingOpenSourceIndia
 
Presentation11
Presentation11Presentation11
Presentation11KellyCheah
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...NETWAYS
 
Osdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauserOsdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauseryfauser
 
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitchDPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitchJim St. Leger
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspeChris Westin
 
Open daylight openstack_meetup_20140218
Open daylight openstack_meetup_20140218Open daylight openstack_meetup_20140218
Open daylight openstack_meetup_20140218phrobb
 
Software Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksSoftware Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksMyNOG
 

Similar to Openflow overview (20)

OpenFlow Tutorial
OpenFlow TutorialOpenFlow Tutorial
OpenFlow Tutorial
 
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllers
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
 
PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-torii
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
Open switches story mohamed hassan v4
Open switches story   mohamed hassan v4Open switches story   mohamed hassan v4
Open switches story mohamed hassan v4
 
Software defined network and Virtualization
Software defined network and VirtualizationSoftware defined network and Virtualization
Software defined network and Virtualization
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Presentation11
Presentation11Presentation11
Presentation11
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
 
Osdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauserOsdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauser
 
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitchDPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspe
 
Open daylight openstack_meetup_20140218
Open daylight openstack_meetup_20140218Open daylight openstack_meetup_20140218
Open daylight openstack_meetup_20140218
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Introductionto SDN
Introductionto SDN Introductionto SDN
Introductionto SDN
 
Introduction to SDN
Introduction to SDNIntroduction to SDN
Introduction to SDN
 
Software Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksSoftware Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable Networks
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
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
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
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
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
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
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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
 
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
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
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
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
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
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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
 

Openflow overview

  • 1. OpenFlow Overview Edited by: Michael Cohen mike.cohen@bigswitch.com Big Switch Networks (authored by A LOT of folks listed at the end of this preso) 1
  • 2. Agenda • Why OpenFlow? • How does OpenFlow work? 2
  • 3. The evolution of infrastructure Servers Storage Networking • 5400 RFCs • Mainframe-style hardware + software integration • Expensive • Long protocol design + adoption cycles Cheap x86, Linux, Scale out, flash, thin Ethernet, IP, Lots of hypervisors, cloud provisioning, object new protocols… storage, etc While servers and storage have evolved in cost, flexibility, speed of development, and performance, networking has not kept pace. 3
  • 4. Closed vs. Open platforms Closed Platform Open Platform 3rd party 3rd party Feature Feature App App Public APIs Proprietary interface OS / Controller Kernel OS + Specialized Packet vs. Standard hardware Forwarding Hardware • Specialized hardware • Standard, well understood hw • Closed proprietary stack • Open standards – vibrant 3rd party ecosystem • Slow innovation 4 • Very fast innovation The world today
  • 5. Control / Data plane separation Unified Data and Control Control + Data Separation App App App Add feature here?!?! Controller vs. Control The world today Data Today, new features are implemented as fully distributed algorithms at a protocol level rather than centralized applications. Spanning tree is a great example…
  • 6. OpenFlow: a pragmatic compromise • Separate the control plane and the data plane – No need for spanning tree • Develop an open ecosystem for networking with clean abstractions and an easy programming model • Result: Faster innovation, lower costs, more flexibility! 6
  • 8. OpenFlow Controller OpenFlow Protocol (SSL/TCP) Control Path OpenFlow Data Path (Hardware) 8
  • 9. OpenFlow Example Controller PC Software Layer OpenFlow Client Flow Table MAC MAC IP IP TCP TCP Action src dst Src Dst sport dport Hardware * * * 5.6.7.8 * * port 1 Layer port 1 port 2 port 3 port 4 5.6.7.8 1.2.3.4 9
  • 10. OpenFlow Basics Flow Table Entries Rule Action Stats Packet + byte counters 1. Forward packet to zero or more ports 2. Encapsulate and forward to controller 3. Send to normal processing pipeline 4. Modify Fields 5. Any extensions you add! 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 10
  • 11. Examples 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:2 00:1f 0800 Vlan1 1.2.3.4 5.6.7.8 4 17264 Port6 switching 0.. .. Firewall * * * * * * * * 22 Drop Routing * * * * * * 5.6.7.8 * * Port6 VLAN * * 00:1f * Vlan1 * * * * Port6, switching .. port7, port8 11
  • 12. Centralized vs Distributed Control Anything in this spectrum is possible with OpenFlow Centralized Control Distributed Control Controller Controller OpenFlow OpenFlow Switch Switch Controller OpenFlow OpenFlow Controller Switch Switch OpenFlow OpenFlow Switch Switch 12
  • 13. Flow Routing vs. Aggregation Anything in this spectrum is possible with OpenFlow Flow-Based Aggregated • Every flow is individually • One flow entry covers large set up by controller groups of flows • Exact-match flow entries • Wildcard flow entries • Flow table contains one • Flow table contains one entry per flow entry per category of flows • Good for fine grain • Good for large number of control, e.g. campus flows, e.g. backbone networks 13
  • 14. Reactive vs. Proactive (pre-populated) Anything in this spectrum is possible with OpenFlow Reactive Proactive • First packet of flow • Controller pre-populates triggers controller to insert flow table in switch flow entries • Zero additional flow setup • Efficient use of flow table time • Every flow incurs small • Loss of control connection additional flow setup time does not disrupt traffic • If control connection lost, • Essentially requires switch has limited utility aggregated (wildcard) rules 14
  • 15. What you cannot do with OpenFlow v1.0 • Non-flow-based (per-packet) networking – ex. Per-packet next-hop selection (in wireless mesh) – yes, this is a fundamental limitation – BUT OpenFlow can provide the plumbing to connect these systems • Use all tables on switch chips – yes, a major limitation (cross-product issue) – BUT OF version 1.1 exposes these, providing a way around the cross-product state explosion 15
  • 16. What you cannot do with OpenFlow v1.0 • New forwarding primitives – BUT provides a nice way to integrate them through extensions • New packet formats/field definitions – BUT a generalized OpenFlow (2.0) is on the horizon • Optical Circuits – BUT efforts underway to apply OpenFlow model to circuits • Low-setup-time individual flows – BUT can push down flows proactively to avoid delays
  • 17. Where it’s going • OF v1.1: released March 1 – multiple tables: leverage additional tables – tags and tunnels – multipath forwarding • OF v1.2+ – extensible match – generalized matching and actions: an “instruction set” for networking 17
  • 19. OpenFlow building blocks oftrace oflops Monitoring/ openseer debugging tools Stanford Provided ENVI (GUI) LAVI n-Casting Expedient Applications Floodlight NOX Beacon Trema Maestro Controller FlowVisor Slicing Console FlowVisor Software Commercial Switches Stanford Provided Software Broadcom NetFPGA HP, NEC, Pronto, Ref. Switch Ref. Switch OpenFlow Juniper.. and many more OpenWRT PCEngine Open vSwitch Switches WiFi AP 19
  • 20. Current SDN hardware Juniper MX-series NEC IP8800 WiMax (NEC) HP Procurve 5400 Netgear 7324 PC Engines Pronto 3240/3290 Ciena Coredirector Ask your vendors 20
  • 21. Commercial Switch Vendors Model Virtualize Notes HP Procurve 5400zl or 1 OF -LACP, VLAN and STP processing 6600 instance before OpenFlow per VLAN -Wildcard rules or non-IP pkts processed in s/w -Header rewriting in s/w -CPU protects mgmt during loop NEC IP8800 1 OF -OpenFlow takes precedence instance -Most actions processed in per VLAN hardware -MAC header rewriting in h/w Pronto 3240 or 3290 1 OF -No legacy protocols (like VLAN with Pica8 or Indigo instance and STP) firmware per switch -Most actions processed in hardware -MAC header rewriting in h/w 21
  • 22. Open Controllers Name Lang Platform(s License Original Notes ) Author OpenFlow C Linux OpenFlow Stanford/Nic not designed for extensibility Reference License ira NOX Python Linux GPL Nicira actively developed , C++ Beacon Java Win, Mac, GPL (core), David runtime modular, web UI Linux, FOSS Erickson framework, regression test Android Licenses for (Stanford) framework your code Maestro Java Win, Mac, LGPL Zheng Cai Linux (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test framework Floodlight Java Win, Mac, Apache Big Switch Apache licensed, actively Linux developed 22
  • 23. all 1M plus flows in one box! CPU: 1 x Intel Core i7 930 @ 3.33ghz, 9GB RAM, Ubuntu 10.04.1 x64 For more testing details, see: http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons 23
  • 24. Closed-source Controller Vendors • Ask these vendors for more info – BigSwitch – Nicira – NEC 24
  • 25. Growing Community Vendors and start-ups Providers and business-unit More... More... Note: Level of interest varies 25
  • 26. This tutorial was adapted from • OpenFlow Experts – Brandon Heller – Glen Gibb – Nicholas Bastin – Ali Al-Shabibi – Tatsuya Yabe – Masayoshi Kobayashi – Yiannis Yiakoumis – Ali Yahya – Te-Yuan Huang – Bob Lantz – David Erickson 26
  • 27. This tutorial wouldn’t be possible without: • Deployment Forum Speakers – Subhasree Mandal (Google) – Johan van Reijendam (Stanford) – David Erickson (Stanford) • Videographer: – Yiannis Yiakoumis 27
  • 28. This tutorial wouldn’t be possible without: • Past slides from: – Nick McKeown – Rob Sherwood – Guru Parulkar – Srini Seetharaman – Yiannis Yiakoumis – Guido Appenzeller – Masa Kobayashi, + others 28

Editor's Notes

  1. Now I’ll describe the API that tries to meet these goals.
  2. Language open-sourcePerformance cross-platform runtime modular
  3. Cbench Test, part of Oflops suitePacketIn to PacketOut/FlowModthroughput test, fills controller input buffers10 loops, 32 switches, 10s per loop Test MachineCPU: 1x Intel Core i7 930 @ 3.33ghz, 9GB RAM, Ubuntu 10.04.1 x64ControllersBeacon, NOX (Destiny branch), Maestro