Software Defined Networking (SDN)

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

Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
Jennifer Rexford Princeton University MW 11:00am-12:20pm Network Virtualization COS 597E: Software Defined Networking.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Today1 Software Defined Networks  A quick overview  Based primarily on the presentations of Prof. Scott Shenker of UC Berkeley “The Future of Networking,
ClosedFlow: OpenFlow-like Control over Proprietary Devices
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.
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.
Author : Martín Casado, Teemu Koponen, Scott Shenker, Amin Tootoonchian Publisher : Presenter : Pei-Hua Huang Date : 2013/10/02 Fabric: A Retrospective.
CSCI-1680 Software-Defined Networking Rodrigo Fonseca Most content from lecture notes by Scott Shenker.
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Software Defined Networking.
SDN in Openstack - A real-life implementation Leo Wong.
SDN and Openflow.
Scalable Network Virtualization in Software-Defined Networks
Professor Yashar Ganjali Department of Computer Science University of Toronto
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
1 Project 3 and Software-Defined Networking (SDN) EE122 Fall 2011 Scott Shenker Materials with thanks to Jennifer.
An Overview of Software-Defined Network
CSE534 – Fundamentals of Computer Networks Lecture 22: Software designed networking Based on slides by J. Princeton & N. Stanford &
Class 3: SDN Stack Theophilus Benson. Outline Background – Routing in ISP – Cloud Computing SDN application stack revisited Evolution of SDN – The end.
Network Management and Software-Defined Networking (SDN)
An Overview of Software-Defined Network Presenter: Xitao Wen.
Professor Yashar Ganjali Department of Computer Science University of Toronto
1 Thinking Architecturally (80 Minutes Inside Scott’s Head) EE122 Fall 2012 Scott Shenker Materials with thanks to.
Data Center Network Redesign using SDN
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
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.
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.
Software Defined-Networking. Network Policies Access control: reachability – Alice can not send packets to Bob Application classification – Place video.
Aditya Akella (Based on slides from Aaron Gember and Nick McKeown)
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Programmable Networks: Active Networks + SDN. How to Introduce new services Overlays: user can introduce what-ever – Ignores physical network  perf overhead.
CSCI-1680 Software-Defined Networking Rodrigo Fonseca With content from Scott Shenker, Nick McKeown.
Open networking w/ Marist College Software Defined Networks.
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.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
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.
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
SOFTWARE DEFINED NETWORKING/OPENFLOW: A PATH TO PROGRAMMABLE NETWORKS April 23, 2012 © Brocade Communications Systems, Inc.
P4 Amore! ( Or, How I Learned to Stop Worrying and Love P4) Jennifer Rexford Princeton University.
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.
Fabric: A Retrospective on Evolving SDN Presented by: Tarek Elgamal.
6.888 Lecture 14: Software Defined Networking Mohammad Alizadeh Spring 2016  Many thanks to Nick McKeown (Stanford), Jennifer Rexford (Princeton), Scott.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
The Road to SDN: An Intellectual History of Programmable Networks KyoungSoo Park Department of Electrical Engineering KAIST.
SDN challenges Deployment challenges
15-744: Computer Networking
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
Software Defined Networks
NOX: Towards an Operating System for Networks
Overview of SDN Controller Design
6.829 Lecture 13: Software Defined Networking
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.
湖南大学-信息科学与工程学院-计算机与科学系
The Stanford Clean Slate Program
Software Defined Networking (SDN)
Software Defined Networking
Control-Data Plane Separation
Presentation transcript:

Software Defined Networking (SDN) Marco.Cello@unige.it DITEN – Università di Genova Talk @ IEIIT – Consiglio Nazionale delle Ricerche (CNR) Genova 28 Marzo 2014 Material from: Scott Shenker (UC Berkeley), “Software-Defined Networking at the Crossroads”, Standford, Colloquium on Computer Systems Seminar Series (EE380), 2013. Scott Shenker (UC Berkeley), “A Gentle Introduction to Software Defined Networks”, Technion Computer Engineering Center, 2012. http://tce.technion.ac.il/files/2012/06/Scott-shenker.pdf Scott Shenker (UC Berkeley), “The Future of Networking, and the Past of Protocols”, Open Network Summit, 2011. http://www.opennetsummit.org/archives/oct11/shenker-tue.pdf Nick McKeown (Stanford), ITC Keynote, San Francisco, 2011. http://yuba.stanford.edu/~nickm/talks/ITC%20Keynote%20Sept%202011.ppt 1

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, Microsoft, Facebook, NTT Members: Cisco, Juniper, HP, Dell, Broadcom, IBM,….. 2013: Latest Open Networking Summit 1600 attendees, Google: SDN used for their WAN Commercialized, in production use (few places) 2

Why Was SDN Needed? Networks are hard to manage Computation and storage have been virtualized Creating a more flexible and manageable infrastructure Networks are still notoriously hard to manage Network administrators large share of sysadmin staff Networks are hard to evolve Ongoing innovation in systems software New languages, operating systems, etc. Networks are stuck in the past Routing algorithms change very slowly Network management extremely primitive Networks design not based on formal principles OS courses teach fundamental principles Mutual exclusion and other synchronization primitives Files, file systems, threads, and other building blocks  Networking courses teach a big bag of protocols No formal principles, just general design guidelines 3

Networks design not based on formal principles Networks used to be simple Basic Ethernet/IP straightforward, easy to manage New control requirements have led to complexity ACLs, VLANs, TE, Middleboxes, DPI,… The infrastructure still works... Only because of our great ability to master complexity Ability to master complexity both blessing and curse 4

How Programming Made the Transition Machine languages: no abstractions Had to deal with low-level details Higher-level languages: OS and other abstractions File system, virtual memory, abstract data types, ... Modern languages: even more abstractions Object orientation, garbage collection,... Abstractions simplify programming Easier to write, maintain, reason about programs Abstractions are the way we extracted simplicity So, what role do abstractions play in networking? 5

The Two Networking “Planes” Data plane: processing and delivery of packets with local forwarding state Forwarding state + packet header forwarding decision Control plane: compute the state in routers (forwarding state) Determines how and where packets are forwarded Routing, traffic engineering, firewall state, … Implemented with distributed protocols, manual configuration (and scripting) or centralized computation These different planes require different abstractions 6

Data Plane Abstractions: Layers Applications …built on… Reliable (or unreliable) transport Best-effort global packet delivery Best-effort local packet delivery Local physical transfer of bits 7

Control Plane Abstractions

(Too) Many Control Plane Mechanisms Variety of goals: Routing: distributed routing algorithms Isolation: ACLs, VLANs, Firewalls,… Traffic engineering: adjusting weights, MPLS,… No modularity, limited functionality Control Plane: mechanism without abstraction Too many mechanisms, not enough functionality

apply to the control plane? What abstractions should we apply to the control plane?

The Control Plane Problem Control plane must compute forwarding state. To accomplish its task, the control plane must: Figure out what network looks like (topology) Figure out how to accomplish goal on given topology Tell the swtiches what to do (configure forwarding state) We view this as a natural set of requirements.... And we require each new protocol to solve all three This is crazy!

Programming Analogy What if you were told to write a program that must… Be aware of the hardware you were running on Specify where each bit was stored Programmer would immediately define abstractions: Machine-independent interface Virtual memory interface Programmers use abstractions to separate concerns Network designers should too!

The Control Plane Problem Control plane must compute forwarding state. To accomplish its task, the control plane must: Figure out what network looks like (topology) Figure out how to accomplish goal on given topology Tell the swtiches what to do (configure forwarding state) What components do we want to reuse? Determining the topology information 3. Configuring forwarding state on routers/switches You now know everthing you need about SDN: It is the use of those two control planes abstractions 13

SDN: Two Control Plane Abstractions Abstraction: global network view Provides information about current network Implementation: “Network Operating System” Runs on servers in network (replicated for reliability) Abstraction: forwarding model Provides standard way of defining forwarding state This is OpenFlow Specification of <match,action> flow entries

SDN is “Layers” for Control Plane Traditional Control Mechanisms Network of Switches and/or Routers routing, access control, etc. Control Program Global Network View Distributed algorithm running between neighbors Network OS (e.g. NOX) Complicated task-specific distributed algorithm Forwarding Model 15

Example1: OSPF and Dijkstra RFC 2328: 245 pages Distributed System Builds consistent, up-to-date map of the network: 101 pages Dijkstra’s Algorithm Operates on map: 4 pages

Example1: OSPF and Dijkstra 17

Example2: Load Balancing Optimal Load Balancer: Ideally each HTTP request would be sent over a path which is lightly loaded to a server which is lightly loaded in order to minimize the request 18

Example2: Load Balancing Current Load Balancer: it can choose only the lightly loaded server KEMP Technologies LoadMasterTM 2400 19

Example2: Load Balancing 20

Example2: Load Balancing N. Handigol, S. Seetharaman, M. Flajslik, R. Johari, and N. McKeown. Aster*x: Load-balancing as a network primitive. 9th GENI Engineering Conference (Plenary), November 2010 21

Specification Abstraction Control program must express desired behavior Whether it be isolation, access control, or QoS It should not be responsible for implementing that behavior on physical network infrastructure Requires configuring the forwarding tables in each switch Proposed abstraction: Virtual Topology of network Virtual Topology models only enough detail to specify goals Will depend on task semantics 22

Simple Example: Access Control Operator’s goal: prevent A’s packets from reaching B Control program does so with access control entries: Control program must respond to topology/routing changes Makes it hard to write correct control program A AB drop Global Network View AB drop B 23

Network Virtualization Introduce new abstraction and new SDN layer Abstraction: Virtual Topology Allows operator to express requirements and policies Via a set of logical switches and their configurations Layer: Network Hypervisor Translates those requirements into switch configurations “Compiler” for virtual topologies 24

Virtualization Simplifies Control Program Abstract Network View A AB drop B Hypervisor then inserts flow entries as needed A AB drop Global Network View AB drop B 25

Software Defined Network Virtual Topology Control Program Network Hypervisor Global Network View Network OS

Clean Separation of Concerns Control program: express goals on Virtual Topology Operator Requirements Configuration = Function(view) Not a distributed protocol, now just a graph algorithm Network Hypervisor: Virtual Topology  Global Network View Network OS: Global Network View  physical switches Gathers information for global network view Conveys configurations from control program to switches Router/switches: merely follow orders from NOS Clean separation of control and data planes Not packaged togheter in proprietary boxes Enables use of commodity hardware, 3rd party software Easier to write, maintain, verify, reason about, …

SDN: Layers for the Control Plane Control Program Abstract Network View Network Virtualization Global Network View Network OS

Abstractions Don’t Eliminate Complexity Every component of system is tractable NOS, Virtualization are still complicated pieces of code SDN main achievements: Simplifies interface for control program (user-specific) Pushes complexity into reusable code (SDN platform) Just like compilers….

Virtualization is Killer App for SDN Consider a multi-tenant datacenter Want to allow each tenant to specify virtual topology This defines their individual policies and requirements Datacenter’s network hypervisor compiles these virtual topologies into set of switch configurations Takes 1000s of individual tenant virtual topologies Computes configurations to implement all simultaneously This is what people are paying money for…. Enabled by SDN’s ability to virtualize the network 30

What Should I Remember About SDN?

Four Crucial Points SDN is merely set of abstractions for control plane Not a specific set of mechanisms OpenFlow is least interesting aspect of SDN, technically SDN involves computing a function…. NOS handles distribution of state …on an abstract network Can ignore actual physical infrastructure Network virtualization is the “killer app” Already virtualized compute, storage; network is next

Does SDN have larger implications? Aside from providing easier network management, how will SDN change the world of networking?

Control/Data Planes Become Separate Currently control plane tied to data plane NOS runs on servers: observes/controls data plane Changes the deployment and business models Can buy the control plane separately from the switches Enabling commodity hardware and 3rd party software Changes the testing model Simulator to analyze large-scale control planes

Networking Becomes Edge-Oriented Can implement most control functionality at edge Access control, QoS, mobility, migration, monitoring… Network core merely delivers packets edge-to-edge Current protocols do a good job (mostly) Let edge handle all complexity Complicated matching, actions “Overlay” networking via tunnels This has two important implications

1. Makes SDN Incrementally Deployable Host software often has OpenFlow switch Open vSwitch (OVS) in Linux, Xen,… The edge becomes a software switch Core of network can be legacy hardware Enables incremental deployment of SDN Might never need OpenFlow in hardware switches….

2. Networking Becomes Software-Oriented All complicated forwarding done in software (edge) And control plane is a program (on a server)… …not a protocol (on a closed proprietary switch/router) We are programming the network, not designing it Focus on modularity and abstractions, not packet headers Innovation at software, not hardware, speeds Software lends itself to clean abstractions

SDN Vision: Networks Become “Normal” Hardware: Cheap, interchangeable, Moore’s Law Software: Frequent releases, decoupled from HW Functionality: Mostly driven by SW Edge (software switch) Control program Solid intellectual foundations

Recap - The network is changing Feature Network OS Feature OS Feature Custom Hardware OS Feature Custom Hardware OS Feature Custom Hardware OS Custom Hardware Feature OS Custom Hardware 39

Recap - Software Defined Network (SDN) 3. Consistent, up-to-date global network view 2. At least one Network OS probably many. Open- and closed-source Control Program 1 Control Program 2 Network OS 1. Open interface to packet forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding 40

OpenFlow Basics Network OS Ethernet Switch OpenFlow Protocol Control Program A Control Program B Network OS OpenFlow Protocol Ethernet Switch Control Path OpenFlow Data Path (Hardware) 41 41

Primitives <Match, Action> 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 Header Data Match: 1000x01xx0101001x 42

OpenFlow Basics Network OS Control Program A Control Program B “If header = p, send to port 4” “If header = q, overwrite header with r, add header s, and send to ports 5,6” Packet Forwarding “If header = ?, send to me” Flow Table(s) Packet Forwarding Packet Forwarding 43

More sophisticated flow identification Application level flow 44

More sophisticated flow identification IP flow 45

More sophisticated flow identification Custom flow 46

More sophisticated flow identification My flow 47

SDN “Implementations” – Software/Hardware Forwarding Model OpenFlow ForCES Software Switches compliant with OpenFlow std. Open vSwitch Pantou/OpenWRT Ofsoftswitch13 Indigo Controller compliant with OpenFlow std. POX NOX MUL Maestro Available Commodity Switches compliant with OpenFlow std. Hewlett-Packard 8200zl, 6600, 6200zl, Brocade 5400zl, and 3500/3500yl IBM NetIron CES 2000 Series Bruno Astuto A. Nunes, Marc Mendonca, Xuan-Nam Nguyen, Katia Obraczka, and Thierry Turletti, “A Survey of Software-Defined Networking: Past, Present, and Future of Programmable Networks”, Technical Report, http://hal.inria.fr/hal-00825087/PDF/bare_jrnl.pdf 48

SDN Literature - Sources Browsing on proceedings of: ACM Sigcomm; ACM Sigcomm Workshop HotSDN; ACM Sigcomm Workshop HotNets; ACM CoNEXT; USENIX NSDI; USENIX HotCloud; USENIX Hot-ICE; ONS; SDN reading list: http://www.nec-labs.com/~lume/sdn-reading-list.html 49

SDN research areas SDN applications SDN architecture 50 Controller scalability multi-controller reduce messages sent to controller switch/CPU design approaches Network Updates Programming Testing/Debugging Traffic Management/QoS flow scheduling Load balancing Transport protocol Monitoring Security SDN applications SDN architecture 50