0% found this document useful (0 votes)
171 views97 pages

OpenFlowTutorial ONS 1017 2011

The document provides instructions for getting started with an OpenFlow tutorial. It instructs users to copy needed files from a USB or DVD, including VirtualBox, terminal software, Java, Eclipse, and a VM image. It also instructs users to unzip the VM image file and point their browser to the online tutorial instructions. The goal is to provide an introduction to OpenFlow and software-defined networking through a mix of hands-on activities and lectures, while allowing questions and breaks throughout.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
171 views97 pages

OpenFlowTutorial ONS 1017 2011

The document provides instructions for getting started with an OpenFlow tutorial. It instructs users to copy needed files from a USB or DVD, including VirtualBox, terminal software, Java, Eclipse, and a VM image. It also instructs users to unzip the VM image file and point their browser to the online tutorial instructions. The goal is to provide an introduction to OpenFlow and software-defined networking through a mix of hands-on activities and lectures, while allowing questions and breaks throughout.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 97

Ge#ng

Started
(1) Copy to your hard disk from a USB Key or DVD:

Copy needed les (VirtualBox, terminal, possibly an X server) for your


plaGorm (Win/Mac/Linux)
Copy Java 6 and Eclipse for your plaGorm, if you want to use Java
Copy VM image: OpenFlowTutorial-101311.zip
Pass on the DVD or USB key to someone else!

(2) Unzip OpenFlowTutorial-101311.zip

(3) Point browser to instruc\ons:

h]p://www.openow.org/wk/index.php/OpenFlow_Tutorial
(note the underscore)

You should NOT need to download any large


les spare the WiFi!
1

OpenFlow Hands-on Tutorial


part of the the Open Networking Summit
Li Ka Shing Center
Stanford University
Oct 17, 2011

Brandon Heller
Stanford University
with help from all the people
listed on the next few pages

This tutorial wouldnt be possible without:


OpenFlow Experts

Glen Gibb
Nicholas Bas\n
Ali Al-Shabibi
Tatsuya Yabe
Masayoshi Kobayashi
Yiannis Yiakoumis
Ali Yahya
Te-Yuan Huang
Bob Lantz
David Erickson

This tutorial wouldnt be possible without:


Deployment Forum Speakers
Subhasree Mandal (Google)
Johan van Reijendam (Stanford)
David Erickson (Stanford)

Videographer:
Yiannis Yiakoumis

This tutorial wouldnt be possible without:


Past slides from:
Nick McKeown
Rob Sherwood
Guru Parulkar
Srini Seetharaman
Yiannis Yiakoumis
Guido Appenzeller
Masa Kobayashi, + others

Welcome

Ge#ng Started
(1) Copy to your hard disk from a USB Key or DVD:

Copy needed les (VirtualBox, terminal, possibly an X server) for your


plaGorm (Win/Mac/Linux)
Copy Java 6 and Eclipse for your plaGorm, if you want to use Java
Copy VM image: OpenFlowTutorial-101311.zip
Pass on the DVD or USB key to someone else!

(2) Unzip OpenFlowTutorial-101311.zip

(3) Point browser to instruc\ons:

h]p://www.openow.org/wk/index.php/OpenFlow_Tutorial
(note the underscore)

You should NOT need to download any large


les spare the WiFi!
7

Agenda
Time
9:30-10:45
11:00-12:00
1:30-2:30
2:45-4:00

Descrip@on
Introduc\on: Mo\va\on, History, Interface
What can you do with OpenFlow and SDN?
SDN Building Blocks
SDN Deployment Panel and Wrap-up

feel free to:


ask any kind of OpenFlow ques\on during the
hands-on
take breaks at any point during the hands-on
work during the 15-minute breaks, or lunch
8

Goals of this Tutorial


By the end, everyone should know:
what OpenFlow is
how its used and how you can use it
where its going
how OpenFlow relates to Soqware-Dened
Networking (SDN)

Present a useful mix of hands-on and lecture-


based content
Have fun

Why OpenFlow?

10

The Ossied Network


Rou\ng, management, mobility management,
access control, VPNs,
Feature

Feature

Opera\ng
System
Specialized Packet
Forwarding Hardware

Million of lines
of source code

5400 RFCs

Billions of gates Bloated

Barrier to entry

Power Hungry

Many complex func\ons baked into the infrastructure

OSPF, BGP, mul.cast, dieren.ated services,


Trac Engineering, NAT, rewalls, MPLS, redundant layers,

An industry with a mainframe-mentality, reluctant to change


11

Research Stagna\on
Lots of deployed innova\on in other areas
OS: lesystems, schedulers, virtualiza\on
DS: DHTs, CDNs, MapReduce
Compilers: JITs, vectoriza\on

Networks are largely the same as years ago


Ethernet, IP, WiFi

Rate of change of the network seems slower in


comparison
Need be]er tools and abstrac\ons to demonstrate
and deploy
12

Closed Systems (Vendor Hardware)


Stuck with interfaces (CLI, SNMP, etc)
Hard to meaningfully collaborate
Vendors star\ng to open up, but not usefully

13

Open Systems
Performance Scale
Fidelity

Real User
Trac?

Complexity

Open

Simula\on

medium

medium

no

medium

yes

Emula\on

medium

low

no

medium

yes

Soqware
Switches

poor

low

yes

medium

yes

NetFPGA

high

low

yes

high

yes

Network
Processors

high

medium

yes

high

yes

Vendor
Switches

high

high

yes

low

no

gap in the tool space


none have all the desired a]ributes!

14

Ethane, a precursor to OpenFlow


Centralized, reac\ve, per-ow control

Controller

Flow Switch

Flow Switch

Flow Switch

Host B

Host A
Flow Switch

See Ethane SIGCOMM 2007 paper for details

15

OpenFlow: a pragma\c compromise


+ Speed, scale, delity of vendor hardware
+ Flexibility and control of soqware and
simula\on
Vendors dont need to expose implementa\on
Leverages hardware inside most switches
today (ACL tables)

16

Its hard to add a feature to a


network
Its not just that we lack access to line-rate
forwarding that we can control
Fully distributed algorithms are hard,
especially when dened at the protocol level
Your protocol must implement its own
mechanisms
Must work on constrained and heterogeneous
resources
This is where Soqware-Dened Networking
comes in. More to come later today.

17

How does
OpenFlow work?

18

Ethernet Switch

19

20

OpenFlow Protocol (SSL/TCP)

21

OpenFlow Example

Soqware
Layer

Controller
PC

OpenFlow Client
Flow Table

Hardware
Layer

MAC
src

MAC IP
dst Src

IP
Dst

TCP TCP
Ac\on
sport dport

5.6.7.8

port 1

5.6.7.8

port 2

port 3

port 1

port 4

1.2.3.4

22

OpenFlow Basics
Flow Table Entries
Rule

Ac\on

Stats

Packet + byte counters


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!
Switch VLAN VLAN MAC MAC
Port ID
pcp src
dst

Eth
type

IP
Src

IP
Dst

L4
L4
IP IP
ToS Prot sport dport

+ mask what elds to match


23

Examples
Switching
Switch MAC
Port src
*

MAC Eth
dst type
00:1f:.. *

VLAN IP
ID
Src

IP
Dst

IP
Prot

TCP TCP
Ac\on
sport dport

IP
Dst

IP
Prot

TCP TCP
Ac\on
sport dport

port6

Flow Switching
Switch MAC
Port src

MAC Eth
dst type

VLAN IP
ID
Src

port3 00:20.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4

17264 80

port6

Firewall
Switch MAC
Port src
*

MAC Eth
dst type
*

VLAN IP
ID
Src

IP
Dst

IP
Prot

TCP TCP
Ac\on
sport dport

22

drop
24

Examples
Rou\ng
Switch MAC
Port src
*

MAC Eth
dst type

VLAN IP
ID
Src

IP
Dst

5.6.7.8 *

VLAN IP
ID
Src

IP
Dst

IP
Prot

vlan1 *

TCP TCP
Ac\on
sport dport
port6,
port7,
*
*
port9

IP
Prot

TCP TCP
Ac\on
sport dport
*

port6

VLAN Switching
Switch MAC
Port src
*

MAC Eth
dst type
00:1f.. *

25

Centralized vs Distributed Control


Anything in this spectrum is possible with OpenFlow

Centralized Control
Controller

OpenFlow
Switch

Distributed Control
Controller

OpenFlow
Switch

OpenFlow
Switch

Controller

OpenFlow
Switch

OpenFlow
Switch

Controller

OpenFlow
Switch

26

Flow Rou\ng vs. Aggrega\on


Anything in this spectrum is possible with OpenFlow

Flow-Based

Aggregated

Every ow is individually
set up by controller
Exact-match ow entries
Flow table contains one
entry per ow
Good for ne grain
control, e.g. campus
networks

One ow entry covers large


groups of ows
Wildcard ow entries
Flow table contains one
entry per category of ows
Good for large number of
ows, e.g. backbone

27

Reac\ve vs. Proac\ve (pre-populated)


Anything in this spectrum is possible with OpenFlow

Reac\ve

Proac\ve

First packet of ow
triggers controller to insert
ow entries
Ecient use of ow table
Every ow incurs small
addi\onal ow setup \me
If control connec\on lost,
switch has limited u\lity

Controller pre-populates
ow table in switch
Zero addi\onal ow setup
\me
Loss of control connec\on
does not disrupt trac
Essen\ally requires
aggregated (wildcard) rules

28

What you cannot do with OpenFlow v1.0


Non-ow-based (per-packet) networking
ex. Per-packet next-hop selec\on (in wireless mesh)
yes, this is a fundamental limita\on
BUT OpenFlow can provide the plumbing to connect these
systems

Use all tables on switch chips


yes, a major limita\on (cross-product issue)
BUT OF version 1.1 exposes these, providing a way around
the cross-product state explosion

29

What can cannot do with OpenFlow v1.0


New forwarding primi\ves
BUT provides a nice way to integrate them through
extensions

New packet formats/eld deni\ons


BUT a generalized OpenFlow (2.0) is on the horizon

Op\cal Circuits
BUT eorts underway to apply OpenFlow model to circuits

Low-setup-\me individual ows


BUT can push down ows proac\vely to avoid delays

Where its going


OF v1.1: released March 1
mul\ple tables: leverage addi\onal tables
tags and tunnels
mul\path forwarding

OF v1.2+
extensible match
generalized matching and ac\ons: an instruc\on
set for networking

31

Ques\ons to think about


How do I provide control connec\vity?
What are the ow setup \mes in OpenFlow networks?
How can one take down an OpenFlow network?
How can I perform topology discovery over OpenFlow-
enabled switches?
What happens when you have a non-OpenFlow switch in
between?
How scalable can an OpenFlow network be? How does one
scale deployments?

32

[Hands-on Tutorial]
Overview

33

TutorialFlow

34

Stu youll use

NOX
Beacon
Reference Controller/Switch
Open vSwitch
Mininet

iperf
tcpdump
Wireshark

35

Tutorial Setup
Controller
c0 port6633
loopback
(127.0.0.1:6633)

OpenFlow Tutorial
3hosts-1switch
topology

s1
OpenFlow Switch
s1-eth0

h1-eth0

h2

10.0.0.2

s1-eth1

h3-eth0

h3

10.0.0.3

virtual hosts

loopback
(127.0.0.1:6634)

dpctl
(user space
process)

s1-eth2

h4-eth0

h4

10.0.0.4

36

Hands-on Tutorial
Next presenta\on starts at 11:00:
What can you do with OpenFlow / SDN?
Instruc\ons s\ll at:
www.openow.org/wk/index.php/OpenFlow_Tutorial

37

What can you do


with OpenFlow/
SDN?
38

What is Soqware-
Dened Networking
(SDN)?
39

Status Quo

Closed Boxes, Fully Distributed Protocols

Closed
App

App

App

Opera\ng
System
Ap
p

Specialized Packet
Forwarding Hardware

App

App

Ap
p

Ap
p

Opera\ng
System
Specialized Packet
Forwarding Hardware

App

Opera\ng
System
App

Specialized Packet
Forwarding Hardware

App

App

Opera\ng
System

App

App

App

Specialized Packet
Forwarding Hardware

Opera\ng
System
Specialized Packet
Forwarding Hardware

40

Soqware Dened Networking approach


to open it
App

App

App

Network Opera\ng System

App

App

App

Opera\ng
System
Ap
p

Specialized Packet
Forwarding Hardware

App

App

Ap
p

Ap
p

Opera\ng
System
Specialized Packet
Forwarding Hardware

App

Opera\ng
System
App

Specialized Packet
Forwarding Hardware

App

App

Opera\ng
System

App

App

App

Specialized Packet
Forwarding Hardware

Opera\ng
System
Specialized Packet
Forwarding Hardware

41

The Soqware-dened Network


2. At least one good opera\ng system
Extensible, possibly open-source

3. Well-dened open API

App

App

App

Network Opera\ng System

1. Open interface to hardware


Simple Packet
Forwarding
Hardware

Simple Packet
Forwarding
Hardware
Simple Packet
Forwarding
Hardware

Simple Packet
Forwarding
Hardware
Simple Packet
Forwarding
Hardware

42

Isolated slices

App

App

Network
Opera\ng
System 1

Many opera\ng systems, or


Many versions
App

App

App

Network
Opera\ng
System 2

App

App

Network
Opera\ng
System 3

App

Network
Opera\ng
System 4

Open interface to hardware

Virtualiza\on or Slicing Layer


Open interface to hardware
Simple Packet
Forwarding Hardware
Simple Packet
Forwarding Hardware
Simple Packet
Forwarding Hardware
Simple Packet
Forwarding Hardware

Simple Packet
Forwarding Hardware

43

SDN examples using OpenFlow


Simple primi\ve, but many applica\ons
Stanford Demos
Wireless mobility
VM mobility/migra\on
Network virtualiza\on
Power management
Hardware
Load balancing
Trac Engineering

Others
Removing spanning tree
Network visualiza\on
Network debugging
Packet-circuit convergence
Home networks
Flexible access control
Scale-out routers
Scale-out data centers

44

OpenFlow Demonstra\on Overview


Topic
Network
Virtualization
Hardware
Prototyping

Demo
FlowVisor
OpenPipes

Load Balancing

PlugNServe

Energy Savings

ElasticTree

Mobility

MobileVMs

Traffic Engineering

Aggregation

Wireless Video

OpenRoads
45

Demo Infrastructure with Slicing


WiMax
WiFi APs

OpenFlow
switches

Flows

Packet
processors

46

FlowVisor Creates Virtual Networks


OpenPipes
Demo

Each demo presented here


runs in an isolated slice of
Stanfords produc\on
network.
OpenFlow
Switch

OpenFlow
Switch

OpenFlow
Protocol

OpenFlow
Switch

PlugNServe
Load-balancer

OpenRoads
Demo

OpenFlow
Protocol

FlowVisor

OpenPipes
Policy

FlowVisor slices OpenFlow


networks, crea\ng mul\ple
isolated and programmable
logical networks on the
same physical topology.
47

OpenPipes

Plumbing with OpenFlow to


build hardware systems

Partition hardware designs


Mix resources

Test

48

Plug-n-Serve:

Load-Balancing Web Trac using OpenFlow


Goal: Load-balancing requests in unstructured networks
What we are showing
OpenFlow-based distributed load-balancer

Smart load-balancing based on network and server


load
Allows incremental deployment of addi\onal
resources

OpenFlow means
Complete control over trac within the

network
Visibility into network condi\ons
Ability to use exis\ng commodity hardware

This demo runs on top of the FlowVisor, sharing the same physical network with other experiments and produc.on trac.

49

Dynamic Flow Aggrega\on on an OpenFlow Network


Scope

Dierent Networks want dierent ow granularity (ISP, Backbone,)


Switch resources are limited (ow entries, memory)
Network management is hard
Current Solu\ons : MPLS, IP aggrega\on

How OpenFlow Helps?

Dynamically dene ow granularity by wildcarding arbitrary header elds


Granularity is on the switch ow entries, no packet rewrite or encapsula\on
Create meaningful bundles and manage them using your own soqware (reroute, monitor)
Higher Flexibility, BeVer Control, Easier Management, Experimenta@on

50

Elas\cTree:

Reducing Energy in Data Center Networks


Shuts o links and switches to reduce data center power
Choice of op\mizers to balance power, fault tolerance, and BW
OpenFlow provides network routes and port sta\s\cs
The demo:
Hardware-based 16-node
Fat Tree
Your choice of trac
pa]ern, bandwidth,
op\miza\on strategy
Graph shows live power
and latency varia\on
demo credits: Brandon Heller, Srini Seetharaman, Yiannis Yiakoumis, David Underhill

51

52

Intercon\nental VM Migra\on

Moved a VM from Stanford to Japan without changing its IP.


VM hosted a video game server with ac\ve network connec\ons.

53

openow.org/videos

54

Video Time

55

Hands-on Tutorial
Next presenta\on starts at 1:30:
SDN Building Blocks
Instruc\ons s\ll at:
www.openow.org/wk/index.php/OpenFlow_Tutorial

56

SDN Building Blocks

57

OpenFlow building blocks


oqrace

oops

Monitoring/
debugging tools

openseer

Stanford Provided
ENVI (GUI)

NOX

LAVI

Beacon
FlowVisor
Console

Commercial Switches
HP, NEC, Pronto,
Juniper.. and many
more

n-Cas\ng
Trema

Expedient

Applica\ons

ONIX

Controller

Maestro

Slicing
Soqware

FlowVisor
Stanford Provided
Soqware
Ref. Switch

NetFPGA

Broadcom
Ref. Switch

OpenWRT

PCEngine
Open vSwitch
WiFi AP

OpenFlow
Switches
58

Current SDN hardware


Juniper MX-series

NEC IP8800

WiMax (NEC)

HP Procurve 5400

Netgear 7324

PC Engines

Pronto 3240/3290

Ciena Coredirector

More coming
soon...
59

Commercial Switch Vendors


Model

Virtualize

Notes

HP Procurve 5400zl or
6600

1 OF
instance
per VLAN

-LACP, VLAN and STP processing


before OpenFlow
-Wildcard rules or non-IP pkts
processed in s/w
-Header rewri\ng in s/w
-CPU protects mgmt during loop

NEC IP8800

1 OF
instance
per VLAN

-OpenFlow takes precedence


-Most ac\ons processed in
hardware
-MAC header rewri\ng in h/w

Pronto 3240 or 3290


with Pica8 or Indigo
rmware

1 OF
instance
per switch

-No legacy protocols (like VLAN


and STP)
-Most ac\ons processed in
hardware
-MAC header rewri\ng in h/w

60

Open Controllers
Name

Lang

PlaXorm(s) License

Original
Author

Notes

OpenFlow
Reference

Linux

OpenFlow
License

Stanford/
Nicira

not designed for extensibility

NOX

Python, Linux
C++

GPL

Nicira

no longer maintained

Beacon

Java

Win, Mac,
Linux,
Android

GPL (core),
David
FOSS Licenses Erickson
for your code (Stanford)

Maestro

Java

Win, Mac,
Linux

LGPL

Zheng Cai
(Rice)

Trema

Ruby, C

Linux

GPL

NEC

includes emulator, regression test


framework

RouteFlow

Linux

Apache

CPqD (Brazil)

virtual IP rou\ng as a service

run\me modular, web UI


framework, regression test
framework

61

all 1M
plus flows
in one
box!

CPU: 1 x Intel Core i7 930 @ 3.33ghz, 9GB RAM, Ubuntu 10.04.1 x64
For more tes\ng details, see:
h]p://www.openow.org/wk/index.php/Controller_Performance_Comparisons

62

Closed-source Controller Vendors


Ask these vendors for more info
BigSwitch
Nicira
NEC

63

Growing Community
Vendors and start-ups

More...
Note: Level of interest varies

Providers and business-unit

More...
64

Related Research
DIFANE
Rule par\\oning for controller-less ow inser\on

UCSD Fat Tree Series: Scalable Commodity Data


Center, PortLand, Hedera
Scale-out data centers that use OpenFlow

Tesseract
Centralized WAN in the 4D Architecture

ONIX
Fault-tolerant controller plaGorm from Nicira, Google, NEC

DevoFlow
Prac\cal scalability limits to OpenFlow and modica\ons
65
to get around them

Virtualizing OpenFlow

66

Trend
App
App

App

Windows
Windows
Windows
(OS)
(OS)
(OS)

Linux
Linux
Linux

App

App

App

Mac
Mac
Mac
OS
OS
OS

Virtualiza\on layer
x86
(Computer)

Computer Industry

Controller 11
NOX
Controller
(Network OS)

Controller
Controller
Network
OS
2 2

Virtualiza\on or Slicing
OpenFlow

Network Industry

Isolated slices

App

App

Network
Opera\ng
System 1

Many opera\ng systems, or


Many versions
App

App

App

Network
Opera\ng
System 2

App

App

Network
Opera\ng
System 3

App

Network
Opera\ng
System 4

Open interface to hardware

Virtualiza\on or Slicing Layer


Open interface to hardware
Simple Packet
Forwarding Hardware
Simple Packet
Forwarding Hardware
Simple Packet
Forwarding Hardware
Simple Packet
Forwarding Hardware

Simple Packet
Forwarding Hardware

68

Switch Based Virtualiza\on


Exists for NEC, HP switches but not flexible enough"

Research VLAN 2"

Flow Table

Controller

Research VLAN 1"

Flow Table
Controller
Production VLANs"

Normal L2/L3 Processing

69

FlowVisor-based Virtualiza\on
Heidis
Controller

Aarons
Controller

Topology
discovery is
per slice

Craigs
Controller

OpenFlow
Protocol

OpenFlow FlowVisor
& Policy Control

OpenFlow
Switch

OpenFlow
Protocol
OpenFlow
Switch

OpenFlow
Switch

70

FlowVisor-based Virtualiza\on "


Separa\on not only
by VLANs, but any
L1-L4 pa]ern

Multicast

Broadcast

http
Load-balancer

OpenFlow
Protocol

dl_dst=FFFFFFFFFFFF

tp_src=80, or
tp_dst=80

OpenFlow
FlowVisor & Policy Control

OpenFlow
Switch

OpenFlow
Protocol
OpenFlow
Switch

OpenFlow
Switch

71

FlowSpace: Maps Packets to Slices

FlowVisor Message Handling


Alice
Controller

Bob
Controller

Cathy
Controller

OpenFlow

Policy Check:
Is this rule
allowed?

Policy Check:
Who controls
this packet?

FlowVisor
OpenFlow

Full Line Rate


Forwarding
Packet
Packet

OpenFlow
Firmware
Data Path

Rule

Excep\on

Use Case: New CDN - Turbo Coral ++


Basic Idea: Build a CDN where you control the en\re network

All trac to or from Coral IP space controlled by Experimenter


All other trac controlled by default rou\ng
Topology is en\re network
End hosts are automa\cally added (no opt-in)
Switch MAC
Port src

MAC Eth
dst type

VLAN IP
ID
Src

IP
Dst

IP
Prot

TCP TCP
sport dport

84.65.* *

84.65.* *

74

Use Case: Aarons IP


A new layer 3 protocol
Replaces IP
Dened by a new Ether Type

Switch MAC
Port src

MAC Eth
dst type

VLAN IP
ID
Src

IP
Dst

IP
Prot

TCP TCP
sport dport

AaIP

!AaIP *

*
75

OpenFlow Deployment at Stanford


Switches (23)
APs (50)
WiMax (1)

76

Live Stanford
Deployment Sta\s\cs
h]p://yuba.stanford.edu/o}allway/wide-ofv1.html

77

How did we get there?


Staged Deployment of OpenFlow
1.
2.
3.

Add experimental VLAN


Enable OpenFlow for Exptl VLAN
Congure Controller for new network
Verify correctness and performance

4.
5.

Add new Produc\on subnetwork


Gradually add/move users to new subnet
Verify reachability

6.
7.

Enable OpenFlow for new subnet


Slice the network

GENI OpenFlow deployment (2010)


10 ins\tu\ons and 2 Na\onal Research Backbones

Kansas State

79

GENI Network Evolu\on

National
Lambda
Rail

GENI Integra\on
FlowVisor

Expedient3

Slicing control

Expedient
Experimenters portal
for slice management

GENI API
API X

Expedient1
API X

Opt-in Mgr1

Expedient2
API X

Opt-in Mgr2

FlowVisor API
FlowVisor API

Opt-in Manager
Network admins portal
to approve/ deny expt
requests for trac

FlowVisor1
OpenFlow

Substrate
1

FlowVisor2
OpenFlow

Substrate
2

Mistakes we made
OpenFlow over Q-in-Q
OpenFlow rou\ng is unaware and sends trac with same MAC
address in both direc\on, causing perpetual learning and CPU ina\on

Moving uplinks for 1 switch, while being pointed to the same


controller (causing two islands)
Causes controller learning to oscillate between the 2 uplinks

Bad interac\on with legacy protocols


LLDP and STP are treated dierently with dierent switches

Loop in OpenFlow network being exposed to non-OF side


Miscommunica\on between the aggregate operator and the
experimenter during tes\ng phase

Loop across backbones


Same campus connected over NLR and Internet2

Next steps for GENI


Remove duct-tape

Fix any issues that we learned about during demos

Be be]er prepared

Higher stability and be]er isola\on


Test bandwidth slicing

Grow topology

Add more switches and hosts

Wean o

Each campus takes charge of control framework

Tutorial Setup so far


Controller
c0 port6633
loopback
(127.0.0.1:6633)

OpenFlow Tutorial
3hosts-1switch
topology

s1
OpenFlow Switch
s1-eth0

h1-eth0

h2

10.0.0.2

s1-eth1

h3-eth0

h3

10.0.0.3

virtual hosts

loopback
(127.0.0.1:6634)

dpctl
(user space
process)

s1-eth2

h4-eth0

h4

10.0.0.4

84

Virtualized Network Setup


Controller
port 7000

loopback
(127.0.0.1:7000)

c0
FlowVisor
port 6633

OpenFlow Tutorial
3hosts-1switch
topology

loopback
(127.0.0.1:6634)

s1
OpenFlow Switch
s1-eth0

h1-eth0

h2

10.0.0.2

s1-eth1

h3-eth0

h3

10.0.0.3

virtual hosts

loopback
(127.0.0.1:6634)

dpctl
(user space
process)

s1-eth2

h4-eth0

h4

10.0.0.4

85

FlowVisor Usage
man ./doc/owvisor.8
<owvisor dir>/script/fvctl.sh
listDevices

list of all OpenFlow switches datapath ID

getLinks

list of all links (port # and datapath ID of both end switches)

createSlice

crea\ng slice (specifying controllers URL and slice name)

listSlices
addFlowSpace

add ow space to slices

listFlowSpace

show current ow space


86

Highlights of Deployments
Stanford deployment
McKeown group for 1.5 years: produc\on and experiments
To scale later this year to en\re building (~500 users)

Na\on-wide trials and deployments


7 other universi\es and BBN deploying now
GEC9 in Nov, 2010 showcased na\on-wide OF
Internet 2 and NLR star\ng to serve as the GENI Backbone

Global trials
Over 60 organiza\ons experimen\ng
2011 likely to be a big year for OpenFlow
87

Current Trials
68 trials/deployments spanning 13 countries

88

Internet2 OpenFlow deployment ini\a\ve.


35+ 100G POPs, na\onwide.

Hands-on Tutorial
Next presenta\on starts at 2:45
SDN Deployment Forum
Instruc\ons s\ll at:
www.openow.org/wk/index.php/OpenFlow_Tutorial

90

SDN Deployment
Forum

91

Our speakers
Subhasree Mandal (Google)
Johan van Reijendam (Stanford)
David Erickson (Stanford)

92

Ques\ons
What was your hardest/funniest error to
debug?
Whats your one strongest gripe about
OpenFlow?
Do you have a simple example of something
that your network does be]er now?

93

Closing

94

Closing Thoughts
OpenFlow is a protocol
How to use it is up to you

Soqware-Dened Networking is an
architecture
Of which OpenFlow is just a piece

OpenFlow is available, used, and improving


These are the early stages for OF, ONS, and
SDN
95

Get involved!
Ask and answer ques\ons on mailing lists:
openow-discuss
openow-spec

Join and par\cipate Open Networking Forum


Share and update wiki content
Submit bug-reports and/or patches to OF
reference implementa\on and Open vSwitch
Release open-source applica\ons
Write a controller!
96

SDN Team at Stanford

You might also like