Software Defined Networks:
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
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
schedule
network updates
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
...
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!
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.
(
http://tx.technion.ac.il/~dew/TimedConsistentSOSR.pdf
)
[4]
T. Mizrahi, O. Rottenstreich, Y. Moses, "TimeFlip: Scheduling Network Updates with Timestamp-based TCAM Ranges", IEEE INFOCOM, 2015.
(
http://tx.technion.ac.il/~dew/TimeFlipINFOCOM.pdf
)
[5]
T. Mizrahi, Y. Moses, "Time-based Updates in Software Defined Networks", the second workshop on hot topics in software defined networks (HotSDN),
2013. (
http://tx.technion.ac.il/~dew/TimeSDN.pdf
)
[6]
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.
(
http://tx.technion.ac.il/~dew/ISPCSReversePTPFinal.pdf
)
[7]
T. Mizrahi, Y. Moses, "ReversePTP: A Software Defined Networking Approach to Clock Synchronization", in the third workshop on hot topics in software
defined networks (HotSDN), 2014.
(
http://tx.technion.ac.il/~dew/ReversePTPHotSDN.pdf
)
[8]
T. Mizrahi, Y. Moses, "Time4: Time for SDN", arXiv preprint arXiv:1505.03421, 2015. (
http://tx.technion.ac.il/~dew/Time4TR.pdf
)
[9]
Open Networking Foundation, OpenFlow switch specification, Version 1.5.0, 2015.
(
https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-switch-v1.5.0.noipr.pdf
)
[10]
Open Networking Foundation, OpenFlow extensions 1.3.x package 2, 2015.