CPS 590: Software Defined Networking

Slides:



Advertisements
Similar presentations
Towards Software Defined Cellular Networks
Advertisements

SDN Controller Challenges
VCRIB: Virtual Cloud Rule Information Base Masoud Moshref, Minlan Yu, Abhishek Sharma, Ramesh Govindan HotCloud 2012.
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
An Overview of Software-Defined Network Presenter: Xitao Wen.
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.
Networking of the Future: Software Defined Network:
SDN and Openflow.
Networking Technologies for Cloud Computing USTC-INY5316 Instructor: Chi Zhang Fall 2014 Welcome to.
Scalable Network Virtualization in Software-Defined Networks
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
NATIONAL & KAPODISTRIAN UNIVERSITY OF ATHENS INTERDEPARTMENTAL GRADUATE PROGRAM IN MANAGEMENT AND ECONOMICS OF TELECOMMUNICATION NETWORKS Master Thesis.
An Overview of Software-Defined Network
OpenFlow Switch Limitations. Background: Current Applications Traffic Engineering application (performance) – Fine grained rules and short time scales.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Professor Yashar Ganjali Department of Computer Science University of Toronto
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
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.
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)
Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration.
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.
A Simple Unified Control Plane for Packet and Circuit Networks Saurav Das, Guru Parulkar, Nick McKeown Stanford University.
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.
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
SOFTWARE DEFINED NETWORKING/OPENFLOW: A PATH TO PROGRAMMABLE NETWORKS April 23, 2012 © Brocade Communications Systems, Inc.
Introduction to Mininet, Open vSwitch, and POX
3.6 Software-Defined Networks and OpenFlow
Why Fabric? 1 Complicated technology/vendor/device specific provisioning for networks, especially heterogeneous network DC Network – STP, TRILL, SPB, VXLAN,
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
Programming Assignment 2 Zilong Ye. Traditional router Control plane and data plane embed in a blackbox designed by the vendor high-seed switching fabric.
SDN basics and OpenFlow. Review some related concepts SDN overview OpenFlow.
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
Chapter 4 Network Layer: The Data Plane
SDN challenges Deployment challenges
Heitor Moraes, Marcos Vieira, Italo Cunha, Dorgival Guedes
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
Software Defined Networking (SDN)
Software Defined Networking
Chapter 5 Network Layer: The Control Plane
Indigo Doyoung Lee Dept. of CSE, POSTECH
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
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:

CPS 590: Software Defined Networking Theophilus Benson

Welcome!

Administrative Details Course Format Student Engagement (30%) Class Participation (20%) Paper Reviews (10%) Course Assignments (20%) Learning to use SDN environments Writing Controller Applications Course Project (60%) Deep dive into an SDN topic

Outline Section 1: SDN Ecosystem Section 2: OpenFlow Primer SDN Motivation SDN Primer Dimensions of SDN Environments Dimensions of SDN Applications Section 2: OpenFlow Primer Section 3: Demo/Use-cases Network Virtualization Section 4: SDN Challenges SDN Challenges

Section 1

Network Today… Vertical integrated stacks Similar to PC in 1980s D.B. O.S CPU COBOL Apps. VLANS Switch O.S. ASIC L3 Routing IBM’s Mainframe Cisco Routers

Implications of Networking… Restricted to ill defined vendor CLI Provisioning is slow…. VM provisioning: 1min Virtual network provisioning: 1-3 weeks

Background: Switch Internals Logical View of a Switch Physical Architecture of a Switch Switching Fabric Processor ASIC AISC data plane control plane Network O.S. ASIC Applications

Software Defined Networking Current Switch Vertical stack Applications Network O.S. ASIC Applications Network O.S. SDN Southbound API SDN Switch Decoupled stack Switch Operating System Switch Hardware Southbound API: decouples the switch hardware from control function Data plane from control plane Switch Operating System: exposes switch hardware primitives

Implications Of SDN Current Networking SDN Enabled Environment Applications Network O.S. ASIC Applications Network O.S. ASIC Applications Global View Controller (N. O.S.) Network O.S. ASIC Applications Programmatic Control Southbound API Switch O.S Switch HW Switch O.S Switch HW Switch O.S Switch HW

Implications Of SDN Current Networking SDN Enabled Environment Controller (N. O.S.) Applications Southbound API Switch O.S Switch HW Network O.S. ASIC Applications Network O.S. ASIC Applications Network O.S. ASIC Applications Distributed protocols Each switch has a brain Hard to achieve optimal solution Network configured indirectly Configure protocols Hope protocols converge Global view of the network Applications can achieve optimal Southbound API gives fine grained control over switch Network configured directly Allows automation Allows definition of new interfaces

How SDN Works Applications Controller (N. O.S.) Southbound API Switch H.W Switch O.S Switch H.W Switch O.S

How to Pick an SDN Environment Applications How easy is it to develop on for the Controller platform? Network O.S. SDN What is the Southbound AP!? Southbound API Switch Operating System Is the switch virtual or physical? Switch Hardware Is the switch hardware and OS closed?

HP, IBM, NEC, Pronto, Juniper.. and many more The SDN Stack Monitoring/ debugging tools oftrace oflops openseer ENVI (GUI) LAVI n-Casting … Applications NOX Beacon Trema FloodLight … Controller Slicing Software FlowVisor Console FlowVisor There are components at different levels that work together in making it work Commercial Switches Software Ref. Switch NetFPGA Broadcom Ref. Switch HP, IBM, NEC, Pronto, Juniper.. and many more OpenFlow Switches OpenWRT PCEngine WiFi AP Open vSwitch 14 Source: SDN Tutorial by B. Heller Open Networking Summit, April 2012

Dimensions of SDN Environments: Vendor Devices Vertical Stacks Whitebox Networking Vendor bundles switch and switch OS Restricted to vendor OS and vendor interface Low operational overhead One stop shop Vendor provides hardware with no switch OS Switch OS provided by third party Flexibility in picking OS High operational overhead Must deal with multiple vendors

Dimensions of SDN Environments: Switch Hardware Virtual: Overlay Physical: Underlay Pure software implementation Assumes programmable virtual switches Run in Hypervisor or in the OS Larger Flow Table entries (more memory and CPU) Backward compatible Physical switches run traditional protocols Traffic sent in tunnels Lack of visibility into physical network Fine grained control and visibility into network Assumes specialized hardware Limited Flow Table entries

Dimensions of SDN Environments: Southbound Interface OpenFlow BGP/XMPP/IS-IS/NetConf Flexible matching L2, L3, VLAN, MPLS Flexible actions Encapsulation: IP-in-IP Address rewriting: IP address Mac address Limited matching IS-IS: L3 BGP+MPLS: L3+MPLS Limited actions L3/l2 forwarding Encapsulation

Dimensions of SDN Environments: Controller Types Modular Controllers High Level Controllers Application code manipulates forwarding rules E.g. OpenDaylight, Floodlight Written in imperative languages Java, C++, Python Dominant controller style Application code specifies declarative policies E.g. Frenetic, McNettle Application code is verifiable Amendable to formal verification Written in functional languages Nettle, OCamal

BigSwitch Controller Type Southbound API: OpenFlow Modular: Floodlight Southbound API: OpenFlow OpenFlow 1.3 SDN Device: Whitebox (indigo) SDN Flavor Underlay+Overlay

Juniper Contrail Controller Type Southbound API: XMPP/NetConf Modular: OpenContrail Southbound API: XMPP/NetConf BGP+MPLS SDN Device: Vertical Stack Propriety Junos SDN Flavor Overlay

SDN EcoSystem Arista OF + proprietary Underlay Vertical Stack Broadcom Cisco OF + proprietary Underlay+Overlay Vertical Stack HP OF Underlay Vertical Stack Dell OF Underlay Vertical Stack FloodLight OF Underlay+Overlay Whitebox HP OF Underlay Vertical Stack Juniper BGP+NetConf Overlay Vertical Stack Alcatel BGP Overlay Vertical Stack

SDN Stack Applications Controller (Network O.S.) SDN Southbound API Switch Operating System Switch Hardware Southbound API: decouples the switch hardware from control function Data plane from control plane Switch Operating System: exposes switch hardware primitives

Section2: Southbound API: OpenFlow

OpenFlow Allows control of underlay + overlay Developed in Stanford Standardized by Open Networking Foundation (ONF) Current Version 1.4 Version implemented by switch vendors: 1.3 Allows control of underlay + overlay Overlay switches: OpenVSwitch/Indigo-light PC

How SDN Works: OpenFlow Applications Controller (N. O.S.) OpenFlow Southbound API OpenFlow Switch H.W Switch O.S Switch H.W Switch O.S

OpenFlow: Anatomy of a Flow Table Entry Match Action Counter Priority Time-out When to delete the entry What order to process the rule # of Packet/Bytes processed by the rule Forward packet to zero or more ports Encapsulate and forward to controller Send to normal processing pipeline Modify Fields Switch Port VLAN ID VLAN pcp MAC src MAC dst Eth type IP Src IP Dst IP ToS IP Prot L4 sport L4 dport

OpenFlow: Types of Messages Asynchronous (Controller-to-Switch) Send-packet: to send packet out of a specific port on a switch Flow-mod: to add/delete/modify flows in the flow table Asynchronous (initiated by the switch) Read-state: to collect statistics about flow table, ports and individual flows Features: sent by controller when a switch connects to find out the features supported by a switch Configuration: to set and query configuration parameters in the switch Packet-in: for all packets that do not have a matching rule, this event is sent to controller Flow-removed: whenever a flow rule expires, the controller is sent a flow-removed message Port-status: whenever a port configuration or state changes, a message is sent to controller Error: error messages Symmetric (can be sent in either direction without solicitation) Hello: at connection startup Echo: to indicate latency, bandwidth or liveliness of a controller-switch connection Vendor: for extensions (that can be included in later OpenFlow versions)

Dimension of SDN Applications: Rule installation Proactive Rules Reactive Rules Controller (N. O.S.) Applications Switch H.W O.S Controller (N. O.S.) Applications Switch H.W O.S

Dimension of SDN Applications: Rule installation Proactive Rules Reactive Rules Controller pre-installs flow table entries Zero flow setup time Requires installation of rules for all possible traffic patterns Requires use of aggregate rules (Wildcards) Require foreknowledge of traffic patterns Waste flow table entries First packet of each flow triggers rule insertion by the controller Each flow incurs flow setup time Controller is bottleneck Efficient use of flow tables

Dimensions of SDN Applications: Granularity of Rules Microflow WildCards (aggregated rules) Applications Controller (N. O.S.) Applications Switch H.W O.S Controller (N. O.S.) Switch H.W O.S

Dimensions of SDN Applications: Granularity of Rules Microflow WildCards (aggregated rules) One flow table matches one flow Uses CAM/hash-table 10-20K per physical switch Allows precisions Monitoring: gives counters for individual flows Access-Control: allow/deny individual flows One flow table entry matches a group of flow Uses TCAM 5000~4K per physical switch Allows scale Minimizes overhead by grouping flows

Dimensions of SDN Applications: Granularity of Rules Distributed Controller Centralized Controller Controller (N. O.S.) Applications Controller (N. O.S.) Applications Switch O.S Switch HW Controller (N. O.S.) Applications Controller (N. O.S.) Applications Switch O.S Switch HW Switch O.S Switch HW Switch O.S Switch HW

Google’ B4 Application Rule installation Rule Granularity Distributed Proactive Rule Granularity Aggregate Distributed Multiple instances

OpenFlow: Message Formats Controller encapsulates message into an object Accessor functions to different fields No need to worry about crafting network packets

OpenFlow Actions (Partial list from OpenFlow 1.0 spec) Output to switch port (Physical ports & virtual ports). Virtual ports include the following: ALL (all standard ports excluding the ingress port) - flood CONTROLLER (encapsulate and send the packet to controller) – PACKET_IN message LOCAL (switch’s stack) – go through the IP layer, etc (mostly used for vSwitches) NORMAL (process the packet using traditional non-OpenFlow pipeline of the switch) – traditional L2 forwarding, L3 routing Drop Set fields (packet modification/header rewriting) Ethernet Source address Ethernet Dest address IP source & dest addresses, IP ToS, IP ECN, IP TTL, VLAN TCP/UDP source and destination ports Strip (pop) the outer VLAN tag Set queue ID when outputting to a port (Enqueue) New in OpenFlow 1.1+ Support for matching across mulitple tables Support for tunneling Support for Push/Pop mulitple VLAN/MPLS/PBB tags

Section 2: SDN Use Cases

SDN Use Cases Network Virtualization (VMWare, Azure) Port tapping (Big Switch’s BigTap) Access control (Big Switch’s SNAC) WAN Traffic Engineering (Google B4) DDoS Detection (Defense4All) Network Orchestration (OpenStack, VMWare)

SDN Use Cases WAN-Traffic engineering Google’s B4 (SIGCOMM 2013) Microsoft’s SWAN (SIGCOMM 2013) Network Function Virtualization: Service Chaining SIMPLIFY/FlowTags (SIGCOMM 2013, NSDI 2014) Slick (ONS 2013) Network virtualization Nicira, Azure, Google, VL2 & Portland (SIGCOMM 2009) CloudNaaS (SoCC 2011) Seamless workload (VM) mobility (CrossRoads (NOMS 2012)) Data Center Traffic engineering Routing elephant flows differently (Hedera – NSDI 2010) Routing predictable traffic (MicroTE – CoNext 2011) Port-Mirroring BigTap OpenSafe (INM/WREN 2011)

SDN Use Case: Network Function Virtualization

Web Firewall IDS Network Policy: Problem: Traffic takes shortest path Goals: Detect attacks Prevent unauthorized access Firewall IDS Web Problem: Traffic takes shortest path Avoids middleboxes Servers are unprotected WEB Firewall IDS

Web Firewall IDS Network Policy: WEB Firewall IDS Applications Controller (N. O.S.) Applications WEB Firewall IDS

Web IDS Firewall Network Policy: WEB Firewall IDS Applications Controller (N. O.S.) Applications WEB IDS Firewall

ONF NVF RoadMap

Section 2: SDN Challenges

Controller Availability Controller (N. O.S.) Applications

Controller Availability Controller (N. O.S.) Applications

Controller Availability “control a large force like a small force: divide and conquer” --Sun Tzu, Art of war How many controllers? How do you assign switches to controllers? More importantly: which assignment reduces processing time How to ensure consistency between controllers Controller (N. O.S.) Applications Applications Applications Controller (N. O.S.) Controller (N. O.S.)

SDN Reliability/Fault Tolerance Controller: Single point of control Bug in controller takes the whole network down Existing network survives failures or bugs in code for any one devices Controller (N. O.S.) Applications

SDN Reliability/Fault Tolerance Controller: Single point of control Bug in controller takes the whole network down Single point of failure Existing network survives failures or bugs in code for any one devices Controller (N. O.S.) Applications

SDN Security Controller: Single point of control Compromise controller If one device in the current networks are compromised the network may still be safe Controller (N. O.S.) Applications

SDN Security Controller: Single point of control Compromise controller Denial of Service attack the control channel Controller (N. O.S.) Applications

Data-Plane Limitations Limited Number of TCAM entries Currently only 1K Networks have more than 1K flows How to fit network in limited entries? Limited control channel capacity All switches use same controller interface Need to rate limit control messages Prioritize certain messages Limited switch CPU Less power than a smartphone  Limit control messages and actions that use CPU Controller (N. O.S.) Applications Switch H.W O.S

Debugging SDNs Problems can occur anywhere in the SDN stack Buggy App Problems can occur anywhere in the SDN stack How do you diagnose each type of problem? Applications Network O.S. Buggy NOS Buggy Switch Buggy Switch H/W Switch Operating System Switch Operating System Switch Hardware Switch Hardware

Section 2: SDN – A Systems Approach to SDN

Conclusion An overview of SDN technologies Introduction to OpenFlow Developing Applications on OpenFlow