Architectural Musings on SDN (“and now for something completely different…”) David Meyer CTO and Chief Scientist, Brocade Director, Advanced Technology.

Slides:



Advertisements
Similar presentations
The Impact of SDN On MPLS Networks Adrian Farrel Juniper Networks
Advertisements

Layering and the network layer CS168, Fall 2014 Sylvia Ratnasamy
Jennifer Rexford Princeton University MW 11:00am-12:20pm Network Virtualization COS 597E: Software Defined Networking.
Copyright © 2010, 2007, 2004 Pearson Education, Inc. Chapter 18 Sampling Distribution Models.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Chapter 29: Integration Jacob Harper. The Integration Approach The order of adding components to a system is crucial Benefits to careful integration –
An Overview of Software-Defined Network Presenter: Xitao Wen.
OpenDaylight: An Open Source SDN for Your OpenStack Cloud Stephan Baucke, Ericsson Kyle Mestery, Cisco Anees Shaikh, IBM Chris Wright,
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
Siemens Applied Automation Process Gas Chromatography NeSSI – Lets Do It.pptSlide 1; IFPAC; February 22, 2006 Let’s Do It! Using NeSSI IFPAC: February.
OF/SDN -- Full and direct control of the Forwarding Plane -- Complete Separation of Control and Data Planes -- Open Interface to the Forwarding Plane --
Software Defined Networking Research Group (SDNRG) IAB Breakfast 01 Aug 2013 David Meyer & Nick Feamster.
Tunis, Tunisia, 28 April 2014 Business Values of Virtualization Mounir Ferjani, Senior Product Manager, Huawei Technologies 2.
SDN and Openflow.
Virtualization and OpenFlow Nick McKeown Nick McKeown VISA Workshop, Sigcomm 2009 Supported by NSF, Stanford Clean.
Flowspace revisited 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.
Ordering and Consistent Cuts Presented By Biswanath Panda.
Future Research Directions Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
1 Network Layer: Host-to-Host Communication. 2 Network Layer: Motivation Can we built a global network such as Internet by extending LAN segments using.
An Overview of Software-Defined Network
An Overview of Software-Defined Network Presenter: Xitao Wen.
Communication Network Protocols ----Krishna Priyanka Chebrolu.
On The Hidden Nature of Complex Systems Macro Trends, Architecture, Nets, Grids, Bugs, Brains, and the Meaning of Life David Meyer CTO and Chief Scientist,
Chapter 1: Hierarchical Network Design
Tradeoffs in Network Complexity. Introducing Complexity “It won’t scale” “It’s not elegant” These are statements about complexity “Reduce complexity,”
How to construct world-class VoIP applications on next generation hardware David Duffett, Aculab.
Conditional & Joint Probability A brief digression back to joint probability: i.e. both events O and H occur Again, we can express joint probability in.
Chapter 1 Overview Review Overview of demonstration network
Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid Relating Product Line Adoption Mode and Transition Process.
Complexity and Fragility? John Doyle Control and Dynamical Systems BioEngineering Electrical Engineering Caltech with Prajna, Papachristodoulou, and Parrilo.
Introduction to Network Layer. Network Layer: Motivation Can we built a global network such as Internet by extending LAN segments using bridges? –No!
Networking, SDN, and OpenFlow: An Architectural Perspective David Meyer CTO and Chief Scientist, Brocade Director, Advanced Technology Center, University.
Software Defined-Networking. Network Policies Access control: reachability – Alice can not send packets to Bob Application classification – Place video.
SDN : What We’ve Learned Martìn Casado I’ve. Outline SDN : a History SDN : a Definition SDN : What I’ve Learned.
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
On The Hidden Nature of Complex Systems Tradeoffs, Architecture, Nets, Grids, Bugs, Brains, and the Meaning of Life David Meyer CTO and Chief Scientist,
Networks big switch Hard Problems in SDN Rob Sherwood SDNRG – Atlanta, November 2012.
Software-Defined Networking - Attributes, candidate approaches, and use cases - MK. Shin, ETRI M. Hoffmann, NSN.
Architectural Musings on SDN (“and now for something completely different…”) David Meyer CTO and Chief Scientist, Brocade Director, Advanced Technology.
An Introduction to Software Engineering
Click to edit Master subtitle style
On Programmability and Software Defined Networking Lots of confusion in the industry over which “programmability” and “software defined networking” actually.
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
A survey of SDN: Past, Present and Future of Programmable Networks Speaker :Yu-Fu Huang Advisor :Dr. Kai-Wei Ke Date:2014/Sep./30 1.
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
1 | © 2015 Infinera Open SDN in Metro P-OTS Networks Sten Nordell CTO Metro Business Group
Intro to Planning Or, how to represent the planning problem in logic.
SOFTWARE DEFINED NETWORKING/OPENFLOW: A PATH TO PROGRAMMABLE NETWORKS April 23, 2012 © Brocade Communications Systems, Inc.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
1 COMP541 Finite State Machines - 1 Montek Singh Sep 22, 2014.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 1: Hierarchical Network Design Connecting Networks.
Fabric: A Retrospective on Evolving SDN Presented by: Tarek Elgamal.
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
Eric Osborne ARNOG 2016 NFV (and SDN). Introduction About me: 20+ years in Internet networking: startup, Cisco, Level(3) Currently a principal architect.
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
Instructor Materials Chapter 7: Network Evolution
SDN challenges Deployment challenges
Junos Automation Stack
SDN Network Updates Minimum updates within a single switch
Multi-layer software defined networking in GÉANT
Computer Organization and Machine Language Programming CPTG 245
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
Networking Devices.
Software Defined Networking (SDN)
On The Hidden Nature of Complex Systems Tradeoffs, Architecture, Nets, Grids, Bugs, Brains, and the Meaning of Life David Meyer CTO and Chief Scientist,
Software Defined Networking (SDN)
Data and Computer Communications
Software interoperability in the NGN Service layer
Presentation transcript:

Architectural Musings on SDN (“and now for something completely different…”) David Meyer CTO and Chief Scientist, Brocade Director, Advanced Technology Center, University of Oregon RIPE 66 May 2013 Dublin, Ireland 1

Agenda Introduction Architectural Features for Scalability and Evolvability – and why we might care A Quick Tour Through the SDN Design Space A Few Conclusions Q&A 2

Danger Will Robinson!!! This talk is intended to be controversial/provocative (and a bit “sciencey”) 3

Introduction “Lots” of hype around OpenFlow, SDN, SDS, … – duh In trying to understand all of this, I went back architectural principles – An attempt to take an objective look at all of this – Ideas from control theory, systems biology, quantitative risk engineering, … Obviously we need programmatic automation of – Configuration, management, monitoring, optimization(s), … – Some components already available Puppet, Chef, rancid,... – Note everything open (interfaces, APIs, protocols, source) – along with s/w a macro-trend Perhaps obvious: – Scalability and Evolvability key to building/operating the Internet – But what are Scalability/Evolvability, and what architectures enable them? Through this lens: What is going on with OpenFlow, SDN, …? 4

Bottom Line I hope to convince you that uncertainty and volatility are the “coin of the realm” of the future, why this is the case, how SDN (and the rise of software in general) is accelerating this effect, and finally, what we might do to take advantage of it. 0 0 s/take advantage of/survive/ 5

What are Scalability and Evolvability? First, why do we care? – Goes without saying? – That said… Scalability is robustness to changes to the size and complexity of a system as a whole Evolvability is robustness of lineages to changes on long time scales Other system features cast as robustness – Reliability is robustness to component failures – Efficiency is robustness to resource scarcity – Modularity is robustness to component rearrangements In our case: holds for protocols, systems, and operations 6

OK, Fine. But What is Robustness? Definition: A [property] of a [system] is robust if it is [invariant] with respect to a [set of perturbations], up to some limit Fragility is the opposite of robustness – If you're fragile you depend on 2nd order effects (acceleration) and the curve is concave – Catch me later if you’d like to chat further about this… A system can have a property that is robust to one set of perturbations and yet fragile for a different property and/or perturbation  the system is Robust Yet Fragile (RYF-complex) – Or the system may collapse if it experiences perturbations above a certain threshold (K-fragile) Example: A possible RYF tradeoff is that a system with high efficiency (i.e., using minimal system resources) might be unreliable (i.e., fragile to component failure) or hard to evolve See Alderson, D. and J. Doyle, “Contrasting Views of Complexity and Their Implications For Network-Centric Infrastructures”, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 40, NO. 4, JULY

[a system] can have [a property] robust for [a set of perturbations] Robust Fragile Robust Yet Fragile (RYF) Yet be fragile for [a different property] Or [a different perturbation] Conjecture: The RYF tradeoff is a hard limit that cannot be overcome. Slide courtesy John Doyle 8

RobustYet Fragile RYF Examples Efficient, flexible metabolism Complex development and Immune systems Regeneration & renewal  Complex societies  Advanced technologies  Obesity and diabetes  Rich microbe ecosystem  Inflammation, Auto-Im.  Cancer  Epidemics, war, …  Catastrophic failures “Evolved” mechanisms for robustness allow for, even facilitate, novel, severe fragilities elsewhere Often involving hijacking/exploiting the same mechanism – We’ve certainly seen this in the Internet space There are hard constraints (i.e., theorems with proofs) 9

Brief Aside: Fragility and Scaling (geeking out for a sec…) A bit of a formal description of fragility – Let z be some stress level, p some property, and – Let H(p,z) be the (negative valued) harm function – Then for the fragile the following must hold H(p,nz) < nH(p,z) for 0 < nz < K Basically, the “harm function” is non-linear This inequality is importantly non-mean preserving (Jensen’s Inequality) Non-mean preserving: H(p,(z 1 + z 2 )/2) != (H(p,z 1 ) + H(p,z 2 ))/2 –  model error and hence additional uncertainty For example, a coffee cup on a table suffers non-linearly more from large deviations (H(p, nz)) than from the cumulative effect of smaller events (nH(p,z)) – So the cup is damaged far more from (i.e., destroyed by) tail events than those within a few σ of the mean – Too theoretical? Perhaps, but consider: ARP storms, micro-loops, congestion collapse, AS 7007, … – BTW, nature requires this property Consider: jump off something 1 foot high 30 times v/s jumping off something 30 feet high once When we say something scales like O(n 2 ), what we mean is the damage to the network has constant acceleration (2) for weird enough n (e.g., outside say, 10 σ) – Again, ARP storms, congestion collapse, AS 7007, DDOS, …  non-linear damage Something we don’t have time for: Antifragility – Is this related to our work? See fragility.shtml 10

Robustness vs. Complexity Systems View Domain of the fragile Domain of the Robust What this curve is telling us is that a system needs complexity to achieve robustness (wrt some feature to some perturbation), but like everything else, too much of of a good thing…. 11

Ok, but what is Complexity? “In our view, however, complexity is most succinctly discussed in terms of functionality and its robustness. Specifically, we argue that complexity in highly organized systems arises primarily from design strategies intended to create robustness to uncertainty in their environments and component parts.” 12 See Alderson, D. and J. Doyle, “Contrasting Views of Complexity and Their Implications For Network-Centric Infrastructures”, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 40, NO. 4, JULY 2010

BTW, This Might Also Be Obvious But… Networks are incredibly general and expressive structures – G = (V,E) Networks are extremely common in nature – Immune systems, energy metabolism, transportation systems, Internet, macro economies, forest ecology, the main sequence (stellar evolution), galactic structures, …. – “Almost everything you see can be explained as either a network and/or a queue” So it comes as no surprise that we study, for example, biological systems in our attempts to get a deeper understanding of complexity and the architectures that provide for scalability, evolvability, and the like Ok, this is cool, but what are the key architectural takeaways from this work for us ? – where us \in {ops, engineering, architects …} – And how might this effect the way we build and operate networks? 13

Key Architectural Takeaways What we have learned is that there are fundamental architectural building blocks found in systems that scale and are evolvable. These include – RYF complexity – Bowtie architectures – Massively distributed with robust control loops Contrast optimal control loops and hop-by-hop control – Highly layered But with layer violations – Protocol Based Architectures (PBAs) – Degeneracy 14

Bowties 101 Constraints that Deconstrain For example, the reactions and metabolites of core metabolism, e.g., ATP metabolism, Krebs/Citric Acid cycle signaling networks, … See Kirschner M., and Gerhart J., “Evolvability”, Proc Natl Acad Sci USA, 95:8420–8427,

But Wait a Second Anything Look Familiar? Bowtie Architecture The Protocol Hourglass idea appears to have originated with Steve Deering. See Deering, S., “Watching the Waist of the Protocol Hourglass”, IETF 51, 2001, See also Akhshabi, S. and C. Dovrolis, “The Evolution of Layeredhttp:// Protocol Stacks Leads to an Hourglass-Shaped Architecture”, Hourglass Architecture 16

Windows (OS) Windows (OS) Linux Mac OS x86 (Computer) Windows (OS) App Linux Mac OS Mac OS Virtualization layer App Controller 1 App Controller 2 Virtualization or “Slicing” App OpenFlow Controller 1 NOX (Network OS) Controller 2 Network OS So Let’s Have a Look at OF/SDN Here’s the Thesis Computer IndustryNetwork Industry Separation of Control and Data Planes Open Interface to Data Plane Centralized Control (logically?) Graphic Courtesy Rob Sherwood Is this a good analogy? 17

AppApp Simple Packet Forwarding Hardware AppApp AppApp OpenFlow Controller A Closer Look 18 Control plane Data plane OpenFlow Protocol AppAppAppApp Graphic courtesy Nick Mckeown “NB API” 18

Graphic courtesy James Hamilton, So Does the OF/SDN-Compute Analogy Hold? A better analogy would be an open source network stack/OS on white-box hardware Really Doesn’t Look Like It 19

BTW, Logically Centralized? Graphic courtesy Dan Levin Key Observation: Logically centralized  distributed system  tradeoffs between control plane convergence and state consistency model. See the CAP Theorem. Architectural Implication: If you break CP/DP fate sharing, you have to deal the following physics: Ω(convergence) = Σ RTT(controller, switch i ) + PPT(controller) + PPT(switch i ) 20

BTW, Nothing New Under The Sun… Separation of control and data planes is not a new idea. Nor is flow-based forwarding. Examples include: – SS7 – Ipsilon Flow Switching Centralized flow based control, ATM link layer GSMP (RFC 3292) – AT&T SDN Centralized control and provisioning of SDH/TDM networks – A similar thing happened in TDM voice to VOIP transition Softswitch  Controller Media gateway  Switch H.248  Device interface Note 2 nd order effect: This was really about circuit  packet – ForCES Separation of control and data planes RFC 3746 (and many others) – … 21

Drilling Down a Bit OpenFlow Switch Model Version 1.0 Drop Flow Table (TCAM) Flow Table (TCAM) Redirect to Controller Forward with edits Packet Apply actions Encapsulate packet to controller Too simple: -Feature/functionality -Expressiveness – consider shared table learning/forwarding bridge 22

OK, Fast Forward to Today: OF 1.1+ Why this design? Combinatoric explosion(s) s/a routes*policies in single table However, intractable complexity: O(n!) paths through tables of a single switch c ≈ a (2^l) + α where a = number of actions in a given table, l = width of match field, and α all the factors I didn’t consider (e.g., table size, function, group tables, meter tables, …) Too complex/brittle Algorithmic complexity What is a flow? Not naturally implementable on ASIC h/w Breaks new reasoning systems (e.g., frenetic) No fixes for lossy abstractions Architectural questions So question: Is the flow-based abstraction “right” for general network programmability? 23

Physical and Virtual Resources (CSN) Physical and Virtual Resources (CSN) DP/SDN Properties: -- Complete Separation of CP and DP -- (“Logically”) Centralized Control -- Open Interface/programmable Data Plane -- Examples: OF, ForCES, various control platforms OL/SDN Properties : -- Retains existing (simplified) Control Planes -- Underlay agnostic -- Programmable overlay control plane -- May use OF to program vSwitches -- Example: VMW NVP CP/SDN Properties : -- Retains existing (distributed) Control Planes -- Programmable control plane -- Network aware applications -- Examples: PCE, I2RS, BGP-LS, vendor SDKs Control and Orchestration (overly simplified view) Apps … Service Layers May be repeated (stacked or recursive) The SDN Design Space 24

Putting it all Together OF/SDN OL/SDN CP/SDN OF/SDN proposes a new architectural waist (not exactly sure where) CP/SDN makes existing control planes programmable OL/SDN is an application from the perspective of the Internet’s waist Open Loop Control + s/w + Moore’s Law  Randomness, Uncertainty, and Volatility 25

Summary/Where to from Here? First, note that SDN doesn’t do anything fundamentally different Moves architectural features (and maybe complexity) around in the design space Be conservative with the narrow waist -- constraints that deconstrain – We’re pretty good at this – Reuse parts where possible (we’re also pretty good at this; traceroute a canonical example) Expect uncertainty and volatility from above – Inherent in software, and importantly, in acceleration We know the network is RYF-complex so we know that for H(p,x), the “harm” function, d 2 H(p,x)/dx 2 ≠ 0 When you architect for robustness, understand what fragilities have been created –  Software (SDN or or …) is inherently non-linear, volatile, and uncertainhttp://spotcloud.com We need to learn to live with/benefit from the non-linear, random, uncertain DevOps – We already have some components (Puppet, Chef, rancid, …) Develop our understanding bottom up (by “tinkering”) – Actually an “Internet principle”. We learn incrementally… – Avoid the top-down (in epistemology, science, engineering,…) – Bottom-up v. top-down innovation cycles – cf Curtis Carlson Design future software ecosystems to benefit from variability and uncertainty rather than trying to engineer it out (as shielding these systems from the random may actually cause harm) – For example, design in degeneracy -- i.e., “ability of structurally different elements of a system to perform the same function”. In other words, design in partial functional overlap of elements capable of non-rigid, flexible and versatile functionality. This allows for evolution *plus* redundancy. Contrast m:n redundancy (i.e., we do just the opposite). 26

Q&A Thanks! 27