Top Banner
GENI Cinema & OpenFlow 1.3 Ryan Izard [email protected] u
45
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

GENI Cinema &

OpenFlow 1.3

Ryan Izard

[email protected]

Page 2: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Game Plan

• GENI Cinema (GC)– Introduction and demonstration– Logical components– Sneak-peak at GENI Cinema

• OpenFlow 1.3– Why use it instead of OpenFlow 1.0?– Some cool features– Community support

• Tutorial with OpenFlow 1.3 groups

Page 3: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Up Next

• GENI Cinema (GC)– Introduction and demonstration– Logical components– Sneak-peak at GENI Cinema

• OpenFlow 1.3– Why use it instead of OpenFlow 1.0?– Some cool features– Community support

• Tutorial with OpenFlow 1.3 groups

Page 4: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

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

Page 5: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

What’s special about GENI Cinema?

• Software defined networking based• “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

Page 6: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Demonstration

http://cinema.smartfuture2015.net

Page 7: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Up Next

• GENI Cinema (GC)– Introduction and demonstration– Logical components– Sneak-peak at GENI Cinema

• OpenFlow 1.3– Why use it instead of OpenFlow 1.0?– Some cool features– Community support

• Tutorial with OpenFlow 1.3 groups

Page 8: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Building Blocks of GENI Cinema

• Ingress and egress gateways• Ingress video servers• Private OpenFlow network• Egress video servers• Controller• Public web server• Stitched links

Page 9: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

GENI Cinema Architecture

Page 10: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

A “Jacks-Eye” View of GENI Cinema

Page 11: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Ingress/Egress Gateways

• Public access to videos

• Protect internal GC machines

• Allow or deny users, video streams

• Presently integrated with ingress/egress video servers GENI Cinema

Private Network

Ingress/EgressGateways

Cameras, Viewers, and Bad Guys

Page 12: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Ingress Video Servers

• Host live streams for each producer w/VLC• Transcode live streams to constant format• Output UDP into private GC network

Page 13: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

OpenFlow Network

• Goal: Route UDP video streams from ingress to egress edge to deliver to each consumer.– Routing/stream selection– Duplication– Channel changing

Page 14: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

OpenFlow Network• Core OpenFlow network

– GENI hardware OpenFlow switches w/stitching

– OVS nodes on GENI aggregates

• “Sort” OVS nodes– Sort, select, and send

streams to consumers– OpenFlow 1.3 groups

Page 15: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Egress Video Servers

• Receive UDP video streams from OpenFlow network

• Host video for each consumer w/VLC

Page 16: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Floodlight Controller

• Global resource and network manager

• Receives and processes REST commands from web server

• The heart of the GENI Cinema service

Page 17: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

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– [email protected]– Google Group

Page 18: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Public Web Server

• Host website• Manage user accounts• Detect user timeouts• Layer between controller and users

Page 19: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Putting it all Together

Page 20: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Up Next

• GENI Cinema (GC)– Introduction and demonstration– Logical components– Sneak-peak at GENI Cinema

• OpenFlow 1.3– Why use it instead of OpenFlow 1.0?– Some cool features– Community support

• Tutorial with OpenFlow 1.3 groups

Page 21: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Inside Look at GENI Cinema

Page 22: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Up Next

• GENI Cinema (GC)– Introduction and demonstration– Logical components– Sneak-peak at GENI Cinema

• OpenFlow 1.3– Why use it instead of OpenFlow 1.0?– Some cool features– Community support

• Tutorial with OpenFlow 1.3 groups

Page 23: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Why OpenFlow 1.3?

Greater match and action supportInstructions add flexibilityGroups facilitate advanced actionsMeters provide advanced countersPer-table featuresCustom table-miss behavior

Page 24: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

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.

Page 25: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Up Next

• GENI Cinema (GC)– Introduction and demonstration– Logical components– Sneak-peak at GENI Cinema

• OpenFlow 1.3– Why use it instead of OpenFlow 1.0?– Some cool features– Community support

• Tutorial with OpenFlow 1.3 groups

Page 26: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

OpenFlow 1.3 Matches

• OXM = OpenFlow Extensible Match;– Variable-length list of matches, in any

order– Contrast to rigid match structure of OF1.1-

Page 28: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

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

Page 29: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

OpenFlow 1.3 Actions

• Set field– Any OXM

• Push/Pop– VLAN– MPLS– PBB

• Set queue• Goto group• Output• TTL

– Set– Decrement

• Custom/Experimenter

Page 30: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

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)

Page 31: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

OpenFlow 1.3 Meters

• Monitor and rate-limit packets• Multiple meter “bands” define different

rate thresholdsif (rate > t1) do_this;else if (rate > t2) do_that;else if (rate > t3) drop_it;else do_nothing;

Page 32: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

OpenFlow 1.3 Groups

• Allow more complex actions

• Bucket = (list of actions) + (optional params)

• Actions can be unique per bucket

Page 33: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

ALL Group

• Copy packet to all buckets

• No special parameters

• GENI Cinema uses ALL groups– Let’s see them!

Page 34: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

GENI Cinema ALL Groups

Page 35: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

SELECT Group

• Distribute packet to a single bucket

• Weight assigned to each bucket

• Distribution algorithm is switch-dependent– Weighted round-

robin?

Page 36: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

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

Page 37: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

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.

Page 38: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Table Features• Specify capabilities of each table

– Matches– Actions– Instructions

• Do table features indicate match

co-dependencies or hardware vs. software support?

Page 39: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Table Miss Behavior

• Previously, a property of the flow table• 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

Page 40: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Up Next

• GENI Cinema (GC)– Introduction and demonstration– Logical components– Sneak-peak at GENI Cinema

• OpenFlow 1.3– Why use it instead of OpenFlow 1.0?– Some cool features– Community support

• Tutorial with OpenFlow 1.3 groups

Page 41: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

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

Page 42: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Up Next

• GENI Cinema (GC)– Introduction and demonstration– Logical components– Sneak-peak at GENI Cinema

• OpenFlow 1.3– Why use it instead of OpenFlow 1.0?– Some cool features– Community support

• Tutorial with OpenFlow 1.3 groups

Page 43: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Your Turn!

• Problem– 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.

Page 44: GENI Cinema & OpenFlow 1.3 Ryan Izard rizard@g.clemson.edu.

Tutorial Topology