Professor Yashar Ganjali Department of Computer Science University of Toronto

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.
SDN and Openflow.
CSE390 – Advanced Computer Networks Lecture 22: Software designed networking Based on slides by J. Princeton & N. Stanford & S. Shenker.
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.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
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
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.
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.
Learning Objectives What is SDN? How key SDN technologies work? SDN applications How to program SDN networks?
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.
國立清華大學高速通訊與計算實驗室 NTHU High-Speed Communication & Computing Laboratory A Hot Topic in Computer Networks Today: Software- Defined Networking Prof. Jang-ping.
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.
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
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( )
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.
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.
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
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.
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
Week 6 Software Defined Networking (SDN): Concepts
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:

Professor Yashar Ganjali Department of Computer Science University of Toronto

Today Software-defined networking OpenFlow basics CSC Software-Defined Networking2University of Toronto – Fall 2014

Innovation – Computers vs. Networks How difficult is it to create/modify a computer application? How difficult is it to create/modify a network feature? What is the difference? What are the tools available for each? CSC Software-Defined Networking3University of Toronto – Fall 2014

Computer Application Computer Application OS OS abstracts hardware substrate  Innovation in applications Innovation in Applications CSC Software-Defined Networking4University of Toronto – Fall 2014

x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) Application Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) or Application Simple, common, stable, hardware substrate below + Programmability + Competition  Innovation in OS and applications Innovation in OS and Applications CSC Software-Defined Networking5University of Toronto – Fall 2014

Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) or Application Windows (OS) Windows (OS) Windows (OS) Windows (OS) Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) App Linux Mac OS Mac OS Mac OS Mac OS Virtualization App Simple, common, stable, hardware substrate below + Programmability + Strong isolation model + Competition above  Innovation in infrastructure Innovation in Infrastructure CSC Software-Defined Networking6University of Toronto – Fall 2014

Vertically integrated Closed, proprietary Slow innovation Small industry Specialized Operating System Specialized Operating System Specialized Hardware Specialized Hardware App Specialized Applications Specialized Applications Horizontal Open interfaces Rapid innovation Huge industry Microprocessor Open Interface Linux Mac OS Mac OS Windows (OS) Windows (OS) or Open Interface CSC Software-Defined Networking7University of Toronto – Fall 2014

Million of lines of source code 6,000 RFCs Billions of gates BloatedPower Hungry Vertically integrated, complex, closed, proprietary Networking industry with “mainframe” mind-set Custom Hardware OS Routing, management, mobility management, access control, VPNs, … Feature We Have Lost Our Way CSC Software-Defined Networking8University of Toronto – Fall 2014

Operating System Reality is Even Worse App Specialized Packet Forwarding Hardware Operating System Operating System App Lack of competition means glacial innovation Closed architecture means blurry, closed interfaces CSC Software-Defined NetworkingUniversity of Toronto – Fall 20149

Vertically integrated Closed, proprietary Slow innovation App Horizontal Open interfaces Rapid innovation Control Plane Control Plane Control Plane Control Plane Control Plane Control Plane or Open Interface Specialized Control Plane Specialized Control Plane Specialized Hardware Specialized Hardware Specialized Features Specialized Features Merchant Switching Chips Merchant Switching Chips Open Interface CSC Software-Defined Networking10University of Toronto – Fall 2014

A Simple Stable Common Substrate 1. Allows applications to flourish Internet: Stable IPv4 led to the web 2. Allows the infrastructure on top to be defined in software Internet: Routing protocols, management, … 3. Rapid innovation of the infrastructure itself Internet: er...? What’s missing? What is the substrate…? CSC Software-Defined Networking11University of Toronto – Fall 2014

CSC Software-Defined Networking12University of Toronto – Fall 2014 What we need …

New function! Operators, users, 3rd party developers, researchers, … 1) Separate Intelligence from Datapath CSC Software-Defined Networking13University of Toronto – Fall 2014

2) Cache Decisions In minimal flow-based datapath 14 “If header = x, send to port 4” Flow Table Flow Table “If header = ?, send to me” “If header = y, overwrite header with z, send to ports 5,6” CSC Software-Defined NetworkingUniversity of Toronto – Fall 2014

Custom Hardware OS Network OS Feature How Can We Do This? CSC Software-Defined Networking15University of Toronto – Fall 2014 Feature

Network OS 1. Open interface to packet forwarding 3. Consistent, up-to-date global network view 2. At least one Network OS probably many. Open- and closed-source Software Defined Network (SDN) CSC Software-Defined Networking16University of Toronto – Fall 2014 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

Consequences More innovation in network services Owners, operators, 3rd party developers, researchers can improve the network E.g. energy management, data center management, policy routing, access control, denial of service, mobility Lower barrier to entry for competition Healthier market place, new players Lower cost Infrastructure Management CSC Software-Defined NetworkingUniversity of Toronto – Fall

Example I: New Data Center CSC Software-Defined NetworkingUniversity of Toronto – Fall 2014 Cost 200,000 servers Fanout of 20  10,000 switches $5k commercial switch  $50M $1k custom-built switch  $10M Savings in 10 data centers = $400M Control 1.Optimize for features needed 2.Customize for services & apps 3.Quickly improve and innovate Large data center operators are moving towards defining their own network in software. 18

Example II: Routing OSPF 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 CSC Software-Defined Networking19University of Toronto – Fall 2014

Example II: Routing CSC Software-Defined Networking20University of Toronto – Fall 2014 OSPF = Dijkstra IS-IS Network OS Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Distributed System Custom Hardware OS OSPF IS-IS Distributed System Distributed System Distributed System Distributed System

CSC Software-Defined Networking21University of Toronto – Fall 2014 Back to the story …

Control Program A Control Program B Network OS Software Defined Network (SDN) CSC Software-Defined Networking22University of Toronto – Fall 2014 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

Network OS Network OS: distributed system that creates a consistent, up-to-date network view Runs on servers (controllers) in the network NOX, ONIX, Floodlight, Trema, HyperFlow, Kandoo, Beehive, Beacon, Maestro, … + more Uses forwarding abstraction to: Get state information from forwarding elements Give control directives to forwarding elements CSC Software-Defined Networking23University of Toronto – Fall 2014

Control Program A Control Program B Network OS Software Defined Network (SDN) CSC Software-Defined Networking24University of Toronto – Fall 2014 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

Control Program Control program operates on view of network Input: global network view (graph/database) Output: configuration of each network device Control program is not a distributed system Abstraction hides details of distributed state CSC Software-Defined Networking25University of Toronto – Fall 2014

Control Program A Control Program B Network OS Software Defined Network (SDN) CSC Software-Defined Networking26University of Toronto – Fall 2014 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

Forwarding Abstraction Purpose: Abstract away forwarding hardware Flexible Behavior specified by control plane Built from basic set of forwarding primitives Minimal Streamlined for speed and low-power Control program not vendor-specific OpenFlow is an example of such an abstraction CSC Software-Defined NetworkingUniversity of Toronto – Fall

Forwarding Substrate Flow-based Small number of actions for each flow Plumbing: Forward to port(s) Control: Forward to controller Routing between flow-spaces: Rewrite header Bandwidth isolation: Min/max rate External open API to flow-table CSC Software-Defined NetworkingUniversity of Toronto – Fall

Types of action  Allow/deny flow  Route & re-route flow  Isolate flow  Make flow private  Remove flow What is a flow?  Application flow  All http  Jim’s traffic  All packets to Canada  … CSC Software-Defined NetworkingUniversity of Toronto – Fall

Properties of a Flow-based Substrate We need flexible definitions of a flow Unicast, multicast, waypoints, load-balancing Different aggregations We need direct control over flows Flow as an entity we program: To route, to make private, to move, … Exploit the benefits of packet switching It works and is universally deployed It is efficient (when kept simple) CSC Software-Defined NetworkingUniversity of Toronto – Fall

Substrate: “Flowspace” Payload Ethernet DA, SA, etc Ethernet DA, SA, etc IP DA, SA, etc IP DA, SA, etc TCP DP, SP, etc TCP DP, SP, etc Collection of bits to plumb flows (of different granularities) between end points Payload Header User-defined flowspace Header User-defined flowspace CSC Software-Defined NetworkingUniversity of Toronto – Fall

Flowspace: Simple Example IP SA IP DA Single flow All flows from A A All flows between two subnets CSC Software-Defined NetworkingUniversity of Toronto – Fall

Flowspace: Generalization Field 2 Field 1 Single flow Set of flows Field n CSC Software-Defined NetworkingUniversity of Toronto – Fall

Properties of Flowspace Backwards compatible Current layers are a special case No end points need to change Easily implemented in hardware e.g. TCAM flow-table in each switch Strong isolation of flows Simple geometric construction Can prove which flows can/cannot communicate CSC Software-Defined NetworkingUniversity of Toronto – Fall

Today Software-defined networking OpenFlow basics CSC Software-Defined Networking35University of Toronto – Fall 2014

OpenFlow Open standard to run experimental protocols in production networks API between the forwarding elements and the network OS Based in Stanford, supported by various companies (Cisco, Juniper, HP, NEC, …) Used by universities to deploy innovative networking technology CSC Software-Defined Networking36University of Toronto – Fall 2014

Ethernet Switch Traditional Switch CSC Software-Defined Networking37University of Toronto – Fall 2014

Traditional Switch Data Path (Hardware) Control Path Control Path (Software) CSC Software-Defined NetworkingUniversity of Toronto – Fall

OpenFlow Protocol (SSL) Data Path (Hardware) Control PathOpenFlow Network OS Control Program A Control Program B OpenFlow Switch CSC Software-Defined Networking39University of Toronto – Fall 2014

Control Program A Control Program B Network OS OpenFlow Rules CSC Software-Defined Networking40University of Toronto – Fall 2014 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Flow Table(s) Flow Table(s) “If header = p, send to port 4” “If header = ?, send to me” “If header = q, overwrite header with r, add header s, and send to ports 5,6”

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 CSC Software-Defined Networking41University of Toronto – Fall 2014 Header Data Match: 1000x01xx x

OpenFlow Rules – Cont’d Exploit the flow table in switches, routers, and chipsets CSC Software-Defined Networking42University of Toronto – Fall 2014 Rule (exact & wildcard) ActionStatistics Rule (exact & wildcard) ActionStatistics Rule (exact & wildcard) ActionStatistics Rule (exact & wildcard) Default ActionStatistics Flow 1. Flow 2. Flow 3. Flow N.

Flow Table Entry OpenFlow Protocol Version 1.0 CSC Software-Defined Networking43University of Toronto – Fall 2014 Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport RuleActionStats 1.Forward packet to port(s) 2.Encapsulate and forward to controller 3.Drop packet 4.Send to normal processing pipeline + mask what fields to match Packet + byte counters

Examples 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 Flow Switching port3 Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action 00:2e..00:1f..0800vlan port6 Firewall * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Forward ********22drop CSC Software-Defined NetworkingUniversity of Toronto – Fall

Examples Routing * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action ***** ***port6 VLAN * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action ***vlan1***** port6, port7, port9 CSC Software-Defined NetworkingUniversity of Toronto – Fall

OpenFlow Hardware Cisco Catalyst 6k NEC IP8800 HP Procurve 5400 Juniper MX-series WiMax (NEC) PC Engines Quanta LB4G More coming soon... CSC Software-Defined NetworkingUniversity of Toronto – Fall

OpenFlowSwitch.org Controller OpenFlow Switch PC OpenFlow Usage Example Dedicated OpenFlow Network CSC Software-Defined Networking47University of Toronto – Fall 2014 OpenFlow Switch OpenFlow Switch OpenFlow Protocol Peter’s code RuleActionStatisticsRuleActionStatisticsRuleActionStatistics Peter

Usage examples Peter’s code: Static “VLANs” His own new routing protocol: unicast, multicast, multipath, load- balancing Network access control Home network manager Mobility manager Energy manager Packet processor (in controller) IPvPeter Network measurement and visualization … CSC Software-Defined Networking48University of Toronto – Fall 2014

Research/Production VLANS Normal L2/L3 Processing Flow Table Production VLANs Research VLANs Controller CSC Software-Defined NetworkingUniversity of Toronto – Fall

Virtualize OpenFlow Switch Normal L2/L3 Processing Flow Table Researcher A VLANs Researcher B VLANs Researcher C VLANs Production VLANs Controller A Controller B Controller C CSC Software-Defined NetworkingUniversity of Toronto – Fall

OpenFlow Switch OpenFlow Protocol OpenFlow Protocol OpenFlow FlowVisor & Policy Control C’s Controller B’s Controller A’s Controller OpenFlow Protocol OpenFlow Protocol OpenFlow Switch OpenFlow Switch Virtualizing OpenFlow CSC Software-Defined Networking51University of Toronto – Fall 2014

OpenFlow Protocol OpenFlow FlowVisor & Policy Control Broadcast Multicast OpenFlow Protocol http Load-balancer OpenFlow Switch OpenFlow Switch OpenFlow Switch Virtualizing OpenFlow CSC Software-Defined Networking52University of Toronto – Fall 2014

Food for Thought What are the challenges in switching from traditional networks to OpenFlow networks? What are the opportunities? CSC Software-Defined Networking53University of Toronto – Fall 2014