OpenFlowTutorial ONS Heller
OpenFlowTutorial ONS Heller
OpenFlowTutorial ONS Heller
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!
You
should
NOT
need
to
download
any
large
les
spare
the
WiFi!
1
Brandon
Heller,
Rob
Sherwood,
David
Erickson,
Hideyuki
Shimonishi,
Srini
Seetharaman,
Murphy
McCauley
only
possible
help
from
all
the
people
listed
on
the
next
few
pages
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!
You
should
NOT
need
to
download
any
large
les
spare
the
WiFi!
3
Welcome
Goals
10
Have fun
how you can use it how you can build on top of whats available How you can build something completely new
12
Agenda
Time
9:00-10:00
10:00-10:30
10:45-12:00
12:00-1:00
1:00-3:00
3:15-4:15
4:20-5:00
DescripEon
OpenFlow/SDN
Introduc\on
The
SDN
Stack,
Part
1:
Switches
&
Controllers
The
SDN
Stack,
Part
2:
Virtualiza\on
&
SDN
Applica\ons
Lunch
Controllers
+
Q&A
Hands-On
SDN
Deployment
Experiences
and
Wrap-up
13
5400 RFCs
Barrier to entry
Power Hungry
An industry with a mainframe-mentality Li]le ability for non-telco network operators to get what they want Func\onality dened by standards, put in hardware, deployed on nodes
OSPF, BGP, mul.cast, dieren.ated services, Trac Engineering, NAT, rewalls, MPLS, redundant layers,
16
Ossica\on
Source: http://www.merriam-webster.com/
17
Research
Stagna\on
(circa
2007):
Faster
networks
but
not
beFer
networks
Lots
of
deployed
innova\on
in
other
areas
OS:
lesystems,
schedulers,
virtualiza\on
DS:
DHTs,
CDNs,
MapReduce
Compilers:
JITs,
new
language
paradigms
19
Open
Systems
Performance
Scale
Fidelity
Simula\on
Emula\on
Soyware
Switches
NetFPGA
Network
Processors
Vendor
Switches
medium
medium
poor
high
high
high
medium
low
low
low
medium
high
Real
User
Trac?
no
no
yes
yes
yes
yes
Complexity
medium
medium
medium
high
high
low
Open
yes
yes
yes
yes
yes
no
gap in the tool space none have all the desired a]ributes!
20
Controller
Flow Switch
Flow Switch
Flow Switch
Host
A
Flow Switch
Host B
21
22
24
Ethernet Switch
25
26
27
OpenFlow Example
Controller
PC
Soyware Layer
OpenFlow
Client
Flow
Table
Hardware Layer
MAC
src
*
IP
Dst
5.6.7.8
port 1
port 2
port 3
port 4
5.6.7.8
1.2.3.4
28
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
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
*
*
port6
Flow
Switching
Switch
MAC
Port
src
MAC
Eth
dst
type
VLAN
IP
ID
Src
IP
Dst
IP
Prot
TCP
TCP
Ac\on
sport
dport
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
30
Examples
Rou\ng
Switch
MAC
Port
src
*
*
*
MAC
Eth
dst
type
*
VLAN
IP
ID
Src
*
*
IP
Dst
IP
Prot
TCP
TCP
Ac\on
sport
dport
*
*
port6
5.6.7.8 *
VLAN
Switching
Switch
MAC
Port
src
*
*
MAC
Eth
dst
type
00:1f..
*
VLAN
IP
ID
Src
vlan1
*
IP
Dst
*
IP
Prot
*
TCP
TCP
Ac\on
sport
dport
port6,
port7,
*
*
port9
31
32
This is where Software-Defined Networking comes in: need a control plane abstraction too
34
36
37
39
Today
Closed
App
App
App
App
App
App
Opera\ng System Specialized Packet Forwarding Hardware Opera\ng System Specialized Packet Forwarding Hardware
App
App
App
40
App
App
App
App
App
App
Opera\ng System Specialized Packet Forwarding Hardware Opera\ng System Specialized Packet Forwarding Hardware
App
App
App
41
App
App
App
42
Isolated slices
App
App
43
Dene
SDN
by
the
abstrac\ons
it
provides
to
soyware
(and
people
wri\ng
it).
45
Many
bullet
points
on
next
few
slides
are
from
this
talk
46
Abstrac\ons simplify programming: they make it easier to write, maintain, and reason about programs. Could networking follow this same path?
48
Forwarding
Abstrac\on
Forwarding
behavior
specied
by
a
control
program.
Possibili\es:
x86,
MPLS,
OpenFlow
49
50
Specica\on
Abstrac\on
Give
control
program
abstract
view
of
network
Provide
enough
detail
to
specify
goals,
but
not
to
implement
them
51
Dene
SDN
not
by
what
it
looks
like
or
how
we
think
about
it,
but
the
exibility
it
provides.
53
An
SDN
is
any
network
that
gives
us
the
exibility
to
choose
between
points
on
the
following
design
axes.
55
Distributed
Control
Controller
OpenFlow Switch
OpenFlow Switch
Controller
OpenFlow Switch
OpenFlow Switch
Controller
OpenFlow Switch
OpenFlow Switch
56
Aggregated
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
57
Proac\ve
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
58
Virtual
vs
Physical
Virtual
Assumes
congurable
switching
within
a
host:
in
the
OS
or
hypervisor
Soyware!
Memory,
processing,
arbitrary
modica\ons
Massive
ow
rates
Limited
to
the
hardware
below
Physical
No
assump\on
of
soyware
changes;
unmodied
end
hosts
Greater
control
over
expensive
forwarding
resources
59
Eventually
Consistent
Uncertainty
about
state
now,
but
eventually
converges
Probabilis\c
state
is
easier
to
scale
Introduces
the
possibility
of
long-lived
route
aps
and
unstable
control
systems
60
Heres a picture
61
Hedera controls a data center network. See NSDI 10 paper for more details.
64
Hybrid approaches often have desirable properties; can use these now.
65
66
Removing spanning tree Network visualiza\on Network debugging Packet-circuit convergence Home networks Flexible access control Scale-out routers Scale-out data centers
68
What
SDN
really
means
is
up
in
the
air.
Heres
a
good
deni\on,
though:
Soyware
Dened
Networking
(SDN)
is
a
refactoring
of
the
rela\onship
between
network
devices
and
the
soyware
that
controls
them.
[Paraphrased
from
the
HotSDN
12
Solicita\on]
69
ENVI (GUI)
LAVI
NOX
FlowVisor
Commercial
Switches
HP,
NEC,
Pronto,
Juniper..
and
many
more
NetFPGA
OpenFlow
Switches
71
HP Procurve 5400
Netgear 7324
PC Engines
Pronto 3240/3290
Ciena Coredirector
73
Commercial
Switches
Vendor
HP
ProCurve
Models
Virtualize?
5400zl,
1
OF
instance
6600,
+
per
VLAN
Notes
-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
-OpenFlow
takes
precedence
-Most
ac\ons
processed
in
hardware
-MAC
header
rewri\ng
in
h/w
-No
legacy
protocols
(like
VLAN
and
STP)
-Most
ac\ons
processed
in
hardware
-MAC
header
rewri\ng
in
h/w
Pic
NEC
IP8800, 1 OF instance + per VLAN 3290, 1 OF instance 3780, per switch 3920, +
Pronto/ Pica8
74
Open
Switches
Name
OpenFlow
Reference
Open
vSwitch
Indigo
Lang
C
PlaQorm(s)
License
Linux
OpenFlow
License
Original
Author
Stanford/ Nicira
Ben
Pfa/ Nicira
Dan
Talayco/ BigSwitch
Pica8
Notes
not
designed
for
extensibility
C/ Python C/Lua
Xorplus
Support
75
77
Op\cal
Circuits
BUT
eorts
underway
to
apply
OpenFlow
model
to
circuits
Controllers
80
Open
Controllers
Name
OpenFlow
Reference
NOX
Lang
C
PlaQorm(s)
License
Linux
OpenFlow
License
GPL
Original
Author
Stanford/ Nicira
Nicira
Notes
not
designed
for
extensibility
Python, Linux C++ Java Win, Mac, Linux, Android Win, Mac, Linux Linux
ac\vely developed
Beacon
GPL (core), David FOSS Licenses Erickson for your code (Stanford) LGPL Zheng Cai (Rice) NEC
Maestro
Java
Trema
Ruby, C
GPL
RouteFlow
Linux
Apache
CPqD (Brazil)
Growing
list.
Mar\n
Casado
recently
added
a
list:
h]p://yuba.stanford.edu/~casado/of-sw.html
83
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
84
to
get
around
them
Related
Research
Frene\c/Ne]le
Func\onal
Reac\ve
Programming
for
more
composable,
reusable
controller
code
Resonance
State-machine-based
network
control
Consistency
Primi\ves
Per-packet
or
per-ow
rou\ng
guarantees
to
simplify
network
versioning
85
Up
Next:
Come
back
at
10:45
for:
The
SDN
Stack
Part
2:
Virtualiza\on
and
SDN
Applica\ons
86
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!
You
should
NOT
need
to
download
any
large
les
spare
the
WiFi!
87
Current
Trials
68
trials/deployments
spanning
13
countries
90
Applica\ons of SDN
92
Demo
FlowVisor OpenPipes PlugNServe ElasticTree MobileVMs Aggregation OpenRoads
93
OpenFlow switches
Flows
Packet processors
94
Each
demo
presented
here
runs
in
an
isolated
slice
of
Stanfords
produc\on
network.
OpenFlow Switch
OpenFlow Protocol
OpenFlow Protocol
FlowVisor
OpenPipes Policy
OpenFlow Switch
OpenFlow Switch
FlowVisor
slices
OpenFlow
networks,
crea\ng
mul\ple
isolated
and
programmable
logical
networks
on
the
same
physical
topology.
95
OpenPipes
Partition hardware designs
Mix resources
Test
96
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
Plug-n-Serve:
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.
97
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 soyware (reroute, monitor) Higher Flexibility, Be[er Control, Easier Management, ExperimentaEon
98
Elas\cTree:
100
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.
101
openow.org/videos
102
103
104
So
the
ques\on
really
boils
down
to
whether
the
algorithm
needed
to
compute
the
datapath
state
is
easily
distributed
...
if
the
state
management
algorithm
has
any
of
the
following
proper\es
it
probably
isnt,
and
is
therefore
a
poten\al
candidate
for
SDN.
It
is
not
amenable
to
being
split
up
into
many
smaller
pieces
(as
opposed
to
fewer,
larger
instances).
The
limi\ng
property
in
these
cases
is
oyen
excessive
communica\on
overhead
between
the
control
nodes.
It
is
not
amenable
to
running
on
heterogeneous
compute
environments.
For
example
those
with
varying
processor
speeds
and
available
memory.
105
It is not amenable to rela\vely long RTTs for communica\on between distributed instances. In the purely distributed case, the upper bound for communica\ng between any two nodes scales linearly with the longest loop free path. The algorithm requires sophis\cated distributed coordina\on between instances (for example distributed locking or leader elec\on)
106
SDN
stack
Monitoring/Debugging
Tools
Applica\ons
Controllers
Virtualiza\on
Switches
Topology
107
Up
Next:
1:00
-
3:00pm
Controllers:
NOX/POX
(Murphy)
Trema
(Hideyuki)
Beacon
(David)
Floodlight
(Rob)
RouteFlow
(video)
+
more
Q&A
108
Q
&
A
109
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!
You
should
NOT
need
to
download
any
large
les
spare
the
WiFi!
110
Break
Come
back
at
1:00
for
Controllers
111
Controllers
112
POX:
Murphy
McCauley
Beacon:
David
Erickson
Trema:
Hideyuki
Shimonishi
Floodlight:
Rob
Sherwood
113
VM
Setup/ Overview
114
115
TutorialFlow
116
117
Tutorial
Setup
Controller
c0
port6633
OpenFlow
Tutorial
3hosts-1switch
topology
loopback
(127.0.0.1:6633)
s1
OpenFlow
Switch
s1-eth0
s1-eth1
loopback (127.0.0.1:6634)
s1-eth2
h1-eth0
h3-eth0
h4-eth0
10.0.0.2
h2
10.0.0.3
h3
10.0.0.4
h4
virtual hosts
118
Pick a controller!
119
POX:
Murphy
McCauley
Beacon:
David
Erickson
Trema:
Hideyuki
Shimonishi
Floodlight:
Rob
Sherwood
120
Hands-on
Tutorial
Instruc\ons
at:
www.openow.org/wk/index.php/OpenFlow_Tutorial
121
Q&A
122
Deployment
Experiences
123
Wrap-Up
125
A]endees
Expon.(A]endees)
126
Growing
Community
Vendors and start-ups Providers and business-unit
More...
Note: Level of interest varies
More...
127
Closing
Thoughts
SDN
&
OpenFlow
Open
Source
Ecosystem
SDN
Switches
and
Controllers
are
available,
used,
and
improving:
open
&
closed
These
are
the
early
stages
for
SDN
128
Get
involved!
Ask
and
answer
ques\ons
on
mailing
lists:
openow-discuss
openvswitch-{discuss/dev}
ONF
forums
Share
via
wiki,
github,
etc.
Submit
bug-reports
and/or
patches
to
OF
reference
implementa\on
and
Open
vSwitch
Release
open-source
applica\ons
Write
a
new
controller!
129
130
ACKs
(acknowledgements)
131
134