Aditya Akella (Based on slides from Aaron Gember and Nick McKeown)

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
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
An Overview of Software-Defined Network
CSE534 – Fundamentals of Computer Networks Lecture 22: Software designed networking Based on slides by J. Princeton & N. Stanford &
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.
Formal checkings in networks James Hongyi Zeng with Peyman Kazemian, George Varghese, Nick McKeown.
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.
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.
The Stanford Clean Slate Program POMI2020 Mobility Nick McKeown
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
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.
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.
Software Defined Networking Mike Freedman COS 461: Computer Networks
A Simple Unified Control Plane for Packet and Circuit Networks Saurav Das, Guru Parulkar, Nick McKeown Stanford University.
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.
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 MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
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.
Data Center Networks and Software-defined Networking
Chapter 4 Network Layer: The Data Plane
SDN challenges Deployment challenges
Software defined networking: Experimental research on QoS
Network Data Plane Part 2
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
ClosedFlow: OpenFlow-like Control over Proprietary Devices
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
Control-Data Plane Separation
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Aditya Akella (Based on slides from Aaron Gember and Nick McKeown) SDN Aditya Akella (Based on slides from Aaron Gember and Nick McKeown)

Vertically integrated App Specialized Applications Linux Mac OS Windows (OS) or Open Interface Specialized Operating System Microprocessor Open Interface Specialized Hardware Vertically integrated Closed, proprietary Slow innovation Small industry Horizontal Open interfaces Rapid innovation Huge industry

Vertically integrated App Specialized Features Control Plane or Open Interface Specialized Control Plane Merchant Switching Chips Open Interface Specialized Hardware Vertically integrated Closed, proprietary Slow innovation Horizontal Open interfaces Rapid innovation

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

Software Defined Network (SDN) 2. At least one Network OS probably many. Open- and closed-source Control Program Control Program Global Network View Network OS 1. Open interface to packet forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

Software Defined Network (SDN) Control Programs Control Programs Control Programs Control logics Abstract Network View Network Virtualization Control platform Global Network View Network OS Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

Software Defined Network (SDN) firewall.c … if( pkt->tcp->dport == 22) dropPacket(pkt); Control Programs Control Programs Control Programs Control logics Abstract Network View Network Virtualization Control platform Global Network View Network OS <Match, Action> … Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

“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 “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

Control Logic Runs on one or more controllers Manages computation of forwarding state and perhaps coordination among instances Control platform provides basic services to ease the latter (See Onix paper) State distribution mechanisms Logic still must decide how to partition computation, dealing with failover and the underlying consistency model

Control Platform Scheduling computations over the network graph Storing network state and support for different consistency models Today: most control platforms can run a single control application Not yet sure how to resolve interference (e.g., policy routing vs traffic engineering)

State Distribution Abstraction Control program should not have to handle all 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.

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

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

Example OSPF (Dijkstra) IS-IS Network OS New! OSPF IS-IS OS Packet Forwarding Distributed System New! OSPF IS-IS Distributed System Distributed System OS Custom Hardware

OpenFlow Forwarding Abstraction Control Program A Control Program B Network OS “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

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 Forwarding Abstraction <Match, Action> 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

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 Forwarding Abstraction Protocol Independent Construct Ethernet, IPv4, VLAN, MPLS, … Construct new forwarding methods Backward Compatible Run in existing networks Technology Independent Switches, routers, WiFi APs Cellular basestations WDM/TDM circuits

Things to Note about Forwarding Common OpenFlow model is to use first packets of flows to compute and push state Flows vs state: SDN allows more general models of forwarding state management independent of traffic Events trigger changes, e.g., failures, control traffic Managing inconsistencies is critical Fabrics vs switches: Control logics don’t have to deal with switches They essentially program a fabric that looks like one large switch and supports end-to-end connectivity by default Complex logic pushed to the edge

Virtual Data Paths Thinking in terms of fabrics essentially means control logics have to deal with simpler topologies Topology captured by “virtual data paths” Depending on control logic, can be very simple: for access controls it is just data path through a single switch Every virtual element uses familiar forwarding abstractions, e.g., L2, L3 and ACLs Control platform responsible for mapping virtual data path to the physical network

SDN in development Domains Products Data centers Public clouds Enterprise/campus Cellular backhaul Enterprise WiFi WANs Home networks Products Switches, routers: About 15 vendors Software: 8-10 vendors and startups New startups. Lots of hiring in networking.

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

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 28

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 30

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 32

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 34

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 36

How SDN will shape networking Empower network owners and operators Customize networks to local needs Eliminate unneeded features Creation of virtual, isolated networks Increase the pace of innovation Innovation at software speed Standards (if any) will follow software deployment Technology exchange with partners Technology transfer from universities

Summary Networks becoming Abstractions More programmatic Defined by owners and operators, not vendors Faster changing, to meet operator needs Lower opex, capex and power Abstractions Will shield programmers from complexity Make behavior more provable Will take us places we can’t yet imagine