OpenFlow 1.3: Protocol, Use Cases, and Controller Writing Ryan Izard

Slides:



Advertisements
Similar presentations
Thoughts on Potential OF 1.1 Features Martin Casado, Brandon Heller, Glen Gibb, Rajiv Ramanathan, Leon Poutievski, Edward Crabbe, You.
Advertisements

Saurav, Srikanth, Sangho
LACP Project Proposal.
DOT – Distributed OpenFlow Testbed
Contents Shortcomings of QoS in the Current Internet About OpenFlow
Network Layer IPv6 Slides were original prepared by Dr. Tatsuya Suda.
2: Comparing IPv4 and IPv6 Rick Graziani Cabrillo College
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
OpenFlow Switch Specification-v part1 Speaker: Hsuan-Ling Weng Date: 2014/12/02.
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
SDN and Openflow.
Networking Technologies for Cloud Computing USTC-INY5316 Instructor: Chi Zhang Fall 2014 Welcome to.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
A Study of Mobile IP Kunal Ganguly Wichita State University CS843 – Distributed Computing.
Introduction to Management Information Systems Chapter 5 Data Communications and Internet Technology HTM 304 Fall 07.
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
GENI Cinema & OpenFlow 1.3 Ryan Izard
Chapter 9 Classification And Forwarding. Outline.
A Study of MPLS Department of Computing Science & Engineering DE MONTFORT UNIVERSITY, LEICESTER, U.K. By PARMINDER SINGH KANG
 A system consisting of a number of remote terminal units (or RTUs) collecting field data connected back to a master station via a communications system.
Spanning Tree and Multicast. The Story So Far Switched ethernet is good – Besides switching needed to join even multiple classical ethernet networks Routing.
Gursharan Singh Tatla Transport Layer 16-May
VLAN Trunking Protocol (VTP) W.lilakiatsakun. VLAN Management Challenge (1) It is not difficult to add new VLAN for a small network.
Chapter 13: WAN Technologies and Routing 1. LAN vs. WAN 2. Packet switch 3. Forming a WAN 4. Addressing in WAN 5. Routing in WAN 6. Modeling WAN using.
1 CMPT 471 Networking II ICMP © Janice Regan, 2012.
Sponsored by the National Science Foundation A Virtual Computer Networking Lab Mike Zink, Max Ott, Jeannie Albrecht GEC 23, June 16 th 2015.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
VLAN Trunking Protocol (VTP)
Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration.
Networks QUME 185 Introduction to Computer Applications.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
Programmable Networks: Active Networks + SDN. How to Introduce new services Overlays: user can introduce what-ever – Ignores physical network  perf overhead.
LAN Switching and Wireless – Chapter 1
LAN Switching and Wireless – Chapter 1 Vilina Hutter, Instructor
Experimenter/Developer Round Table Ryan Izard PhD Student ECE Department.
Fast NetServ Data Path: OpenFlow integration Emanuele Maccherani Visitor PhD Student DIEI - University of Perugia, Italy IRT - Columbia University, USA.
INFO1408 Database Design Concepts Week 15: Introduction to Database Management Systems.
Sponsored by the National Science Foundation Using OpenFlow and Orbit to Achieve Mobility in a Heterogeneous Wireless Network Ryan Izard
Sponsored by the National Science Foundation Introduction to OpenFlow Niky Riga GENI Project Office.
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,
Ryan Izard, Qing Wang, Geddings Barrineau, KC Wang Clemson University Aditya Prakash, Shashank Gupta, Parmesh Ramanathan University of Wisconsin.
Advanced Computer Networks Lecturer: E EE Eng. Ahmed Hemaid Office: I 114.
Introduction to Mininet, Open vSwitch, and POX
Sponsored by the National Science Foundation A Virtual Computer Networking Lab Mike Zink, Max Ott, Jeannie Albrecht GEC 20, March 24 th 2015.
SPEAKER: MUHAMMAD REZA ZULMAN DATE: NOVEMBER 17, 2014 OPENFLOW SPECIFICATION.
+ Lecture#2: Ethernet Asma ALOsaimi. + Objectives In this chapter, you will learn to: Describe the operation of the Ethernet sublayers. Identify the major.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Software OpenFlow Solutions using Open vSwitch
Basic Edge Core switch Training for Summit Communication.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
Ethernet Packet Filtering - Part1 Øyvind Holmeide Jean-Frédéric Gauvin 05/06/2014 by.
Network Virtualization Ben Pfaff Nicira Networks, Inc.
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
MDC-700 Series Modbus Data Concentrator [2016,05,26]
Konstantin agouros Omkar deshpande
SDN challenges Deployment challenges
Software defined networking: Experimental research on QoS
Lecture 2: Leaf-Spine and PortLand Networks
Introduction to OpenFlow
Network Data Plane Part 2
OpenFlow Special Topic: Software Defined Networks Rudra Dutta
SDN Overview for UCAR IT meeting 19-March-2014
Software Defined Networking (SDN)
Implementing an OpenFlow Switch on the NetFPGA platform
Flow Monitoring in OVS Ashish Varma VMware.
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

OpenFlow 1.3: Protocol, Use Cases, and Controller Writing Ryan Izard rizard@g.clemson.edu

Game Plan Pre-work for hands on demo (Very) Quick intro to OpenFlow Motivation (vs. 1.0) Popular features Community support Other details GENI Cinema OpenFlow 1.3 use case Hands-on with OpenFlow 1.3 groups

Up Next Pre-work for hands on demo (Very) Quick intro to OpenFlow Motivation (vs. 1.0) Popular features Community support Other details GENI Cinema OpenFlow 1.3 use case Hands-on with OpenFlow 1.3 groups

At GEC23, Before We Get Started… Login to GENI @ http://portal.geni.net Ask to join project gec-demo On the signup sheet being passed around, sign up for one group from 1-10 Give your name and email address used with GENI Pick a group with your neighbor(s) …or pick a group with your friend(s) here and shuffle seats You will work as a team today! We will add you and your group members to a single slice -- details on slice components later Slice name = ff-demo# where # = your group ID from 1-10

Up Next Pre-work for hands on demo (Very) Quick intro to OpenFlow Motivation (vs. 1.0) Popular features Community support Other details GENI Cinema OpenFlow 1.3 use case Hands-on with OpenFlow 1.3 groups

What is OpenFlow (OF)? Link between SDN control and infrastructure layers OF-enabled infrastructure communicates with an OF controller via the OF protocol

How Does OF Work? OpenFlow Controller Network Services Custom Services Packet Forwarding User Applications APIs How Does OF Work? Editorial Guidelines on Bullets: 1. Vertical lists are best introduced by a grammatically complete sentence followed by a colon. No periods are required at the end of entries unless at least one entry is a complete sentence, in which case a period is necessary at the end of each entry. Example: A university can be judged by three measures: · The quality of its students · The quality of it faculty · The quality of its infrastructure 2. If a list completes the sentence that introduces it, items begin with lowercase letters, commas or semicolons (if individual items contain commas) are used to separate each item, and the last item ends with a period. Note that the introductory clause does not end with a colon. Example: A university can be judged by · the quality of its students, · the quality of its faculty, · the quality of its infrastructure. 3. Avoid mixing sentence and nonsentence items in a bulleted list. 7

Basic OpenFlow packet handling example Controller Basic OpenFlow packet handling example Editorial Guidelines on Bullets: 1. Vertical lists are best introduced by a grammatically complete sentence followed by a colon. No periods are required at the end of entries unless at least one entry is a complete sentence, in which case a period is necessary at the end of each entry. Example: A university can be judged by three measures: · The quality of its students · The quality of it faculty · The quality of its infrastructure 2. If a list completes the sentence that introduces it, items begin with lowercase letters, commas or semicolons (if individual items contain commas) are used to separate each item, and the last item ends with a period. Note that the introductory clause does not end with a colon. Example: A university can be judged by · the quality of its students, · the quality of its faculty, · the quality of its infrastructure. 3. Avoid mixing sentence and nonsentence items in a bulleted list. 8

Basic OpenFlow packet handling example Controller Editorial Guidelines on Bullets: 1. Vertical lists are best introduced by a grammatically complete sentence followed by a colon. No periods are required at the end of entries unless at least one entry is a complete sentence, in which case a period is necessary at the end of each entry. Example: A university can be judged by three measures: · The quality of its students · The quality of it faculty · The quality of its infrastructure 2. If a list completes the sentence that introduces it, items begin with lowercase letters, commas or semicolons (if individual items contain commas) are used to separate each item, and the last item ends with a period. Note that the introductory clause does not end with a colon. Example: A university can be judged by · the quality of its students, · the quality of its faculty, · the quality of its infrastructure. 3. Avoid mixing sentence and nonsentence items in a bulleted list. User 2 User 1 9

Basic OpenFlow packet handling example Controller Editorial Guidelines on Bullets: 1. Vertical lists are best introduced by a grammatically complete sentence followed by a colon. No periods are required at the end of entries unless at least one entry is a complete sentence, in which case a period is necessary at the end of each entry. Example: A university can be judged by three measures: · The quality of its students · The quality of it faculty · The quality of its infrastructure 2. If a list completes the sentence that introduces it, items begin with lowercase letters, commas or semicolons (if individual items contain commas) are used to separate each item, and the last item ends with a period. Note that the introductory clause does not end with a colon. Example: A university can be judged by · the quality of its students, · the quality of its faculty, · the quality of its infrastructure. 3. Avoid mixing sentence and nonsentence items in a bulleted list. User 2 User 1 10

Up Next Pre-work for hands on demo (Very) Quick intro to OpenFlow Motivation (vs. 1.0) Popular features Community support Other details GENI Cinema OpenFlow 1.3 use case Hands-on with OpenFlow 1.3 groups

Evolution of the OpenFlow Protocol What you know and love! OpenFlow 1.1 Multiple tables and group tables Some more matches and actions OpenFlow 1.2 The OpenFlow Extensible Match (OXM) OpenFlow 1.3 Meters Table features

Evolution of the OpenFlow Protocol Bundles Flow table synchronization Flow monitoring OpenFlow 1.5 More fine-grained matches and actions Egress tables Packet type aware pipeline & pipeline registers Group/meter table improvements …But we struggle to keep up…

OF 1.0 primary complaint = too rigid OF 1.3 gains Why OpenFlow 1.3? OF 1.0 primary complaint = too rigid OF 1.3 gains Greater match and action support Instructions add flexibility and capability Groups facilitate advanced actions Meters provide advanced counters Per-table features Custom table-miss behavior …and more!

Note… OpenFlow 1.1 and 1.2 introduced some of the features we will discuss. However, due to the relative lack in adoption of OpenFlow 1.1 and 1.2, we will consider such features as OpenFlow 1.3 features.

Up Next Pre-work for hands on demo (Very) Quick intro to OpenFlow Motivation (vs. 1.0) Popular features Community support Other details GENI Cinema OpenFlow 1.3 use case Hands-on with OpenFlow 1.3 groups

OXM = OpenFlow Extensible Match OpenFlow 1.3 Matches OXM = OpenFlow Extensible Match Variable-length list of matches, in any order Contrast to rigid match structure of OF1.1-

Reason for the OXM OpenFlow 1.0 OpenFlow 1.1 OpenFlow 1.2+ http://flowgrammable.org/sdn/openflow/message-layer/

Increased match support w/OXM OpenFlow 1.3 Matches Increased match support w/OXM Ingress port Ethernet VLAN IPv4 TCP UDP ARP MPLS PBB ICMPv4 ICMPv6 IPv6 Tunnel SCTP Metadata Custom/Experimenter

OpenFlow 1.3 Actions Set field Set queue Goto group Push/Pop Output Any OXM Goto group Push/Pop Output VLAN TTL MPLS Set PBB Decrement Custom/Experimenter

OpenFlow 1.3 Instructions Apply actions List of actions to perform immediately Write actions List of actions to perform later Clear actions Clear list of accumulated “write actions” Meter Send to an installed meter Goto table Send to another table in the switch Write metadata Store some “data” associated with the packet as it traverses table(s)

Monitor and rate-limit packets OpenFlow 1.3 Meters Monitor and rate-limit packets Multiple meter “bands” define different rate thresholds if (rate > t1) do_this; else if (rate > t2) do_that; else if (rate > t3) drop_it; else do_nothing;

OpenFlow 1.3 Groups Allow more complex actions Bucket = (list of actions) + (optional params) Actions can be unique per bucket

ALL Group Copy packet to all buckets No special parameters Use case: GENI Cinema uses ALL groups

SELECT Group Distribute packet to a single bucket Weight assigned to each bucket Distribution algorithm is switch-dependent Weighted round-robin?

INDIRECT Group All packets go to a single bucket No special parameters Consolidate common actions amongst a set of flows Reduce complexity Reduce memory footprint

FAST-FAILOVER Group Use a single bucket for all packets Watch port/group as parameters Determines “liveness” of bucket If port/group is up, bucket can be used. If port/group is down, bucket cannot be used.

Up Next Pre-work for hands on demo (Very) Quick intro to OpenFlow Motivation (vs. 1.0) Popular features Community support Other details GENI Cinema OpenFlow 1.3 use case Hands-on with OpenFlow 1.3 groups

Community Support Great software switch support OVS supports everything* except meters Present protocol support for meters Table features supported in 2.3.90 (master) Groups fully supported in 2.3.1 ofsoftswitch supports meters but does not support all other OpenFlow 1.3 features Hit-and-miss support with HW vendors Some vendors… H#, Br###de technically do, but buggy (or is it a feature?) Wide controller support *to my knowledge

Floodlight Controller Java-based OpenFlow controller OpenFlow 1.0 and 1.3 support Experimental OpenFlow 1.1, 1.2, 1.4 Lots of included modules Home http://projectfloodlight.net Documentation and tutorials http://floodlight.atlassian.net/wiki Large, active community floodlight-dev@openflowhub.org Google Group

Up Next Pre-work for hands on demo (Very) Quick intro to OpenFlow Motivation (vs. 1.0) Popular features Community support Other details GENI Cinema OpenFlow 1.3 use case Hands-on with OpenFlow 1.3 groups

Multi-Version OpenFlow Handshake Message-exchanging process to establish an OpenFlow channel between a controller and a switch Need to negotiate common OpenFlow version Algorithm Switch says “Hello version_X” with OF version X Controller says “Hello version_Y” with OF version Y Switch and controller each pick lower version of X and Y (theirs < mine) ? theirs : mine; e.g. (X < Y) ? X : Y; Caveat… Algorithm requires support for each OF version up to and including the “Hello” version advertised Not the case in implementation/practice Fix for (controller >= OF1.3) && (switch >= OF1.3) Hello advertises highest version + version bitmap for negotiation

OpenFlow Auxiliary Connections Multiple control connections per switch Parallelize some operations Negotiated on a per-switch basis Aux ID 0 = main; Aux ID > 0 = other Controller chooses which connection to use Main Aux 1 Aux 2 …etc. ID=0 (main) ID=1 DPID=11:22:33:44:55:66:77:88 ID=2

OpenFlow 1.3 Controller Roles OpenFlow 1.3 integrates roles in protocol Role = controller read/write permissions for each switch MASTER + SLAVE Exactly one master controller per switch Zero or more slaves per switch Only the master controller can write All (other) slave controllers can read EQUAL All controllers can read and write Likely requires synchronization between controllers (e.g. HA) But, doesn’t Nicira has role extension for OF 1.0? Same idea for MASTER and SLAVE Nicira’s OTHER role = OpenFlow 1.3’s EQUAL role

OpenFlow Multipart Messages Steady-state controller-to-switch “queries” Efficiently process large requests Flow stats, port stats, group stats, meter stats, table features… Request and reply pairs with same XID OFPMPF_REQ_MORE flag for more messages

What to do if a packet matches no flows? Table Miss Behavior What to do if a packet matches no flows? Previously, a property of the flow table Typically, send to the controller In OpenFlow 1.3, defined by a flow Zero-priority and fully-wildcarded match User-defined actions and instructions Can send to controller (most common) Or, can do what YOU want

Problem: Many OpenFlow features are optional, not required Table Features Problem: Many OpenFlow features are optional, not required Solution: Table Features specify capabilities of each table Matches, actions, instructions, etc. Do table features indicate match co-dependencies or hardware vs. software support?

Up Next Pre-work for hands on demo (Very) Quick intro to OpenFlow Motivation (vs. 1.0) Popular features Community support Other details GENI Cinema OpenFlow 1.3 use case Hands-on with OpenFlow 1.3 groups

What is GENI Cinema? Live video streaming service Operates entirely over GENI OpenFlow 1.0 and 1.3 based solution Offers channel changing abilities Resource-conscious

What’s special about GENI Cinema? Software defined networking based Heavy use of OpenFlow 1.3 ALL groups “Fast” channel changing GENI Cinema = ~2s average YouTube live = ~5s average Digital cable TV = ~3s average Satellite TV = You don’t want to know… Event perspective in hands of user Multiple cameras available to select Scalable

GENI Cinema ALL Groups

Quick Demonstration https://cinema.smartfuture2015.net

Up Next Pre-work for hands on demo (Very) Quick intro to OpenFlow Motivation (vs. 1.0) Popular features Community support Other details GENI Cinema OpenFlow 1.3 use case Hands-on with OpenFlow 1.3 groups

Your Turn! Problem Solution A single path from point A to point B leaves a single point of failure in any topology. Upon link failure, end-to-end communication is impossible. Solution Use redundant links to allow end-to-end connections to persist in the event of a link failure.

Tutorial Topology

Hands-on Tutorial https://floodlight.atlassian.net/wiki/display/floodlightcontroller/How+to+Work+with+Fast-Failover+OpenFlow+Groups Or… http://tinyurl.com/fast-failover-demo For GEC23, begin with OVS Configuration, Step 4, Setting the DPIDs.