Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

OpenFlow tutorial

37 577 vues

Publié le

OpenFlow tutorial by Srini Seetharaman from the Stanford Clean Slate Lab

Publié dans : Technologie
  • DOWNLOAD FULL. BOOKS INTO AVAILABLE FORMAT, ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD FULL. BOOKS INTO AVAILABLE FORMAT, ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

OpenFlow tutorial

  1. 1. OpenFlow/Software-defined Networking Nov, 2011 Srini Seetharaman Tech Lead, SDN Deutsche Telekom Innovation Center
  2. 2. The Ossified Network 6000+ RFCs Barrier to entry Bloated Power Hungry <ul><li>Many complex functions baked into the infrastructure </li></ul><ul><ul><ul><li>OSPF, BGP, multicast, differentiated services, Traffic Engineering, NAT, firewalls, MPLS, redundant layers, … </li></ul></ul></ul><ul><li>An industry with a “mainframe-mentality”, reluctant to change </li></ul>Million of lines of source code Billions of gates Specialized Packet Forwarding Hardware Operating System Feature Feature Routing, management, mobility management, access control, VPNs, …
  3. 3. Open Systems gap in the tool space none have all the desired attributes! Performance Fidelity Scale Real User Traffic? Complexity Open Simulation medium medium no medium yes Emulation medium low no medium yes Software Switches poor low yes medium yes NetFPGA high low yes high yes Network Processors high medium yes high yes Vendor Switches high high yes low no
  4. 4. Current Internet Closed to Innovations in the Infrastructure Closed Specialized Packet Forwarding Hardware App App App Specialized Packet Forwarding Hardware App App App Specialized Packet Forwarding Hardware App App App Specialized Packet Forwarding Hardware App App App Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System Operating System App App App
  5. 5. “ Software Defined Networking” approach to open it Specialized Packet Forwarding Hardware App App App Specialized Packet Forwarding Hardware App App App Specialized Packet Forwarding Hardware App App App Specialized Packet Forwarding Hardware App App App Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System Operating System App App App Network Operating System App App App
  6. 6. The “Software-defined Network” App Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware App App Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Network Operating System 1. Open interface to hardware 3. Well-defined open API 2. At least one good operating system Extensible, possibly open-source
  7. 7. How does OpenFlow work?
  8. 8. Ethernet Switch
  9. 9. Data Path (Hardware) Control Path Control Path (Software)
  10. 10. Data Path (Hardware) Control Path OpenFlow OpenFlow Controller OpenFlow Protocol (SSL/TCP)
  11. 11. OpenFlow usage Controller OpenFlow Switch OpenFlow Switch OpenFlow Switch Alice’s code Decision? OpenFlow Protocol OpenFlow offloads control intelligence to a remote software PC Alice’s Rule Alice’s Rule Alice’s Rule
  12. 12. Controller PC Hardware Layer Software Layer Flow Table OpenFlow Client port 4 port 3 port 2 port 1 1.2.3.4 5.6.7.8 OpenFlow Example MAC src MAC dst IP Src IP Dst TCP sport TCP dport Action * * 5.6.7.8 * * * port 1
  13. 13. OpenFlow Basics Flow Table Entries Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot L4 sport L4 dport Rule Action Stats <ul><li>Forward packet to zero or more ports </li></ul><ul><li>Encapsulate and forward to controller </li></ul><ul><li>Send to normal processing pipeline </li></ul><ul><li>Modify Fields </li></ul><ul><li>Any extensions you add! </li></ul>+ mask what fields to match Packet + byte counters VLAN pcp IP ToS
  14. 14. OpenFlow: a pragmatic compromise <ul><li>+ Speed, scale, fidelity of vendor hardware </li></ul><ul><li>+ Flexibility and control of software and simulation </li></ul><ul><li>Vendors don’t need to expose implementation </li></ul><ul><li>Leverages hardware inside most switches today (ACL tables) </li></ul>
  15. 15. Examples Switching * * 00:1f:.. * * * * * * * port6 Flow Switching port3 00:20.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6 Firewall * * * * * * * * * 22 drop Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action
  16. 16. Examples Routing * * * * * * 5.6.7.8 * * * port6 VLAN Switching * * * vlan1 * * * * * port6, port7, port9 00:1f.. Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action
  17. 17. Centralized vs Distributed Control Both models are possible with OpenFlow <ul><li>Centralized Control </li></ul>Controller Distributed Control Controller Controller Controller OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch
  18. 18. Flow Routing vs. Aggregation Both models are possible with OpenFlow <ul><li>Flow-Based </li></ul><ul><li>Every flow is individually set up by controller </li></ul><ul><li>Exact-match flow entries </li></ul><ul><li>Flow table contains one entry per flow </li></ul><ul><li>Good for fine grain control, e.g. campus networks </li></ul><ul><li>Aggregated </li></ul><ul><li>One flow entry covers large groups of flows </li></ul><ul><li>Wildcard flow entries </li></ul><ul><li>Flow table contains one entry per category of flows </li></ul><ul><li>Good for large number of flows, e.g. backbone </li></ul>
  19. 19. Reactive vs. Proactive (pre-populated) Both models are possible with OpenFlow <ul><li>Reactive </li></ul><ul><li>First packet of flow triggers controller to insert flow entries </li></ul><ul><li>Efficient use of flow table </li></ul><ul><li>Every flow incurs small additional flow setup time </li></ul><ul><li>If control connection lost, switch has limited utility </li></ul><ul><li>Proactive </li></ul><ul><li>Controller pre-populates flow table in switch </li></ul><ul><li>Zero additional flow setup time </li></ul><ul><li>Loss of control connection does not disrupt traffic </li></ul><ul><li>Essentially requires aggregated (wildcard) rules </li></ul>
  20. 20. Usage examples <ul><li>Alice’s code: </li></ul><ul><ul><li>Simple learning switch </li></ul></ul><ul><ul><li>Per Flow switching </li></ul></ul><ul><ul><li>Network access control/firewall </li></ul></ul><ul><ul><li>Static “VLANs” </li></ul></ul><ul><ul><li>Her own new routing protocol: unicast, multicast, multipath </li></ul></ul><ul><ul><li>Home network manager </li></ul></ul><ul><ul><li>Packet processor (in controller) </li></ul></ul><ul><ul><li>IPvAlice </li></ul></ul><ul><ul><li>Stanford demonstrated </li></ul></ul><ul><ul><li>VM migration </li></ul></ul><ul><ul><li>Server Load balancing </li></ul></ul><ul><ul><li>Mobility manager </li></ul></ul><ul><ul><li>Power management </li></ul></ul><ul><ul><li>Network monitoring and visualization </li></ul></ul><ul><ul><li>Network debugging </li></ul></ul><ul><ul><li>Network slicing </li></ul></ul><ul><ul><li>… and much more you can create! </li></ul></ul>
  21. 21. Quiz Time <ul><li>How do I provide control connectivity? Is it really clean slate? </li></ul><ul><li>Why aren’t users complaining about time to setup flows over OpenFlow? (Hint: What is the predominant traffic today?) </li></ul><ul><li>Considering switch CPU is the major limit, how can one take down an OpenFlow network? </li></ul><ul><li>How to perform topology discovery over OpenFlow-enabled switches? </li></ul><ul><li>What happens when you have a non-OpenFlow switch inbetween? </li></ul><ul><li>What if there are two islands connected to same controller? </li></ul><ul><li>How scalable is OpenFlow? How does one scale deployments? </li></ul>
  22. 22. What can you not do with OpenFlow ver1.0 <ul><li>Non-flow-based (per-packet) networking </li></ul><ul><ul><li>e.g., Handling pkt 1 differently from pkt 2 of same flow </li></ul></ul><ul><ul><li>yes, this is a fundamental limitation </li></ul></ul><ul><ul><li>BUT OpenFlow provides the plumbing to connect devices </li></ul></ul><ul><li>New forwarding primitives </li></ul><ul><ul><li>BUT provides a nice way to integrate them through extensions </li></ul></ul><ul><li>New packet formats/field definitions </li></ul><ul><ul><li>BUT a generalized OpenFlow (2.0) is on the horizon </li></ul></ul><ul><li>Optical Circuits </li></ul><ul><ul><li>BUT efforts underway to apply OpenFlow model to circuits </li></ul></ul><ul><li>Low-setup-time individual flows </li></ul><ul><ul><li>BUT can push down flows proactively to avoid delays </li></ul></ul>
  23. 23. Where it’s going <ul><li>OF v1.1: Extensions for WAN, spring 2011 </li></ul><ul><ul><li>multiple tables: leverage additional tables </li></ul></ul><ul><ul><li>tags and tunnels </li></ul></ul><ul><ul><li>multipath forwarding </li></ul></ul><ul><li>OF v2+ </li></ul><ul><ul><li>generalized matching and actions: an “instruction set” for networking </li></ul></ul>
  24. 24. OpenFlow Implementations (Switch and Controller)
  25. 25. OpenFlow building blocks Controller NOX Slicing Software FlowVisor FlowVisor Console Applications LAVI ENVI (GUI) Expedient n-Casting NetFPGA Software Ref. Switch Broadcom Ref. Switch OpenWRT PCEngine WiFi AP Commercial Switches Stanford Provided OpenFlow Switches SNAC Stanford Provided Monitoring/ debugging tools oflops oftrace openseer OpenVSwitch HP, NEC, Pronto, Juniper.. and many more Beacon Helios Maestro
  26. 26. Current SDN hardware Ciena Coredirector NEC IP8800 More coming soon... Juniper MX-series HP Procurve 5400 Pronto 3240/3290 WiMax (NEC) PC Engines Netgear 7324
  27. 27. Commercial Switch Vendors Notes Virtualize Model <ul><li>No legacy protocols (like VLAN and STP) </li></ul><ul><li>Most actions processed in hardware </li></ul><ul><li>MAC header rewriting in h/w </li></ul><ul><li>OpenFlow takes precedence </li></ul><ul><li>Most actions processed in hardware </li></ul><ul><li>MAC header rewriting in h/w </li></ul><ul><li>LACP, VLAN and STP processing before OpenFlow </li></ul><ul><li>Wildcard rules or non-IP pkts processed in s/w </li></ul><ul><li>Header rewriting in s/w </li></ul><ul><li>CPU protects mgmt during loop </li></ul>1 OF instance per switch Pronto 3240 or 3290 with Pica8 or Indigo firmware 1 OF instance per VLAN NEC IP8800 1 OF instance per VLAN HP Procurve 5400zl or 6600
  28. 28. Controller Vendors <ul><li>Closed-source </li></ul><ul><li>Datacenter networks </li></ul>Nicira’s ONIX <ul><li>Open-source GPL </li></ul><ul><li>Code based on NOX0.4 </li></ul><ul><li>Enterprise network </li></ul><ul><li>C++, Python and Javascript </li></ul><ul><li>Currently used by campuses </li></ul>SNAC Notes Vendor <ul><li>Open-source GPL </li></ul><ul><li>C++ and Python </li></ul><ul><li>Researcher friendly </li></ul>Nicira’s NOX <ul><li>Open-source </li></ul><ul><li>Researcher friendly </li></ul><ul><li>Java-based </li></ul>Stanford’s Beacon <ul><li>Open-source </li></ul><ul><li>Based on Java </li></ul>Maestro (from Rice Univ) Notes Vendor <ul><li>Open-source </li></ul><ul><li>Written in C </li></ul><ul><li>Closed source </li></ul><ul><li>Based on Beacon </li></ul><ul><li>Enterprise network </li></ul>NEC’s Helios BigSwitch controller
  29. 29. Growing Community Vendors and start-ups Providers and business-unit More... More... Note: Level of interest varies
  30. 30. Virtualizing OpenFlow
  31. 31. Trend Computer Industry Network Industry Windows (OS) Windows (OS) Linux Mac OS x86 (Computer) Windows (OS) App App Linux Linux Mac OS Mac OS Virtualization layer App Controller 1 App App Controller 2 Virtualization or “Slicing” App OpenFlow Controller 1 NOX (Network OS) Controller 2 Network OS
  32. 32. Simple Packet Forwarding Hardware Network Operating System 1 Open interface to hardware Virtualization or “Slicing” Layer Network Operating System 2 Network Operating System 3 Network Operating System 4 App App App App App App App App Many operating systems, or Many versions Open interface to hardware Isolated “slices” Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware
  33. 33. Switch Based Virtualization Exists for NEC, HP switches but not flexible enough Normal L2/L3 Processing Production VLANs Research VLAN 1 Research VLAN 2 Flow Table Controller Flow Table Controller
  34. 34. FlowVisor-based Virtualization OpenFlow Protocol Craig’s Controller Heidi’s Controller Aaron’s Controller OpenFlow Protocol Topology discovery is per slice OpenFlow Switch OpenFlow FlowVisor & Policy Control OpenFlow Switch OpenFlow Switch
  35. 35. OpenFlow Protocol Broadcast Multicast http Load-balancer FlowVisor-based Virtualization Separation not only by VLANs, but any L1-L4 pattern dl_dst=FFFFFFFFFFFF tp_src=80, or tp_dst=80 OpenFlow FlowVisor & Policy Control OpenFlow Protocol OpenFlow Switch OpenFlow Switch OpenFlow Switch
  36. 36. FlowSpace: Maps Packets to Slices
  37. 37. FlowVisor Message Handling Packet Exception Policy Check: Is this rule allowed? Policy Check: Who controls this packet? Full Line Rate Forwarding Rule Packet OpenFlow Firmware Data Path Alice Controller Bob Controller Cathy Controller FlowVisor OpenFlow OpenFlow
  38. 38. Use Case: New CDN - Turbo Coral ++ <ul><li>Basic Idea: Build a CDN where you control the entire network </li></ul><ul><ul><li>All traffic to or from Coral IP space controlled by Experimenter </li></ul></ul><ul><ul><li>All other traffic controlled by default routing </li></ul></ul><ul><ul><li>Topology is entire network </li></ul></ul><ul><ul><li>End hosts are automatically added (no opt-in) </li></ul></ul>Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport * * * * * 84.65.* * * * * * * * * * * 84.65.* * * * * * * * * * * * * *
  39. 39. Summary
  40. 40. Summary <ul><li>Software-defined networking is still evolving </li></ul><ul><li>OpenFlow is being deployed in over 100 organizations world-wide </li></ul><ul><ul><li>GEC9 in Nov, 2010 showcased nation-wide OF </li></ul></ul><ul><ul><li>Internet 2 and NLR starting to serve as the GENI Backbone </li></ul></ul><ul><li>Are you innovating in your networks?? </li></ul>
  41. 41. Credits <ul><li>Thanks to following for contributing content to the tutorial: </li></ul><ul><ul><li>Nick McKeown </li></ul></ul><ul><ul><li>Guru Parulkar </li></ul></ul><ul><ul><li>Brandon Heller </li></ul></ul><ul><ul><li>Yiannis Yiakoumis </li></ul></ul><ul><ul><li>Guido Appenzeller </li></ul></ul><ul><ul><li>Rob Sherwood </li></ul></ul><ul><ul><li>Masa Kobayashi </li></ul></ul>

×