SDN: It’s About Time
Tal Mizrahi, Yoram Moses
Technion – Israel Institute of Technology
Outline
•
Background
•
Timed updates in OpenFlow
•
T
IME
4: optimal for flow swaps
•
Evaluation
Outline
•
Background
•
Timed updates in OpenFlow
•
T
IME
4: optimal for flow swaps
data plane
control plane
at a Glance
Software Defined Networks (SDN)
•
Advantage:
Dynamic and frequent updates
•
Challenge:
Minimize disruptions and packet loss
Controller
The First Synchronized Clocks
Networks: Communications vs. Trains
Network switch
Railway switch
at a Glance
Timed
Controller
Switches
Synchronized
clocks
A protocol allowing the controller to
schedule
network updates
Using
Time
to Coordinate
Updates
T
IME
4
Switches invoke update
at the same time
Time sequence
Switches invoke update according
to a scheduled sequence
This paper
focuses on
Accurate Synchronization: It’s Already Here
Open Networking Foundation (ONF)
SDN product directory
Precision Time Protocol (PTP)
[
IEEE 1588 2008
]
~
1
μ
sec
accuracy
~70%
~70% of the
SDN-enabled silicons have
native PTP support.
Mobile backhaul
Power substations
Industrial automation Financial applications
China Mobile: over 1,000,000 PTP-enabled base stations
https://mailarchive.ietf.org/arch/attach/tictoc/pdfsY1ADO.pdf
But what about
at a Glance
Timed
Controller
Switches
Synchronized
clocks
A protocol allowing the controller to
Outline
•
Background
•
Timed updates in OpenFlow
•
T
IME
4: optimal for flow swaps
A Timed SDN Protocol
switch
Time
controller
B
u
n
d
le
C
o
m
m
it
B
u
n
d
le
O
p
e
n
B
u
n
d
le
A
d
d
1
...
re
p
ly
B
u
n
d
le
A
d
d
N
B
u
n
d
le
C
lo
s
e
re
p
ly
re
p
ly
Bundle
[OpenFlow 1.4]
1.
Bundle Open
Challenge: defining a generic protocol for timed updates in SDN.
2.
A set of
OpenFlow
commands.
A Timed SDN Protocol:
Scheduled Bundles
switch
Time
controller
T
sB
u
n
d
le
C
o
m
m
it
(a
t t
im
e
T
s)
B
u
n
d
le
O
p
e
n
B
u
n
d
le
A
d
d
1
...
re
p
ly
B
u
n
d
le
A
d
d
N
B
u
n
d
le
C
lo
s
e
re
p
ly
re
p
ly
B
u
n
d
le
D
is
c
a
rd
Our solution:
Scheduled Bundles
A generic method to schedule
any
OpenFlow command.
Our solution has been incorporated into OpenFlow 1.5
Bundle Discard
:
[optional]
Allows network-wide
atomic update.
Switch executes
bundle at time T
sCommit may
include scheduled
time T
sat a Glance
Timed
Controller
Switches
Synchronized
clocks
A protocol allowing the controller to
schedule
network updates
Outline
•
Background
•
Timed updates in OpenFlow
•
T
IME
4: optimal for flow swaps
controller
...
o
2
o
1Flow Swaps
A key benefit of SDN:
Dynamic path allocation based on network load
controller
...
o
2
o
1Flow Swaps
A key benefit of SDN:
Dynamic path allocation based on network load
old
new
Temporary congestion.
If O
1, O
2are
not
updated
at the
same time
…
controller
...
o
2
o
1Flow Swaps
A key benefit of SDN:
Dynamic path allocation based on network load
old
new
If O
1, O
2are updated
at the
same time
:
No congestion!
Can updates occur
at the same time
?
1. Clock synchronization.
2. Accurate scheduling, e.g.,
[TimeFlip, INFOCOM ‘15].
Description
Flow swaps
Order
[Dionysus ‘14]
[zUpdate ‘13]
[Vanbever et al. ‘11]
[Francois et al. ’07]
Sequentially update
switches in specific order
No order
avoids congestion
Two
-
phase
[
Reitblatt
et al. ’12]
Use version tags
Version tags do not
avoid
congestion
SWAN
[Hong et al. ‘13]
Spare capacity for
rerouting
Requires resource overhead
B4
[Jain et al. ‘13]
Temporarily reduce flow
bandwidth
T
IME
4
Avoids congestion without resource overhead
J
Existing Network Update Approaches
Can Flow Swaps be Avoided?
controller
...
Problem: controller has to reroute
two flows at the same time.
Solution (?): don’t reroute.
Leave flows in current paths.
Question: maybe a smart controller
routing policy can avoid flow swaps?
Answer:
NO!
Goal: Prove that flow-swaps are inevitable regardless of
the controller’s route allocation policy.
The Lossless Flow Allocation (LFA) Problem
Directed graph.
A special case of the unsplittable flow problem.
...
...
d
o
1o
2o
nq
1q
2q
mc
c
c
...
...
d
o
1o
2o
nq
1q
2q
mc
c
c
s
Source
•
Progressively adds flows.
•
Goal: force the controller to
swap
.
Controller
•
Configures a path for each flow.
•
Goal: guarantee a path assignment.
The LFA
Game
The Swap Theorem
...
...
d
o
1o
2o
nq
1q
2q
mc
c
c
s
Theorem: There exists a strategy
S
s
for the source that
forces the controller to perform an
n-switch swap
.
n switches
The Cost of Not Swapping
controller
...
o
1o
2The Cost of Not Swapping
Theorem: There exists a strategy
S
s
for the source that forces the
controller to perform a
swap
with an oversubscription of 50%.
The oversubscription is 50% of the edge capacity
controller
...
Example: Consistent Path Update
0
S
2S
1S
3S
4S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
1
2
3
0. The ‘before’ configuration.
1. Controller updates S
1.
2. Controller updates S
2.
3. Controller updates S
3.
Sequential update approaches:
[Dionysus ‘14]
[zUpdate ‘13]
[Vanbever et al. ‘11]
[Francois et al. ’07]
S
2S
1S
3S
4after
before
wait…
wait…
X
Simultaneous Updates?
En-route packets run into a ‘black hole’.
Not consistent!
27
S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
1
2
3
Timed
Multi-phase Consistent Updates
[SOSR ‘16]
-
The controller sends timed update messages to S
1
, S
2
, S
3
.
-
Scheduled updates occur at times T
1
, T
2
, T
3
.
T
1
T
2
T
3
Controller does not need to wait between steps!
Timed update
Lower update duration.
28
S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
Outline
•
Background
•
Timed updates in OpenFlow
•
T
IME
4: optimal for flow swaps
•
Evaluation
Prototype Design
OpenFlow Agent
Dpctl
OpenFlow Switch
CPqD OFSoftswitch
PTPd Master
PTPd Slave i
Controller
Switch i
OpenFlow protocol
using time extension
PTP
Time
extension
Switch
scheduling
SDN application
using time-based updates
offset
iTime-based
update
REVERSEPTP
Clock
REVERSEPTP
Clock
O
p
e
n
s
o
u
rc
e
Black building blocks:
open source
Timed
.
https://github.com/timedsdn
OpenFlow switch
supports Scheduled Bundles
OpenFlow controller
supports Scheduled Bundles
Evaluation Method
•
70 nodes (Linux machines).
•
DeterLab
testbed.
•
Three types of nodes:
–
OpenFlow switch
–
Controller
–
Host
•
Measured the packet loss
during flow swaps.
controller
...
o
1o
2o
nH
1H
2H
nq
1q
2T
IME
4 vs. Other Update Approaches
T
IME
4+SWAN →
Low packet loss with
low resource overhead.
SWAN: slightly lower packet loss than T
IME
4.
T
IME
4: less resource overhead (scratch capacity).
T
IME
4: Scalability
T
IME
4 is
scalable!
Untimed: packet loss increases
with the
number of switches
.
Outline
•
Background
•
Timed updates in OpenFlow
•
T
IME
4: optimal for flow swaps
•
Evaluation
Conclusion
Why do we need
Timed
?
Scheduling
protocol
OpenFlow
Scheduled Bundles
[OpenFlow 1.5]
T
IME
4
: Dynamic Path Updates
Flow swaps are provably inevitable
The
Timed
Project
Thanks!
The
Timed
Project
The
Project
Why do we need
time in SDN?
Scheduling
protocol
Accurate scheduling
method
SDN Clock
synchronization
R
EVERSE
PTP
[HotSDN ‘14, ISPCS ‘14]
T
IME
F
LIP
[INFOCOM ‘15]
O
NE
C
LOCK
[NOMS ‘16]
OpenFlow
Scheduled Bundles
[INFOCOM ’16, OpenFlow 1.5]
NETCONF
Time Capability
[NOMS ’16, RFC 7758]
Timed Consistent
Updates
[SOSR, ‘15]
O
NE
C
LOCK
to Rule
Them All
[NOMS, ‘16]
T
IME
4: Dynamic
Path Updates
[INFOCOM, ‘16]
Data Plane
Timestamping
References
[1] T. Mizrahi, Y. Moses, "Software Defined Networks: It's About Time", IEEE INFOCOM, 2016.
[2] T. Mizrahi, Y. Moses, "OneClock to Rule Them All: Using Time in Networked Applications", IEEE/IFIP Network Operations and Management Symposium (NOMS), 2016. [3] T. Mizrahi, E. Saat, Y. Moses, "Timed Consistent Network Updates", ACM SIGCOMM Symposium on SDN Research (SOSR), 2015.
[4] T. Mizrahi, E. Saat, Y. Moses, "Timed Consistent Network Updates in Software Defined Networks", IEEE/ACM Transactions on Networking (ToN), 2016. [5] T. Mizrahi, O. Rottenstreich, Y. Moses, "TimeFlip: Scheduling Network Updates with Timestamp-based TCAM Ranges", IEEE INFOCOM, 2015.
[6] T. Mizrahi, Y. Moses, "Time-based Updates in Software Defined Networks", workshop on hot topics in software defined networks (HotSDN), 2013. [7] T. Mizrahi, Y. Moses, "On the Necessity of Time-based Updates in SDN", Open Networking Summit (ONS), 2014.
[8] T. Mizrahi, Y. Moses "Using ReversePTP to Distribute Time in Software Defined Networks", International IEEE Symposium on Precision Clock Synchronization for Measurement, Control and Communication, (ISPCS), 2014.
[9] T. Mizrahi, Y. Moses, "ReversePTP: A Software Defined Networking Approach to Clock Synchronization", workshop on hot topics in software defined networks (HotSDN), 2014. [10] T. Mizrahi and Y. Moses, "ReversePTP: A clock synchronization scheme for software defined networks", International Journal of Network Management (IJNM), under minor revision,
2016.
[11] T. Mizrahi, Y. Moses, "Time4: Time for SDN", arXiv preprint arXiv:1505.03421, 2016.
[12] T. Mizrahi, Y. Moses, "The Case for Data Plane Timestamping in SDN", IEEE INFOCOM Workshop on Software-Driven Flexible and Agile Networking (SWFAN), 2016. [13] T. Mizrahi, Y. Moses, "Time Capability in NETCONF", RFC 7758, 2016.
[14] T. Mizrahi, Y. Moses, "Serving Time in the Cloud: Why Time-as-a-Service?", IEEE INFOCOM, 2016. [15] T. Mizrahi, Y. Moses, "On the Behavior of Network Delay in the Cloud", IEEE INFOCOM, 2016. [16] Open Networking Foundation, OpenFlow switch specification, Version 1.5.0, 2015.