Today1 Software Defined Networks  A quick overview  Based primarily on the presentations of Prof. Scott Shenker of UC Berkeley “The Future of Networking,

Slides:



Advertisements
Similar presentations
OpenFlow and Software Defined Networks. Outline o The history of OpenFlow o What is OpenFlow? o Slicing OpenFlow networks o Software Defined Networks.
Advertisements

Towards Software Defined Cellular Networks
An Overview of Software-Defined Network Presenter: Xitao Wen.
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.
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
1 Software Defined Networks: History, Hype, and Hope Scott Shenker with Martín Casado, Teemu Koponen, Nick McKeown (and many others….)
1 Network Management and Software-Defined Networking (SDN) EE122 Fall 2012 Scott Shenker Materials with thanks to.
CSCI-1680 Software-Defined Networking Rodrigo Fonseca Most content from lecture notes by Scott Shenker.
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.
Professor Yashar Ganjali Department of Computer Science University of Toronto
1 Project 3 and Software-Defined Networking (SDN) EE122 Fall 2011 Scott Shenker Materials with thanks to Jennifer.
An Overview of Software-Defined Network
Software Defined Networking (SDN)
Network Management and Software-Defined Networking (SDN)
Router Architectures An overview of router architectures.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Software-defined Networks October 2009 With Martin Casado and Scott Shenker And contributions from many others.
Professor Yashar Ganjali Department of Computer Science University of Toronto
Application-Aware Aggregation & Traffic Engineering in a Converged Packet-Circuit Network Saurav Das, Yiannis Yiakoumis, Guru Parulkar Nick McKeown Stanford.
How SDN will shape networking
Information-Centric Networks10b-1 Week 13 / Paper 1 OpenFlow: enabling innovation in campus networks –Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru.
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
Introduction to SDN & OpenFlow Based on Tutorials from: Srini Seetharaman, Deutsche Telekom Innovation Center FloodLight Open Flow Controller, floodlight.openflowhub.org.
Software-Defined Networks Jennifer Rexford Princeton University.
Software Defined Networks and OpenFlow SDN CIO Summit 2010 Nick McKeown & Guru Parulkar Stanford University In collaboration with Martin Casado and Scott.
Brent Salisbury CCIE#11972 Network Architect University of Kentucky 9/22/ OpenStack & OpenFlow Demo.
Aaron Gember Aditya Akella University of Wisconsin-Madison
Software Defined-Networking. Network Policies Access control: reachability – Alice can not send packets to Bob Application classification – Place video.
OpenFlow: Enabling Innovation in Campus Networks
Aditya Akella (Based on slides from Aaron Gember and Nick McKeown)
CS : Software Defined Networks 3rd Lecture 28/3/2013
A Simple Unified Control Plane for Packet and Circuit Networks Saurav Das, Guru Parulkar, Nick McKeown Stanford University.
CSCI-1680 Software-Defined Networking Rodrigo Fonseca With content from Scott Shenker, Nick McKeown.
Software-Defined Networking (SDN) CS 168, Fall 2014 Scott Shenker (understudy to Sylvia Ratnasamy)
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
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.
SOFTWARE DEFINED NETWORKING/OPENFLOW: A PATH TO PROGRAMMABLE NETWORKS April 23, 2012 © Brocade Communications Systems, Inc.
Information-Centric Networks Section # 13.2: Alternatives Instructor: George Xylomenos Department: Informatics.
OpenFlow & NOX (& how the SDN era started) CCR 2008 Whitepapers Nick McKeown & Natasha Gude et al. Presented by: M. Asim Jamshed Some slides have been.
3.6 Software-Defined Networks and OpenFlow
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
CSci5221: Introduction to SDN1 Introduction to Software-Defined Networking Overview –What is SDN and Why SDN? SDN Control Plane Abstractions OpenFlow Switch.
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
SDN basics and OpenFlow. Review some related concepts SDN overview OpenFlow.
Constructing Multiple Steiner Trees for Software-Defined Networking Multicast Presented by Professor Jehn-Ruey Jiang Advanced Computing and Networking.
Chapter 4 Network Layer: The Data Plane
SDN challenges Deployment challenges
Software Defined Networks
NOX: Towards an Operating System for Networks
Overview of SDN Controller Design
Week 6 Software Defined Networking (SDN): Concepts
6.829 Lecture 13: Software Defined Networking
SDN basics and OpenFlow
Software Defined Networking (SDN)
Stanford University Software Defined Networks and OpenFlow SDN CIO Summit 2010 Nick McKeown & Guru Parulkar In collaboration with Martin Casado and Scott.
Software Defined Networking
Chapter 5 Network Layer: The Control Plane
The Stanford Clean Slate Program
CS 31006: Computer Networks – The Routers
Software Defined Networking (SDN)
Software Defined Networking
Handout # 18: Software-Defined Networking
An Introduction to Software Defined Networking and OpenFlow
Software Defined Networking
Chapter 5 Network Layer: The Control Plane
An Introduction to Software Defined Networking and OpenFlow
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Today1 Software Defined Networks  A quick overview  Based primarily on the presentations of Prof. Scott Shenker of UC Berkeley “The Future of Networking, and the Past of Protocols”  Please watch the YouTube video of Shenker’s talk  with a short intro to Openflow basics at the end

Two Key Definitions Data Plane: processing and delivery of packets –Based on state in routers and endpoints –E.g., IP, TCP, Ethernet, etc. –Fast timescales (per-packet) Control Plane: establishing the state in routers –Determines how and where packets are forwarded –Routing, traffic engineering, firewall state, … –Slow time-scales (per control event) These different planes require different abstractions 2

Limitations of Current Networks 3 Switches

Limitations of Current Networks Enterprise networks are difficult to manage “New control requirements have arisen”: –Greater scale –Migration of VMS How to easily configure huge networks? 4

Old ways to configure a network Limitations of Current Networks Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System App OpenFlow/SDN tutorial, Srini Seetharaman, Deutsche Telekom, Silicon Valley Innovation Center 5

Limitations of Current Networks 6 Million of lines of source code Billions of gates Many complex functions baked into infrastructure OSPF, BGP, multicast, differentiated services, Traffic Engineering, NAT, firewalls, … Specialized Packet Forwarding Hardware Operating System Operating System Feature OpenFlow/SDN tutorial, Srini Seetharaman, Deutsche Telekom, Silicon Valley Innovation Center Cannot dynamically change according to network conditions

No control plane abstraction for the whole network! It’s like old times – when there was no OS… Limitations of Current Networks Wilkes with the EDSAC,

Idea: An OS for Networks Simple Packet Forwarding Hardware Network Operating System Control Programs OpenFlow/SDN tutorial, Srini Seetharaman, Deutsche Telekom, Silicon Valley Innovation Center 8

Idea: An OS for Networks Simple Packet Forwarding Hardware Network Operating System Control Programs OpenFlow/SDN tutorial, Srini Seetharaman, Deutsche Telekom, Silicon Valley Innovation Center 9

Idea: An OS for Networks “NOX: Towards an Operating System for Networks” Global Network View Protocols Control via forwarding interface Network Operating System Control Programs Software-Defined Networking (SDN) The Future of Networking, and the Past of Protocols, Scott Shenker, with Martin Casado, Teemu Koponen, Nick McKeown 10

Software Defined Networking No longer designing distributed control protocols Much easier to write, verify, maintain, … –An interface for programming NOS serves as fundamental control block –With a global view of network 11

Software Defined Networking Questions: –How to obtain global information? –What are the configurations? –How to implement? –How is the scalability? –How does it really work? 12

A Short History of SDN  ~ 2004: Research on new management paradigms RCP, 4D [Princeton, CMU,….] SANE, Ethane [Stanford/Berkeley]  2008: Software-Defined Networking (SDN)  NOX Network Operating System [Nicira]  OpenFlow switch interface [Stanford/Nicira]  2011: Open Networking Foundation (~69 members) Board: Google, Yahoo, Verizon, DT, Msoft, F’book, NTT Members: Cisco, Juniper, HP, Dell, Broadcom, IBM,…..  2012: Latest Open Networking Summit Almost 1000 attendees, Google: SDN used for their WAN Commercialized, in production use (few places) 13

14 The Future of Networking, and the Past of Protocols Scott Shenker

15 Key to Internet Success: Layers Applications …built on… Reliable (or unreliable) transport Best-effort global packet delivery Best-effort local packet delivery Physical transfer of bits

16 Why Is Layering So Important? Decomposed delivery into fundamental components Independent but compatible innovation at each layer A practical success of unprecedented proportions… …but an academic failure

17 Built an Artifact, Not a Discipline Other fields in “systems”: OS, DB, DS, etc. -Teach basic principles -Are easily managed -Continue to evolve Networking: -Teach big bag of protocols -Notoriously difficult to manage -Evolves very slowly

18 Why Does Networking Lag Behind? Networks used to be simple: Ethernet, IP, TCP…. New control requirements led to great complexity -Isolation  VLANs, ACLs -Traffic engineering  MPLS, ECMP, Weights -Packet processing  Firewalls, NATs, middleboxes -Payload analysis  Deep packet inspection (DPI) -….. Mechanisms designed and deployed independently -Complicated “control plane” design, primitive functionality -Stark contrast to the elegantly modular “data plane”

19 Infrastructure Still Works! Only because of “our” ability to master complexity This ability to master complexity is both a blessing… -…and a curse!

20 A Better Example: Programming Machine languages: no abstractions -Mastering complexity was crucial Higher-level languages: OS and other abstractions -File system, virtual memory, abstract data types,... Modern languages: even more abstractions -Object orientation, garbage collection,… Abstractions key to extracting simplicity

21 “The Power of Abstraction” “ Modularity based on abstraction is the way things get done” − Barbara Liskov Abstractions  Interfaces  Modularity What abstractions do we have in networking?

22 Abstractions ~ Problem Decomposition  Decompose problem into basic components (tasks)  Define an abstraction for each component  Implementation of abstraction can focus on one task  If tasks still too hard to implement, return to step 1

23 Layers are Great Abstractions Layers only deal with the data plane We have no powerful control plane abstractions! How do we find those control plane abstractions? Two steps: define problem, and then decompose it.

24 The Network Control Problem Compute the configuration of each physical device -E.g., Forwarding tables, ACLs,… Operate without communication guarantees Operate within given network-level protocol Only people who love complexity would find this a reasonable request

25 Programming Analogy What if programmers had to: -Specify where each bit was stored -Explicitly deal with all internal communication errors -Within a programming language with limited expressability Programmers would redefine problem: -Define a higher level abstraction for memory -Build on reliable communication abstractions -Use a more general language Abstractions divide problem into tractable pieces -And make programmer’s task easier

26 From Requirements to Abstractions 1. Operate without communication guarantees Need an abstraction for distributed state 2. Compute the configuration of each physical device Need an abstraction that simplifies configuration 3. Operate within given network-level protocol Need an abstraction for general forwarding model Once these abstractions are in place, control mechanism has a much easier job!

27 1. Distributed State Abstraction Shield control mechanisms from state distribution -While allowing access to this state Natural abstraction: global network view -Annotated network graph provided through an API Implemented with “Network Operating System” Control mechanism is now program using API -No longer a distributed protocol, now just a graph algorithm -E.g. Use Dijkstra rather than Bellman-Ford

28 Control Program Software Defined Network (SDN) Network OS Global Network View Traditional Control Mechanisms Network of Switches and/or Routers Distributed algorithm running between neighbors e.g. routing, access control

29 Major Change in Paradigm No longer designing distributed control protocols -Design one distributed system (NOS) -Use for all control functions Now just defining a centralized control function Configuration = Function(view) If you understand this, raise your hand.

30 2. Specification Abstraction Control program should express desired behavior It should not be responsible for implementing that behavior on physical network infrastructure Natural abstraction: simplified model of network -Simple model with only enough detail to specify goals Requires a new shared control layer: -Map abstract configuration to physical configuration This is “network virtualization”

31 Simple Example: Access Control Global Network View Abstract Network Model How What

32 Network OS Global Network View Abstract Network Model Control Program Network Virtualization Software Defined Network: Take 2

33 What Does This Picture Mean? Write a simple program to configure a simple model -Configuration merely a way to specify what you want Examples -ACLs: who can talk to who -Isolation: who can hear my broadcasts -Routing: only specify routing to the degree you care Some flows over satellite, others over landline -TE: specify in terms of quality of service, not routes Virtualization layer “compiles” these requirements -Produces suitable configuration of actual network devices NOS then transmits these settings to physical boxes

34 Network OS Global Network View Abstract Network Model Control Program Network Virtualization Software Defined Network: Take 2 Specifies behavior Compiles to topology Transmits to switches

35 Two Examples Uses Scale-out router: -Abstract view is single router -Physical network is collection of interconnected switches -Allows routers to “scale out, not up” -Use standard routing protocols on top Multi-tenant networks: -Each tenant has control over their “private” network -Network virtualization layer compiles all of these individual control requests into a single physical configuration Hard to do without SDN, easy (in principle) with SDN

36 3. Forwarding Abstraction Switches have two “brains” -Management CPU (smart but slow) -Forwarding ASIC (fast but dumb) Need a forwarding abstraction for both -CPU abstraction can be almost anything ASIC abstraction is much more subtle: OpenFlow OpenFlow: -Control switch by inserting entries -Essentially gives NOS remote access to forwarding table -Instantiated in OpenvSwitch

37 A Quick Detour: OpenFlow Basics

38 OpenFlow Protocol Data Path (Hardware) Control PathOpenFlow Controller (Server Software) App

39 OpenFlow Switching 39 The Stanford Clean Slate Program, Controller PC Hardware Layer Software Layer OpenFlow Table MAC src MAC dst IP Src IP Dst TCP sport TCP dport Action OpenFlow Client ** ***port 1 port 4port 3 port 2 port

40 Research Experiments Step 1: Separate Control from Datapath

41 Step 2: Cache flow decisions in datapath “If header = x, send to port 4” “If header = ?, send to me” “If header = y, overwrite header with z, send to ports 5,6” Flow Table Flow Table

42 Plumbing Primitives Match arbitrary bits in headers: -Match on any header, or new header -Allows any flow granularity Action -Forward to port(s), drop, send to controller -Overwrite header with mask, push or pop -Forward at specific bit-rate 42 Header Data Match: 1000x01xx x

43 OpenFlow Table Entry 43 Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport RuleActionStats + mask Packet + byte counters The Stanford Clean Slate Program, 1.Forward packet to port(s) 2.Encapsulate and forward to controller 3.Drop packet 4.Send to normal processing pipeline 5.…

44 OpenFlow Examples 44 Switching * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action * 00:1f:.. *******port6 Firewall * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action ********22drop OpenFlow/SDN tutorial, Srini Seetharaman, Deutsche Telekom, Silicon Valley Innovation Center Routing * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action ***** ***port6

45 OpenFlow Usage Controller PC OpenFlow Switch Alice’s code Decision? OpenFlow Protocol Alice’s Rule 45 OpenFlow/SDN tutorial, Srini Seetharaman, Deutsche Telekom, Silicon Valley Innovation Center »Alice’s code: ˃ Simple learning switch ˃ Per Flow switching ˃ Network access control/firewall ˃ Static “VLANs” ˃ Her own new routing protocol: unicast, multicast, multipath ˃ Home network manager ˃ Packet processor (in controller) ˃ IPvAlice

46 OpenFlow Standardization Version 1.0: Most widely used version Version 1.1: Released in February OpenFlow transferred to ONF in March 2011.

47 Specialized Packet Forwarding Hardware Feature Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Network OS Feature Restructured Network

48 Feature Network OS 1. Open interface to packet forwarding 3. Well-defined open API 2. At least one Network OS probably many. Open- and closed-source Software-Defined Network Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

49 Does SDN Work? Is it scalable?Yes Is it less responsive?No Does it create a single point of failure?No Is it inherently less secure?No Is it incrementally deployable?Yes

50 SDN: Clean Separation of Concerns Control prgm: specify behavior on abstract model -Driven by Operator Requirements Net Virt’n: map abstract model to global view -Driven by Specification Abstraction NOS: map global view to physical switches -API: driven by Distributed State Abstraction -Switch/fabric interface: driven by Forwarding Abstraction

51 We Have Achieved Modularity! Modularity enables independent innovation -Gives rise to a thriving ecosystem Innovation is the true value proposition of SDN -SDN doesn’t allow you to do the impossible -It just allows you to do the possible much more easily This is why SDN is the future of networking…

52 SDN Architecture Overview (ONF v1.0)