Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software Defined networking (SDN)


Published on

The Future of Networking #SDN #NFV #DC #SDDC #OpenFlow

Published in: Technology
  • Be the first to comment

Software Defined networking (SDN)

  1. 1. Software Defined Networking (SDN) - “The Future of Networking”
  2. 2. Introduction Milson Munakami – 5 years Developer Evangelist – No Cable guy – @milson
  3. 3. Agenda • What is SDN? • Hype and Confusion • Key Concept of SDN • OpenFlow • Future of SDN • Mininet At A Glance • Demo • Q & A
  4. 4. What is SDN? Introduce and demystify Software-Defined Networking (SDN)
  5. 5. What is Networking? end-hosts want to communicate?
  6. 6. What is Networking? Ethernet switches connects them
  7. 7. What is Networking? Which decide how packets should be forwarded
  8. 8. What is Networking? And actually forward them
  9. 9. How is Networking evolving? • Plug-and-play • Mobility and wireless • Structured and optimized topologies • More complex servers – cloud • Routers and wifi • Inter-domain routers • Gateways – bridge • Middleboxes - NAT • Firewall – malicious traffic • Load balancing • Virtualizations
  10. 10. The Network is Being Pushed to Its Limits… 80% of Enterprise Apps are Deployed in the Cloud 1.1 Billion Smartphones Projected to Ship in 2014 2.5 billion Internet users in the world! Expect 5 billion by 2023! Unending, exponential growth in the people, devices and servers connecting to the network requires a new approach This is Where Software-Defined Networking (SDN) Comes In…
  11. 11. Need to Innovate in the Network Revenues from Cloud Innovation Could Reach $1.1 Trillion Per Year by 2015 15K New Applications Are Added Every Week! 83% of Companies Believe Mobility Will Significantly Affect Their Business We’ve seen tons of innovation in applications, devices, computing and storage, … yet the underlying network that connects everything has remained unchanged!
  12. 12. So what we need?
  13. 13. Specialized Packet Forwarding Hardware Ap p Ap p Ap p Specialized Packet Forwarding Hardware Ap p Ap p Ap p Specialized Packet Forwarding Hardware Ap p Ap p Ap p Specialized Packet Forwarding Hardware Ap p Ap p Ap p Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System Operating System Ap p Ap p Ap p Network Operating System App App App Closed System Custom hardware Features - apps
  14. 14. 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 packet forwarding 3. Well-defined open API 2. At least one good operating system Extensible, possibly open-source
  15. 15. Unified Data and Control The world today vs. Add feature here?!?! Control + Data Separation Controller Data Control AppApp App Today, new features are implemented as fully distributed algorithms at a protocol level rather than centralized applications. Spanning tree is a great example…
  16. 16. Hype and Confusion
  17. 17. Current Networking Scheme • Fully distributed protocols - hard to add a feature to a network • Network is closed for research and innovation • Network administrators, Experts and Researchers can only configure devices • Increased Complexity and changes – error prone • Vendor Specific Solutions • Lots of Challenges and difficulties
  18. 18. Mitigation approach • Open Development environment for Networking • Isolation: • regular production Network untouched • Virtualized and Programmable networks Software Defined Networking (SDN)
  19. 19. Scenario App AppAppAppApp App Network Dynamic IT Environment Static Provisioning Static Network Model Scalability Web Speed Flexibility Dynamic Services Model
  20. 20. Key Concept of SDN
  21. 21. Windows (OS) Windows (OS) Linux Mac OS x86 (Computer) Windows (OS) AppApp LinuxLinux Mac OS Mac OS Virtualization layer App Computer Industry Controller 1 AppApp Controller 2 Virtualization or “Slicing” App OpenFlow Controller 1NOX (Network OS) Controller 2Network OS Network Industry
  22. 22. Vertically integrated Closed, proprietary Slow innovation Small industry Specialized Operating System Specialized Hardware AppAppAppAppAppAppAppAppAppAppApp Specialized Applications Horizontal Open interfaces Rapid innovation Huge industry Microprocessor Open Interface Linux Mac OS Windows (OS) or or Open Interface
  23. 23. Vertically integrated Closed, proprietary Slow innovation Specialized Operating System Specialized Hardware AppAppAppAppAppAppAppAppAppAppApp Specialized Applications Horizontal Open interfaces Rapid innovation Control Plane Control Plane Control Plane or or Open Interface Merchant Switching Chips Open Interface
  24. 24. Core Concept of SDN • Separate Control(brains) plane and Data(muscle) plane entities • Network intelligence and state are logically centralized • The underlying network infrastructure is abstracted from the applications • Execute or run Control plane software on general purpose hardware • Decouple from specific networking hardware • Use commodity servers • Have programmable data planes - APIs • Maintain, control and program data plane state from a central entity • An architecture to control not just a networking device but an entire network – efficient orchestration and automation of network services
  25. 25. Key Abstraction Network Operating System Routing Traffic Engineering Other Applications Well-defined API Forwarding Forwarding Forwarding Forwarding Network Virtualization Network Map Abstraction Separation of Data and Control Plane 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4.<Match, Action> 5. <Match, Action> 6. … 7. … OpenFlow – OF Data Plane Abstraction
  26. 26. Key Benefits • Efficiency: optimize existing applications, services, and infrastructure • Agility: enabling organizations to rapidly deploy applications, services, and infrastructure to meet needs • Scale: automate and optimize new and existing applications and services • Innovation: allowing organizations to create and deliver new types of applications, services and business models • Centralized Control • Reduced Complexity through Automation • Increased Network Reliability and Security
  27. 27. OpenFlow “OpenFlow is an open standard to deploy innovative protocols in production networks”
  28. 28. OpenFlow Protocol (TCP/SSL) Data Path (Hardware) Control Path OpenFlowEthernet Switch Network OS Control Program A Control Program B
  29. 29. What is OpenFlow? • OpenFlow is similar to an x86 instruction set for the network to program the forwarding behavior of the switch • Provide open interface to “black box” networking node • (ie. Routers, L2/L3 switch) to enable visibility and openness in network • OpenFlow is based on an Ethernet switch, with an internal flow-table, and a standardized interface to add and remove flow entries • Controller or control software uses OpenFlow protocol to provide programmable interface to switches & routers
  30. 30. Programming SDN with OpenFlow • The Good – Network-wide visibility – Direct control over the switches – Simple data-plane abstraction • The Bad – Low-level programming interface – Functionality tied to hardware – Explicit resource control • The Ugly – Non-modular, non-compositional – Challenging distributed programming
  31. 31. OF building blocks ControllerNOX Slicing SoftwareFlowVisor FlowVisor Console ApplicationsLAVIENVI (GUI) Expedientn-Casting NetFPGA Software Ref. Switch Broadcom Ref. Switch OpenWRT PCEngine WiFi AP Commercial Switches Stanford Provided OpenFlow Switches ONIX Stanford Provided Monitoring/ debugging tools oflopsoftrace openseer Open vSwitch HP, NEC, Pronto, Juniper.. and many more Beacon Trema Maestro
  32. 32. OpenFlow Specification Basics • Open standard defined by the Open Networking Foundation (ONF) • Consists at least three parts • Flow Table – define how the switch will process each flow entries • Secure Channel – to connect to controller • OpenFlow Protocol(API) •Flow table are set up on switches •Controller talk to the switch via the OpenFlow protocol
  33. 33. Layered Architecture for SDN Southbound API– includes OpenFlow but not limited to it Southbound API offer L1/L2/L3 forwarding abstraction. The Promise of SDN Separation of forwarding and control planes Open and vendor agnostic interface (e.g. OpenFlow) Well defined control plane abstractions to enable rapid innovation Open Scalable Secure Agile Consistent
  34. 34. 3rd party components Network OS Apps Apps Network OS Apps Apps Open Vendor Agnostic Interfaces & Standards Open Interfaces Open Interfaces SDN Controller Logically Central Separation of Control & Forwarding Forwarding plane tier Controller tier Application tier SDN Architecture
  35. 35. Components of OpenFlow Network • Controller • OpenFlow protocol messages • Controlled channel • OpenFlow switch • Secure Channel (SC) • Flow Table • Flow entry • Processing • Pipeline Processing • Packet Matching • Instructions & Action Set
  36. 36. OpenFlow Controller 37 Name Lang Platform(s) License Original Author Notes OpenFlow Reference C Linux OpenFlow License Stanford/Nicira not designed for extensibility NOX Python, C++ Linux GPL Nicira actively developed Beacon Java Win, Mac, Linux, Android GPL (core), FOSS Licenses for your code David Erickson (Stanford) runtime modular, web UI framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Focuses on achieving better performance using multithreading Trema Ruby, C Linux GPL NEC includes emulator, regression test framework Floodlight Java Linux Apache Big Switch Actively developed, open sourced OpenDayLight Java Linux Apache Linux Foundation Actively developed, open sourced
  37. 37. OpenFlow Switch Components: Flow table & Group table - Perform packet lookups and forwarding OpenFlow channel - Interface that connects a switch to a controller Pipeline process - Maintains sending of packets between flow tables by matching flow entries. Two types OpenFlow- Capable/ hybrid OpenFlow- only/ pure
  38. 38. Secure Channel (SC) • SC is the interface that connects each OpenFlow switch to controller • A controller configures and manages the switch via this interface. • Receives events from the switch • Send packets out the switch • SC establishes and terminates the connection between OpenFlow Switch and the controller using the procedures • Connection Setup • Connection Interrupt • The SC connection is a TLS connection. Switch and controller mutually authenticate by exchanging certificates signed by a site-specific private key.
  39. 39. Flow Table • Flow table in switches, routers, and chipsets Rule (exact & wildcard) Action Statistics Rule (exact & wildcard) Action Statistics Rule (exact & wildcard) Action Statistics Rule (exact & wildcard) Default Action Statistics Flow 1. Flow 2. Flow 3. Flow N.
  40. 40. Flow table Entry • Flow table consists of set of entries to compare incoming packets against • Each flow entry consist of match fields, counters, actions • Matching starts at the first flow table • Flow entries match in priority order • Match found • Apply the instructions • Match not found • forwarded to the controller over the OpenFlow channel, • dropped • may continue to the next flow table
  41. 41. Flow Entry • A flow entry consists of In Port Src MAC Dst MAC Eth Type Vlan Id IP Tos IP Proto IP Src IP Dst TCP Src Port TCP Dst Port 1. Forward packet to port(s) 2. Encapsulate and forward to controller 3. Drop packet 4. Send to normal processing pipeline 5. Vendor specific extensions 1. Packet 2. Byte counters •Per table •Per flow Match Fields 1. Match fields -Match against packets Action(s) 2. Action -Modify the action set or pipeline processing Stats 3. Stats -Update the matching packets
  42. 42. Workflow Encapsulates packets and sends to controller Drops Packet arrives at switch Header fields compared to flow table entries Forwarded to specified port DroppedOR Controller decides Make new entry in flow table OR Match FoundMatch Not Found
  43. 43. OpenFlow Protocol Message Types • Controller-to-switch • To directly manage or inspect the state of the switch • may or may not require a response from the switch • Operations/msg types: features, configuration, Ready-State, Modify-State, barrier • Asynchronous • To update the controller of network events and changes to the switch state. • sent without the controller soliciting them from a switch • To tell controller a packet arrival, switch state change, or error • Msg. types: Packet-in, Flow-Removed, Port-status, Error • Symmetric • Hello message, Echo request/reply
  44. 44. Future of SDN
  45. 45. Future of SDN Early Market Mature Market Custom Solutions Tailored Solutions Packaged Software SDN Today
  46. 46. SDN Ecosystem More Start-Ups and VC investment too! Chip vendors Equipment vendors Software vendorsVendors
  47. 47. Growing Community Vendors andstart-ups Providers andbusiness-unit More... More...
  48. 48. Mininet At A Glance
  49. 49. Mininet At A Glance • CONVENIENT REALISTIC EMULATOR FOR SOFTWARE-DEFINED NETWORKS • Mininet creates a realistic OpenFlow network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command • Network emulator • Designed for emulating SDN networks • Easy to use • High performance (100 nodes on a laptop)
  50. 50. What You Can Do? • Rapidly prototype, develop and test • Interestingly-sized networks (16-100 nodes) start up in seconds • No lengthy lab reconfiguration or rebooting required • Always-accessible network resources, in any topology, at essentially no cost • Designs that work on Mininet transfer seamlessly to hardware for full speed operation • Runs your choice of software switch • Stanford’s reference OpenFlow switch • OpenVSwitch Easily and inexpensively demonstrate and share Quickly get up and running Repeatedly test, analyze, and predict network behavior
  51. 51. Demo
  52. 52. Experimental Setup H1 S1 SDN Controller: NOX H2S2 S3 S4
  53. 53. Resources 1. OpenFlow Tutorials: 2. Open Networking Foundation (ONF) : ONF is a user-driven organization dedicated to the promotion and adoption of Software-Defined Networking (SDN) through open standards development. ONF has taken on the responsibility to drive the standardization of the OpenFlow protocol and have many member companies. 3. SDNCentral is the leading centralized source of news and resources for network virtualization and software-defined networking (SDN). -The independent community & #1 resource for SDN and NFV 4. Mininet
  54. 54. Q&A
  55. 55. Thank you!