Openflow overview


Published on

This is an overview of OpenFlow Networking. Derived from a talk presented at the Open Networking Summit, it talks about the motivations for OpenFlow, the details of the protocol, and the current state of hardware and software.

Published in: Technology, Business
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Now I’ll describe the API that tries to meet these goals.
  • Language open-sourcePerformance cross-platform runtime modular
  • 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
  • Openflow overview

    1. 1. OpenFlow Overview Edited by: Michael Cohen Big Switch Networks(authored by A LOT of folks listed at the end of this preso) 1
    2. 2. Agenda• Why OpenFlow?• How does OpenFlow work? 2
    3. 3. The evolution of infrastructure Servers Storage Networking • 5400 RFCs • Mainframe-style hardware + software integration • Expensive • Long protocol design + adoption cyclesCheap x86, Linux, Scale out, flash, thin Ethernet, IP, Lots ofhypervisors, cloud provisioning, object new protocols… storage, etcWhile servers and storage have evolved in cost, flexibility, speed ofdevelopment, and performance, networking has not kept pace. 3
    4. 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. 5. Control / Data plane separation Unified Data and Control Control + Data Separation App App App Add feature here?!?! Controller vs. ControlThe world today DataToday, new features are implemented as fully distributed algorithms ata protocol level rather than centralized applications. Spanning tree is agreat example…
    6. 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
    7. 7. How doesOpenFlow work? 7
    8. 8. OpenFlow ControllerOpenFlow Protocol (SSL/TCP) Control Path OpenFlow Data Path (Hardware) 8
    9. 9. OpenFlow Example Controller PCSoftwareLayer OpenFlow Client Flow Table MAC MAC IP IP TCP TCP Action src dst Src Dst sport dportHardware * * * * * port 1Layer port 1 port 2 port 3 port 4 9
    10. 10. OpenFlow BasicsFlow 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. 11. Examples Switch MAC MAC Eth VLAN IP Src IP Prot TCP TCP Action port src dst type ID sport dportSwitching * * 00:1f * * * * * * Port6 :..Flow Port3 00:2 00:1f 0800 Vlan1 4 17264 Port6switching 0.. ..Firewall * * * * * * * * 22 DropRouting * * * * * * * * Port6VLAN * * 00:1f * Vlan1 * * * * Port6,switching .. port7, port8 11
    12. 12. Centralized vs Distributed ControlAnything 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. 13. Flow Routing vs. AggregationAnything in this spectrum is possible with OpenFlowFlow-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. 14. Reactive vs. Proactive (pre-populated)Anything in this spectrum is possible with OpenFlowReactive 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. 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. 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. 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
    18. 18. OpenFlow BuildingBlocks 18
    19. 19. OpenFlow building blocks oftrace oflops Monitoring/ openseer debugging tools Stanford ProvidedENVI (GUI) LAVI n-Casting Expedient ApplicationsFloodlight NOX Beacon Trema Maestro Controller FlowVisor Slicing Console FlowVisor SoftwareCommercial 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. 20. Current SDN hardwareJuniper MX-series NEC IP8800 WiMax (NEC)HP Procurve 5400 Netgear 7324 PC EnginesPronto 3240/3290 Ciena Coredirector Ask your vendors 20
    21. 21. Commercial Switch VendorsModel Virtualize NotesHP Procurve 5400zl or 1 OF -LACP, VLAN and STP processing6600 instance before OpenFlow per VLAN -Wildcard rules or non-IP pkts processed in s/w -Header rewriting in s/w -CPU protects mgmt during loopNEC IP8800 1 OF -OpenFlow takes precedence instance -Most actions processed in per VLAN hardware -MAC header rewriting in h/wPronto 3240 or 3290 1 OF -No legacy protocols (like VLANwith Pica8 or Indigo instance and STP)firmware per switch -Most actions processed in hardware -MAC header rewriting in h/w 21
    22. 22. Open ControllersName Lang Platform(s License Original Notes ) AuthorOpenFlow C Linux OpenFlow Stanford/Nic not designed for extensibilityReference License iraNOX 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 codeMaestro Java Win, Mac, LGPL Zheng Cai Linux (Rice)Trema Ruby, C Linux GPL NEC includes emulator, regression test frameworkFloodlight Java Win, Mac, Apache Big Switch Apache licensed, actively Linux developed 22
    23. 23. all 1M plus flows in one box!CPU: 1 x Intel Core i7 930 @ 3.33ghz, 9GB RAM, Ubuntu 10.04.1 x64For more testing details, see: 23
    24. 24. Closed-source Controller Vendors• Ask these vendors for more info – BigSwitch – Nicira – NEC 24
    25. 25. Growing Community Vendors and start-ups Providers and business-unit More... More...Note: Level of interest varies 25
    26. 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. 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. 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
    29. 29. Questions / Comments? 29