Aaron Gember Aditya Akella University of Wisconsin-Madison

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
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
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,
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Mobile Communication and Internet Technologies
Baraki H. Abay Nov 04,2011. Outline 1. Legacy Networks 2. Software defined networks  Motivation,Architecture, Principles, 3. OpenFlow  Principles, Architecture.
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.
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
The Stanford Clean Slate Program A couple of platforms (Or: “Why can’t I innovate in my wiring closet?”) Nick McKeown
OpenFlow on top of NetFPGA Part I: Introduction to OpenFlow NetFPGA Spring School 2010 Some slides with permission from Prof. Nick McKeown. OpenFlow was.
An Overview of Software-Defined Network
An Overview of Software-Defined Network Presenter: Xitao Wen.
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.
Felicián Németh Balázs Sonkoly, András Gulyás
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.
Specialized Packet Forwarding Hardware Feature Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System.
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.
Software Defined-Networking. Network Policies Access control: reachability – Alice can not send packets to Bob Application classification – Place video.
Sponsored by the National Science Foundation Tutorial: OpenFlow in GENI GENI Project Office.
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
Sponsored by the National Science Foundation Tutorial: An Introduction to OpenFlow using POX GENI Engineering Conference 20 June 2014.
SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.
A Simple Unified Control Plane for Packet and Circuit Networks Saurav Das, Guru Parulkar, Nick McKeown Stanford University.
OpenFlow/SDN tutorial OFC/NFOEC March, 2012 Srini Seetharaman Deutsche Telekom Silicon Valley Innovation Center 1.
OpenFlow:Enabling Innovation in Campus Network
Unifying Packet & Circuit Networks with OpenFlow Saurav Das, Guru Parulkar, & Nick McKeown Stanford University BIPN, Nov 30 th 2009
Sponsored by the National Science Foundation 1 GEC16, March 21, 2013 Are you ready for the tutorial? 1.Did you do the pre-work? A.Are you able to login.
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
HP Hybrid Switches. HP OpenFlow Enabled Switches OF Firmware for Existing Procurve Switches – 5406zl, 5412zl, 3500yl and 6600 – Supports OpenFlow 1.0.
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.
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
SDN basics and OpenFlow. Review some related concepts SDN overview OpenFlow.
OpenFlow/SDN tutorial OFC/NFOEC March, 2012
Chapter 4 Network Layer: The Data Plane
Intrusion Detection Systems
Software defined networking: Experimental research on QoS
Software Defined Networks
Week 6 Software Defined Networking (SDN): Concepts
SDN Overview for UCAR IT meeting 19-March-2014
SDN basics and OpenFlow
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
Software Defined Networking (SDN)
Software Defined Networking
Handout # 18: Software-Defined Networking
Implementing an OpenFlow Switch on the NetFPGA platform
An Introduction to Software Defined Networking and OpenFlow
Software Defined Networking
SDN 刘 驰.
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:

Aaron Gember Aditya Akella University of Wisconsin-Madison SDN Software Stack SDN Dev Group, Week 1 Aaron Gember Aditya Akella University of Wisconsin-Madison

Slides Originally From Tutorial 1: SDN for Engineers part of the the Open Networking Summit April 16, 2012 Brandon Heller, Rob Sherwood, David Erickson, Hideyuki Shimonishi, Srini Seetharaman, Murphy McCauley

What is SDN, opt. 1 “The McKeown View”: Refactoring Functionality Define SDN by its placement of functionality.

Today Closed Boxes, Fully Distributed Protocols Closed App Operating System App Specialized Packet Forwarding Hardware Operating System App Specialized Packet Forwarding Hardware Operating System Historical artifact that forwarding boxes host the code too. Leads to a specific design point for networks. Great for the internet, not so much for the networks the internet connects. Note each piece. App Specialized Packet Forwarding Hardware Operating System Specialized Packet Forwarding Hardware App Operating System Specialized Packet Forwarding Hardware 4

The “Software-defined Network” 2. At least one good operating system Extensible, possibly open-source 3. Well-defined open API App App App Network Operating System 1. Open interface to hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Switches, routers and other middleboxes are dumbed down The key is to have a standardized control interface that speaks directly to hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware 5

Virtualization or “Slicing” Layer Isolated “slices” Many operating systems, or Many versions App Network Operating System 1 Network Operating System 2 Network Operating System 3 Network Operating System 4 Open interface to hardware Virtualization or “Slicing” Layer Open interface to hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware

What is SDN, opt. 2 “The Shenker View”: Redefining Abstractions Define SDN by the abstractions it provides to software (and people writing it). Not just about where the functionality is implemented, but about defining a new set of abstractions for thinking about those interface

Forwarding Abstraction Forwarding behavior specified by a control program. Possibilities: x86, MPLS, OpenFlow

State Distribution Abstraction Control program should not have to handle distributed-state details Proposed abstraction: global network view Control program operates on network view Input: global network view (graph) Output: configuration of each network device Network OS provides network view Note difference between being asked to build OSPF vs implementing Dijskstra’s algorithm. Short version: programs operate on graphs

Specification Abstraction Give control program abstract view of network Provide enough detail to specify goals, but not to implement them

What SDN really means is up in the air What SDN really means is up in the air. Here’s a good definition, though: Software Defined Networking (SDN) is a refactoring of the relationship between network devices and the software that controls them. [Paraphrased from the HotSDN ‘12 Solicitation] We’re been talking in the abstract; now, let’s move to the concrete

HP, NEC, Pronto, Juniper.. and many more The SDN Stack Simple Switch CloudNaaS Stratos … Applications NOX Beacon Trema Maestro … Controller Slicing Software FlowVisor Console FlowVisor There are components at different levels that work together in making it work The commercial switch details will follow in next slide There are a plethora of applications possible. I only list those available at Stanford Commercial Switches Software Ref. Switch NetFPGA Broadcom Ref. Switch HP, NEC, Pronto, Juniper.. and many more OpenFlow Switches OpenWRT PCEngine WiFi AP Open vSwitch 12

The SDN Stack Controller OpenFlow Switches There are components at different levels that work together in making it work The commercial switch details will follow in next slide There are a plethora of applications possible. I only list those available at Stanford OpenFlow Switches 13

How does OpenFlow work? Ethernet Switch

Control Path (Software) Data Path (Hardware)

OpenFlow Controller Control Path OpenFlow Data Path (Hardware) OpenFlow Protocol (SSL/TCP) Control Path OpenFlow Data Path (Hardware)

OpenFlow Client Controller PC OpenFlow Example Software Layer MAC src Flow Table MAC src dst IP Src Dst TCP sport dport Action Hardware Layer * 5.6.7.8 port 1 port 1 port 2 port 3 port 4 5.6.7.8 1.2.3.4

OpenFlow Basics Flow Table Entries Rule Action Stats Packet + byte counters Forward packet to zero or more ports Encapsulate and forward to controller Send to normal processing pipeline Modify Fields Any extensions you add! Now I’ll describe the API that tries to meet these goals. Switch Port VLAN ID VLAN pcp MAC src MAC dst Eth type IP Src IP Dst IP ToS IP Prot L4 sport L4 dport + mask what fields to match

Examples Switching Flow Switching Firewall Switch Port MAC src dst Eth type VLAN ID IP Src Dst Prot TCP sport dport Action * * 00:1f:.. * * * * * * * port6 Flow Switching Switch Port MAC src dst Eth type VLAN ID IP Src Dst Prot TCP sport dport Action port3 00:20.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6 Firewall Switch Port MAC src dst Eth type VLAN ID IP Src Dst Prot TCP sport dport Action * * * * * * * * * 22 drop

OpenFlow Progression OF v1.0: released end of 2009: “Into the Campus” OF v1.1: released March 1 2011: “Into the WAN” multiple tables: leverage additional tables tags and tunnels: MPLS, VLAN, virtual ports multipath forwarding: ECMP, groups OF v1.2: approved Dec 8 2011: “Extensible Protocol” extensible match extensible actions IPv6 multiple controllers

HP, NEC, Pronto, Juniper.. and many more The SDN Stack Controller There are components at different levels that work together in making it work The commercial switch details will follow in next slide There are a plethora of applications possible. I only list those available at Stanford Commercial Switches Software Ref. Switch NetFPGA Broadcom Ref. Switch HP, NEC, Pronto, Juniper.. and many more OpenFlow Switches OpenWRT PCEngine WiFi AP Open vSwitch 21

Switches Vendor Models Virtualize? Notes Image HP ProCurve 5400zl, 6600, + 1 OF instance per VLAN LACP, VLAN and STP processing before OF Wildcard rules or non-IP pkts processed in s/w Header rewriting in s/w CPU protects mgmt during loop Pronto/ Pica8 3290, 3780, 3920, + 1 OF instance per switch No legacy protocols (like VLAN and STP) Most actions processed in hardware MAC header rewriting in h/w Name Lang Platform(s) Original Author Notes OpenFlow Reference C Linux Stanford/Nicira not designed for extensibility Open vSwitch C/ Python Linux/BSD? Ben Pfaff/Nicira In Linux kernel 3.3+ Indigo C/Lua Linux-based Hardware Switches Dan Talayco/BigSwitch Bare OpenFlow switch Language open-source Performance cross-platform runtime modular

HP, NEC, Pronto, Juniper.. and many more The SDN Stack NOX Beacon Trema Maestro … Controller There are components at different levels that work together in making it work The commercial switch details will follow in next slide There are a plethora of applications possible. I only list those available at Stanford Commercial Switches Software Ref. Switch NetFPGA Broadcom Ref. Switch HP, NEC, Pronto, Juniper.. and many more OpenFlow Switches OpenWRT PCEngine WiFi AP Open vSwitch 23

Controllers Too many to easily keep track of… Name Lang Original Author Notes OpenFlow Reference C Stanford/Nicira not designed for extensibility NOX Python, C++ Nicira actively developed Beacon Java David Erickson (Stanford) runtime modular, web UI framework, regression test framework Maestro Zheng Cai (Rice) Trema Ruby, C NEC includes emulator, regression test framework RouteFlow ? CPqD (Brazil) virtual IP routing as a service POX Python Floodlight BigSwitch, based on Beacon Language open-source Performance cross-platform runtime modular Too many to easily keep track of… http://yuba.stanford.edu/~casado/of-sw.html

HP, NEC, Pronto, Juniper.. and many more The SDN Stack NOX Beacon Trema Maestro … Controller Slicing Software FlowVisor Console FlowVisor There are components at different levels that work together in making it work The commercial switch details will follow in next slide There are a plethora of applications possible. I only list those available at Stanford Commercial Switches Software Ref. Switch NetFPGA Broadcom Ref. Switch HP, NEC, Pronto, Juniper.. and many more OpenFlow Switches OpenWRT PCEngine WiFi AP Open vSwitch 25

FlowVisor Creates Virtual Networks CloudNaaS Simple switch Stratos Each application runs in an isolated slice of the network. OpenFlow Protocol OpenFlow Protocol FlowVisor OpenFlow Switch Reservations FlowVisor slices OpenFlow networks, creating multiple isolated and programmable logical networks on the same physical topology. OpenFlow Switch OpenFlow Switch

HP, NEC, Pronto, Juniper.. and many more The SDN Stack Simple Switch CloudNaaS Stratos … Applications NOX Beacon Trema Maestro … Controller Slicing Software FlowVisor Console FlowVisor There are components at different levels that work together in making it work The commercial switch details will follow in next slide There are a plethora of applications possible. I only list those available at Stanford Commercial Switches Software Ref. Switch NetFPGA Broadcom Ref. Switch HP, NEC, Pronto, Juniper.. and many more OpenFlow Switches OpenWRT PCEngine WiFi AP Open vSwitch 27

Example SDN Applications Wisconsin Projects Stanford Demos Stratos CloudNaaS OpenSAFE ECOS Wireless mobility VM mobility/migration Network virtualization Power management Load balancing Traffic Engineering

openflow.org/videos

Related Research DIFANE ONIX DevoFlow Frenetic/Nettle Rule partitioning for controller-less flow insertion ONIX Fault-tolerant controller platform from Nicira, Google, NEC DevoFlow Practical scalability limits to OpenFlow and modifications to get around them Frenetic/Nettle Functional Reactive Programming for more composable, reusable controller code

Related Research Consistency Primitives HotSDN 2012 Per-packet or per-flow routing guarantees to simplify network versioning HotSDN 2012

OpenFlow Tutorial

Getting Answers Mailing lists: Wikis for OpenFlow, controllers, etc. openflow-discuss openvswitch-{discuss/dev} Lists for specific controllers Wikis for OpenFlow, controllers, etc.

SDN Dev Group Week 2 Preparation Meeting topics Finish OpenFlow tutorial (Try vendor extensions in Open vSwitch) Skim OpenFlow 1.0 and 1.2 standards Meeting topics UW-Madison OpenFlow testbed

SDN Dev Group Week 3 Preparation Meeting topics Use UW-Madison OpenFlow testbed TBD: Read Stratos? ONIX? Meeting topics TBD