Introduction to SDN & OpenFlow Based on Tutorials from: Srini Seetharaman, Deutsche Telekom Innovation Center FloodLight Open Flow Controller, floodlight.openflowhub.org.

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.
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.
Professor Yashar Ganjali Department of Computer Science University of Toronto
An Overview of Software-Defined Network
Software Defined Networking COMS , Fall 2013 Instructor: Li Erran Li SDNFall2013/
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?
OpenFlow/Software Defined Networks 1. Exec Summary OpenFlow/SDN enables innovations within – Enterprise, backbone, & data center networks – Represents.
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.
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.
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.
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/SDN tutorial OFC/NFOEC March, 2012 Srini Seetharaman Deutsche Telekom Silicon Valley Innovation Center 1.
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.
Presenter : Weerawardhana J.L.M.N. Department of Computer Engineering, University of Peradeniya.
3.6 Software-Defined Networks and OpenFlow
Software Defined Networking (COMS )
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
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
An Introduction to Software Defined Networking and OpenFlow
SDN 刘 驰.
Software Defined Network
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:

Introduction to SDN & OpenFlow Based on Tutorials from: Srini Seetharaman, Deutsche Telekom Innovation Center FloodLight Open Flow Controller, floodlight.openflowhub.org

Million of lines of source code RFCsBarrier to entry Billions of gates BloatedPower Hungry Many complex functions baked into the infrastructure OSPF, BGP, multicast, differentiated services, Traffic Engineering, NAT, firewalls, MPLS, redundant layers, … An industry with a “mainframe-mentality” The Ossified Network Specialized Packet Forwarding Hardware Operating System Operating System Feature Routing, management, mobility management, access control, VPNs, … 2

Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System App 3 Current Internet Closed to Innovations in the Infrastructure Closed

Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System App Network Operating System App “Software Defined Networking” approach to open it

App Simple Packet Forwarding Hardware App Simple Packet Forwarding Hardware Network Operating System 1. Open interface to hardware 3. Well-defined open API 2. At least one good operating system Extensible, possibly open-source The “Software-defined Network”

SDN System View Application tier Controller tier Data plane tier Software Defined Networking decouples data, control, and application planes, creating a programmable network

OpenFlow and SDN Northbound API Southbound API - OpenFlow

How does OpenFlow work? 8

Ethernet Switch 9

Data Path (Hardware) Control Path Control Path (Software) 10

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

Controller PC OpenFlow usage OpenFlow Switch Alice’s code Decision? OpenFlow Protocol Alice’s Rule OpenFlow offloads control intelligence to a remote software

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

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 RuleActionStats 1.Forward packet to zero or more ports 2.Encapsulate and forward to controller 3.Send to normal processing pipeline 4.Modify Fields 5.Any extensions you add! + mask what fields to match Packet + byte counters 14 VLAN pcp IP ToS

OpenFlow: a pragmatic compromise + Speed, scale, fidelity of vendor hardware + Flexibility and control of software and simulation Vendors don’t need to expose implementation Leverages hardware inside most switches today (ACL tables) 15

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:20..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 Action ********22drop 16

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 Switching * 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 00:1f.. 17

Centralized vs Distributed Control Both models are possible with OpenFlow Centralized Control OpenFlow Switch OpenFlow Switch OpenFlow Switch Controller Distributed Control OpenFlow Switch OpenFlow Switch OpenFlow Switch Controller 18

Flow Routing vs. Aggregation Both models are possible with OpenFlow Flow-Based Every flow is individually set up by controller Exact-match flow entries Flow table contains one entry per flow Good for fine grain control, e.g. campus networks Aggregated One flow entry covers large groups of flows Wildcard flow entries Flow table contains one entry per category of flows Good for large number of flows, e.g. backbone 19

Reactive vs. Proactive (pre-populated) Both models are possible with OpenFlow Reactive First packet of flow triggers controller to insert flow entries Efficient use of flow table Every flow incurs small additional flow setup time If control connection lost, switch has limited utility Proactive Controller pre-populates flow table in switch Zero additional flow setup time Loss of control connection does not disrupt traffic Essentially requires aggregated (wildcard) rules 20

OpenFlow Controller to Switch Communication x86 style instruction set Based on Ethernet Switch with: OF software client Hardware flow table Control channel between switch and controller TCP / SSL OpenFlow Client ** ***port 1 Non-OF Control Path Non-OF Control Path Action MAC src MAC dst IP Src IP Dst TCP sport TCP dport Flow table

OpenFlow Protocol (1) 22 Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot L4 sport L4 dport Match FieldsAction(s)Stats 1.Forward packet to zero or more ports 2.Encapsulate and forward to controller 3.Modify Fields 4.Vendor specific extensions + mask what fields to match Packet + byte counters VLAN pcp IP ToS ©2012 – Big Switch Networks Inc.

OpenFlow Protocol (2) 23 Switch port MAC src MAC dst Eth type VLAN ID IP SrcIP ProtTCP sport TCP dport Action Switching**00:1f :.. ******Port6 Flow switching Port300: :1f Vlan Port6 Firewall********22Drop Routing****** **Port6 VLAN switching **00:1f.. *Vlan1****Port6,p ort7, port8 ©2012 – Big Switch Networks Inc.

OpenFlow in Action Rule Action Stats Rule Action Stats Rule Action Stats

Usage examples Alice’s code: – Simple learning switch – Per Flow switching – Network access control/firewall – Static “VLANs” – Her own new routing protocol: unicast, multicast, multipath – Home network manager – Packet processor (in controller) – IPvAlice Stanford demonstrated – VM migration – Server Load balancing – Mobility manager – Power management – Network monitoring and visualization – Network debugging – Network slicing … and much more you can create!

OpenFlow Implementations (Switch and Controller) 26

Ciena Coredirector NEC IP8800 Current SDN hardware Juniper MX-series HP Procurve 5400 Pronto 3240/3290 WiMax (NEC) PC Engines Netgear

Commercial Switch Vendors ModelVirtualizeNotes HP Procurve 5400zl or OF instance per VLAN -LACP, VLAN and STP processing before OpenFlow -Wildcard rules or non-IP pkts processed in s/w -Header rewriting in s/w -CPU protects mgmt during loop NEC IP OF instance per VLAN -OpenFlow takes precedence -Most actions processed in hardware -MAC header rewriting in h/w Pronto 3240 or 3290 with Pica8 or Indigo firmware 1 OF instance per switch -No legacy protocols (like VLAN and STP) -Most actions processed in hardware -MAC header rewriting in h/w 28

Controller Vendors VendorNotes Nicira’s NOX Open-source GPL C++ and Python Researcher friendly Nicira’s ONIX Closed-source Datacenter networks SNAC Open-source GPL Code based on NOX0.4 Enterprise network C++, Python and Javascript Currently used by campuses VendorNotes Stanford’s Beacon Open-source Researcher friendly Java-based BigSwitch controller Closed source Based on Beacon Enterprise network Maestro (from Rice Univ) Open-source Based on Java NEC’s Helios Open-source Written in C 29

Virtualizing OpenFlow 30

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 layer App Controller 1 App Controller 2 Controller 2 Virtualization or “Slicing” App OpenFlow Controller 1 NOX (Network OS) NOX (Network OS) Controller 2 Controller 2 Network OS Trend Computer IndustryNetwork Industry

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

Switch Based Virtualization Exists for NEC, HP switches but not flexible enough Normal L2/L3 Processing Flow Table Production VLANs Research VLAN 1 Controller Research VLAN 2 Flow Table Controller 33

FlowVisor-based Virtualization OpenFlow Switch OpenFlow Protocol OpenFlow Protocol OpenFlow FlowVisor & Policy Control Craig’s Controller Heidi’s Controller Aaron’s Controller OpenFlow Protocol OpenFlow Protocol OpenFlow Switch OpenFlow Switch 34 Topology discovery is per slice

OpenFlow Protocol OpenFlow FlowVisor & Policy Control Broadcast Multicast OpenFlow Protocol http Load-balancer FlowVisor-based Virtualization OpenFlow Switch OpenFlow Switch OpenFlow Switch 35 Separation not only by VLANs, but any L1-L4 pattern dl_dst=FFFFFFFFFFFF tp_src=80, or tp_dst=80

FlowSpace: Maps Packets to Slices

FlowVisor Message Handling OpenFlow Firmware Data Path Alice Controller Bob Controller Cathy Controller FlowVisor OpenFlow Packet Exception Policy Check: Is this rule allowed? Policy Check: Who controls this packet? Full Line Rate Forwarding Rule Packet