Software Defined Networks Saurav Das Guru Parulkar Nick McKeown With contributions from many others… A Presentation to the OIF 12 th July, 2011

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

  • Slide 1
  • Software Defined Networks Saurav Das Guru Parulkar Nick McKeown With contributions from many others A Presentation to the OIF 12 th July, 2011
  • Slide 2
  • Outline 2 Abstractions 2 Research Examples 2 Burning Questions 2 Trends
  • Slide 3
  • Outline 2 Abstractions 1.Flow Abstraction 2.Map Abstraction
  • Slide 4
  • 1. Flow Abstraction End to End Flow L4: TCP src/dst port L3: IP src/dst addr, IP proto L2.5: L2: Flow Identifiers Common Dest Flow L4: L3: IP dst prefix for China L2.5: L2: 4
  • Slide 5
  • 1. Flow Abstraction Classification of packets that have a logical association Action & Maintaining Flow State Flow based Accounting & Resource Management What is a Flow? L4: L3: IP src prefix for branch L2.5: L2: Flow Identifiers Common Src Flow L4: TCP dst port 80 L3: IP proto L2.5: L2: MAC src Web traffic from a Handset L4: L3: L2.5: MPLS Label ID L2: All packets between 2 routers 5
  • Slide 6
  • 1. Flow Abstraction Flow Identifiers L1: L0: (p2, p5, p7, p9) 5 L1: L0: (p2, p5, p7, p9) (5, 8, 3) L1: L0: (p2, 5), (p5, 8), (p7, 3) 6
  • Slide 7
  • 1. Flow Abstraction Flow Identifiers L1: p3, ts6, num3 L0: L1: p3, ts6, num3 p4, ts3, num3 p7, ts9, num3 L0: 7
  • Slide 8
  • Packet Switch Wavelength Switch Time-slot Switch Multi-layer Switch 1. Flow Abstraction L4 L3 L2.5 L2 L1 L0
  • Slide 9
  • Outline 2 Abstractions 1.Flow Abstraction 2.Map Abstraction
  • Slide 10
  • routing, access-control, mobility, traffic-engineering, guarantees, recovery, bandwidth-on-demand 2. Map Abstraction Control Plane
  • Slide 11
  • routing, access-control, mobility, traffic-engineering, guarantees, recovery, bandwidth-on-demand Control Plane Control Architecture 1.Flow Abstraction 2. Map Abstraction
  • Slide 12
  • Outline 2 Abstractions 1.Flow Abstraction 2.Map Abstraction Software Defined Networks (SDN)
  • Slide 13
  • Forwarding Hardware App Forwarding Hardware App Forwarding Hardware App Forwarding Hardware App Forwarding Hardware Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System App Network Operating System App What is SDN? 13
  • Slide 14
  • App Forwarding Hardware App Forwarding Hardware Network Operating System A.Open interface to hardware C. Well-defined open API B. Network-wide Operating System (extensible, built to scale) The Software-defined Network The Software Defined Network 14 1.Flow Abstraction 2. Map Abstraction
  • Slide 15
  • Outline 2 Abstractions & SDN 2 Research Examples 1.MPLS 2.Packet-Optical
  • Slide 16
  • MPLS and Flows Label Switch Router (LSR) LSPs Incoming packets Classification Into FECs Flow state in Head-end LER MPLS network IP networkLabel Switched Path (LSP) Label Edge Router (LER) MPLS has Flow Abstraction
  • Slide 17
  • Why do Service Providers use MPLS? Really about 2 services MPLS Services MPLS VPNs MPLS - TE Motivation Highly profitable No easy way Older ways not used Motivation Deterministic Behavior Efficient Resource Utilization Older ways not used
  • Slide 18
  • OSPF-TE RSVP-TE LDP I-BGP LMP MP-BGP MPLS Services MPLS lacks Map Abstraction Label Switched Path (LSP)
  • Slide 19
  • Introducing Map Abstraction in MPLS OSPF-TE RSVP-TE LDP I-BGP OpenFlow NETWORK OPERATING SYSTEM Routing Routing Discovery Discovery Label Distribution Label Distribution Recovery Recovery TE TE LMP MP-BGP PUSH Simpler Data Plane Simpler Control Plane Services Network Applications Label Switched Path (LSP)
  • Slide 20
  • Open vSwitch with standard MPLS data plane Open vSwitch with standard MPLS data plane Prototype System Network Operating System (NOX) GUI (Envi) showing real-time network state GUI (Envi) showing real-time network state Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch (with MPLS) Open vSwitch with standard MPLS data plane Open vSwitch with standard MPLS data plane OpenFlow MPLS GUI MPLS API MPLS Stats CSPF Routing MPLS-TE Auto route; Auto bandwidth Traffic aware LSPs; Priorities TE-LSP configuration Mininet Environment
  • Slide 21
  • Video of a Demonstration showing MPLS-TE service with the Map Abstraction 21 http://www.youtube.com/watch?v=EpttFVKUrzs&feature=channel_video_title
  • Slide 22
  • TE-LSP Features 1.Auto-route 2.Auto-bandwidth 3. Priorities 4.Load-share 5.Diffserv aware Traffic Engineering (DS-TE) 6.MPLS FRR 7.Explicit Routes 8.Re-optimization timers 4000 lines of code Vs. 80,000 + ?
  • Slide 23
  • Outline 2 Abstractions & SDN 2 Research Examples 1.MPLS 2.Packet-Optical
  • Slide 24
  • Prototype 24 Hybrid Packet-Circuit Switches Packet switches NOX
  • Slide 25
  • Prototype Emulated WAN SAN FRANCISCO HOUSTON NEW YORK NOX OpenFlow Protocol 25 GE links OC-48 links (2.5 Gbps)
  • Slide 26
  • Implementation of Control Architecture 26 NOX Interface: OpenFlow Protocol Packet & Circuit Switches Converged Network Unified Control Plane 1.Common Flow Abstraction 2. Common Map Abstraction Application across packet and circuits
  • Slide 27
  • VOIP HTTP VOIP HTTP VIDEO Example Network Application Control Function: Treat different kinds of traffic differently Function Impl.: Use both packets and circuits, at the same time. Traffic-typeDelay/JitterBandwidthRecovery VoIPLowest DelayLowMedium VideoZero JitterHighHighest WebBest-effortMediumLowest
  • Slide 28
  • Video of a Demonstration of network application on Prototype 28 http://www.youtube.com/watch?v=Yq3yLPtOxpc&feature=relmfu
  • Slide 29
  • TDM ports Programming Flow Tables GE ports Packet Switch Fabric Packet Switch Fabric TDM Switch Fabric VPort3 P11 VC4 1 P22 VC4 4 Virtual Port Packet Switch Fabric Packet Switch Fabric IP_dst = 10.3.3.1/32Out p2 IP_dst = 10.3.2.0/20Out p2 IP_dst = 10.3.36.1/24Out p2 IP_dst = 10.3.13.24/28Out p2 IP_dst = 10.3.100.1/24Out p2 IP_dst = 10.3.66.60/32Out p2 IP_dst = 10.3.55.200/32Out p2 IP_dst = 10.3.0.0/16Out p2 IP_dst = 10.3.78.80/27Out p2 IP_dst = 10.3.3.189/32Out p2 p2Out VPort3IP_src = 10.44.0.10/16Out p2 IP_src = 10.44.0.10/16, TCP 80 Out p2 IP_src = 10.44.0.10/16, UDP 1234 Out p2 IP_src = 10.44.0.10/16, TCP 5060 Out p2 +vlan30, Out p2 +vlan50, Out p2 +vlan75, Out p2 P2, vlan30 P2, vlan50 P2, vlan75 Out VPort7 Out VPort9 Out VPort3 VPort7 7 P22 VC4 VPort9 1 P33 VC4 P33 VC4 10
  • Slide 30
  • Why is it Simpler? 30 NOX Packet and Circuit Switches Converged Network 2000 lines of code Unified Control Plane 1.Common Flow Abstraction 2. Common Map Abstraction Application across packet and circuits Interface: OpenFlow Protocol
  • Slide 31
  • Outline 2 Abstractions & SDN 2 Research Examples MPLS & Packet-Optical 2 Burning Questions 1. Is Common Map practical? 2. What about Scale?
  • Slide 32
  • 32 1. Is Common Map practical? Extensibility NOX Packet and Circuit Switches Converged Network Unified Control Plane 1.Common Flow Abstraction 2. Common Map Abstraction Interface: OpenFlow Protocol 1.Map Building & State- Distribution abstracted away 2. Full View
  • Slide 33
  • 1. Is Common Map practical? Some well-known problems: Q: Transport network operators dislike giving up (manual) control. Is there a gradual adoption path? Q: IP and Transport networks will not share information. How to build a common map? Answer to both: Slicing Slice == Bandwidth + Switching
  • Slide 34
  • OpenFlow Protocol C CK P P P P Gradual Adoption Path CC Slicing Plane Under Transport Service Provider (TSP) control ISP A Client Controller OpenFlow Protocol ISP B Client Controller ISP C Client Controller 34
  • Slide 35
  • Common Map PKT ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ISP# 1s NetOS App PKT ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM ISP# 2s NetOS App PKT ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM Transport Service Providers (TSP) virtualized network Internet Service Providers (ISP# 1) OF enabled network with slice of TSPs network Internet Service Providers (ISP# 2) OF enabled network with another slice of TSPs network TSPs private line customer
  • Slide 36
  • ISP# 1s network PKT ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH Packet (virtual) topology Actual topology Notice the spare interfaces..and spare bandwidth in the slice 36
  • Slide 37
  • ISP# 1s network PKT ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH Packet (virtual) topology Actual topology ISP# 1 redirects bw between the spare interfaces to dynamically create new links!! 37
  • Slide 38
  • ISP# 2s network Packet (virtual) topology Actual topology PKT ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM ETHETH ETHETH ETHETH ETHETH PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM PKTPKT ETHETH ETHETH SONETSONET SONETSONET TDMTDM ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ETHETH ISP# 2 uses variable bandwidth packet links!! Only static link bw paid for up-front 38
  • Slide 39
  • Outline 2 Abstractions & SDN 2 Research Examples MPLS & Packet-Optical 2 Burning Questions 1. Is Common Map practical? 2. What about Scale?
  • Slide 40
  • Different Possibilities Control Plane Data Plane OpenFlow Protocol Research and Prototyping Enterprise/DataCenter Networks Carrier Networks
  • Slide 41
  • 2. What about Scale? Limiting Resources Memory Compute Consistency overhead DHTs DBs Resilience & Coordination Mechanisms Zookeeper Dynamo Cassandra MongoDB Etc. Source: Martin Casado, Nicira
  • Slide 42
  • 2. What about Scale?
  • Slide 43
  • 43 Why Does This Approach Scale? Per Packet Per Flow Per Network Event No Consistency Eventual Consistency 10 6 10 8 /s 10 3 10 6 /s 10 1 10 3 /s Modification of Control Program Strong Consistency0 - 10/s Source: Scott Shenker, Berkeley
  • Slide 44
  • Some Published Numbers 1 Onix instance 64 switches Cluster of 5 Onix instances Onix: A distributed control platform for large- scale production networks. Teemu Koponen, et al. OSDI October 2010. Latency < 300 us Throughput ~ 200,000 flows/sec Convergence time: same or better than IGP
  • Slide 45
  • Outline 2 Abstractions & SDN 2 Research Examples MPLS & Packet-Optical 2 Burning Questions 1. Is Common Map practical? 2. What about Scale? 2 Trends 1.Research & Educational Networks (RENs) 2.Commercial Networks
  • Slide 46
  • Trials (April 2010) 70+ trials/deployments in 13 countries
  • Slide 47
  • NSF GENI OpenFlow Deployment
  • Slide 48
  • Internet2 NDDI
  • Slide 49
  • OFELIA OpenFlow in Europe: Linking Infrastructure and Applications
  • Slide 50
  • Outline 2 Abstractions & SDN 2 Research Examples MPLS & Packet-Optical 2 Burning Questions 1. Is Common Map practical? 2. What about Scale? 2 Trends 1.Research & Educational Networks (RENs) 2.Commercial Networks
  • Slide 51
  • Home Network Carrier Network Data Center Network Cellular Network Enterprise Network SDN Target Domains of Use
  • Slide 52
  • Open Networking Foundation (ONF) Mission Publish Open Interfaces & Promote SDN
  • Slide 53
  • Windows (OS) Windows (OS) Windows (OS) Windows (OS) Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) App Linux Mac OS Mac OS Mac OS Mac OS Virtualization layer App Controller 1 App Controller 2 Controller 2 Virtualization or Slicing App OpenFlow Controller 1 NOX (Network OS) NOX (Network OS) Controller 2 Controller 2 Network OS Computer IndustryNetwork Industry Trend 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Deutsche Telekom Verizon Google Microsoft Facebook Yahoo! Comcast NTT Big Switch Networks Pronto Systems Midokura Nicira Networks Plexxi Inc. Brocade Cisco Extreme Networks Force10 Networks Juniper Networks Huawei Technologies NEC Netgear Ciena Ericsson Fujitsu Vello Systems Nokia Siemens Networks Dell HP IBM Broadcom Intel Marvell Netronome Citrix VMware CompTIA Ixia Mellanox Technologies Metaswitch Networks IP Infusion ONF Membership Riverbed Technology Infoblox
  • Slide 57
  • Interop, May 2011 Demos: 16 companies demonstrated OpenFlow Best of show: NEC OpenFlow switch
  • Slide 58
  • Summary 2 Abstractions 1.Flow Abstraction 2.Map Abstraction 2 Research Examples 1.MPLS 2.Packet-Optical 2 Burning Questions 1.Is Common Map practical? Slicing 2.What about Scale? Distributed Systems 2 Trends 1.Research & Educational Networks (RENs) 2.Commercial Networks ONF Software Defined Networks (SDN)
  • Slide 59
  • One Last Video http://www.youtube.com/watch?v=ie9EW4HmSwI