SDN: It’s About Time Tal Mizrahi, Yoram Moses Technion – Israel Institute of Technology
Israeli Networking Day June 2016
Outline • • • • •
Background Timed updates in OpenFlow TIME4: optimal for flow swaps Evaluation Conclusion
Software Defined Networks: It’s About Time
2
Outline • • • • •
Background Timed updates in OpenFlow TIME4: optimal for flow swaps Evaluation Conclusion
Software Defined Networks: It’s About Time
3
at a Glance Controller
data plane control plane
Software Defined Networks (SDN)
• Advantage: Dynamic and frequent updates • Challenge: Minimize disruptions and packet loss
Switches Software Defined Networks: It’s About Time
4
The First Synchronized Clocks
Railway switch
Software Defined Networks: It’s About Time
5
Networks: Communications vs. Trains
SDN Controller
Train Control Center
Network switch
Railway switch Software Defined Networks: It’s About Time
6
Timed
at a Glance TIME4: Time for SDN Controller
A protocol allowing the controller to schedule network updates
Synchronized clocks
Switches Software Defined Networks: It’s About Time
7
Using Time to Coordinate
Updates
This paper focuses on
TIME4
TIME4 Switches invoke update at the same time
Time sequence Switches invoke update according to a scheduled sequence Software Defined Networks: It’s About Time
8
Accurate Synchronization: It’s Already Here Precision Time Protocol (PTP) [IEEE 1588 2008] ~1μsec accuracy
Mobile backhaul
Industrial automation
Power substations
But what about Software Defined Networks?
Open Networking Foundation (ONF) SDN product directory
Financial applications
~70%
~70% of the SDNenabled silicons have native PTP support.
China Mobile: over 1,000,000 PTP-enabled base stations https://mailarchive.ietf.org/arch/attach/tictoc/pdfsY1ADO.pdf Software Defined Networks: It’s About Time
9
Timed
at a Glance
Challenge:
Controller
A protocol allowing the controller to schedule network updates
Synchronized clocks
Switches Software Defined Networks: It’s About Time
10
Outline • • • • •
Background Timed updates in OpenFlow TIME4: optimal for flow swaps Evaluation Conclusion
Software Defined Networks: It’s About Time
11
A Timed SDN Protocol Challenge: defining a generic protocol for timed updates in SDN. 1. Bundle Open
2. A set of OpenFlow commands.
3. Bundle Commit.
reply
reply
e Com Bundl mit
e
N
...
s le Clo Bund
le Add Bund
1
n
le Add Bund
le Ope Bund
reply
controller
switch
Time
Bundle [OpenFlow 1.4] Software Defined Networks: It’s About Time
12
A Timed SDN Protocol: Scheduled Bundles Challenge: defining a generic protocol for timed updates in SDN. Our solution: Scheduled Bundles
OpenFlow 1.5
A generic method to schedule any OpenFlow command. Our solution has been incorporated into OpenFlow 1.5
reply
reply
reply
e
Bundle Discard: [optional] Allows network-wide atomic update.
ard
s le Clo Bund
N
e Disc Bundl
le Add Bund
1
n
le Add Bund
le Ope Bund
...
mit e Com Bundl e Ts) (at tim
controller
switch Ts Time
Commit may include scheduled time Ts Software Defined Networks: It’s About Time
Switch executes bundle at time Ts 13
Timed
at a Glance
Question: do we benefit from using time? Controller A protocol allowing the controller to schedule network updates
Synchronized clocks
Switches Software Defined Networks: It’s About Time
14
Outline • • • • •
Background Timed updates in OpenFlow TIME4: optimal for flow swaps Evaluation Conclusion
Software Defined Networks: It’s About Time
15
Flow Swaps A key benefit of SDN: Dynamic path allocation based on network load
old new
o1
...
controller o2
Software Defined Networks: It’s About Time
16
Flow Swaps A key benefit of SDN: Dynamic path allocation based on network load If O1 , O2 are not updated at the same time…
old new
Temporary congestion.
o1
...
controller o2
O2 is updated first. Software Defined Networks: It’s About Time
17
Flow Swaps A key benefit of SDN: Dynamic path allocation based on network load
TIME4
old new
If O1 , O2 are updated at the same time: No congestion!
Can updates occur at the same time? o1
...
controller o2
1. Clock synchronization. 2. Accurate scheduling, e.g., [TimeFlip, INFOCOM ‘15]. Software Defined Networks: It’s About Time
18
Existing Network Update Approaches Description
Order [Dionysus ‘14] [zUpdate ‘13] [Vanbever et al. ‘11] [Francois et al. ’07]
Two-phase
Flow swaps
Sequentially update switches in specific order
Use version tags
Version tags do not avoid congestion
[Reitblatt et al. ’12]
SWAN [Hong et al. ‘13]
B4 [Jain et al. ‘13]
TIME4
No order avoids congestion
Spare capacity for rerouting Temporarily reduce flow bandwidth
Requires resource overhead
...
Avoids congestion without resource overhead J Software Defined Networks: It’s About Time
19
Can Flow Swaps be Avoided? Problem: controller has to reroute two flows at the same time.
...
controller
Solution (?): don’t reroute. Leave flows in current paths.
Question: maybe a smart controller routing policy can avoid flow swaps?
Answer: NO! Theorem: flow swaps are inevitable. Software Defined Networks: It’s About Time
20
The Lossless Flow Allocation (LFA) Problem Goal: Prove that flow-swaps are inevitable regardless of the controller’s route allocation policy. d c
c
q1
o1
Directed graph. A special case of the unsplittable flow problem.
c
q2
... ...
o2
qm
on
s Software Defined Networks: It’s About Time
21
The LFA Game A two-player game d c
c
q1
o1
c
q2
... ...
o2
qm
on
Controller • Configures a path for each flow. • Goal: guarantee a path assignment.
Source • Progressively adds flows. • Goal: force the controller to swap.
s Software Defined Networks: It’s About Time
22
The Swap Theorem Theorem: There exists a strategy Ss for the source that forces the controller to perform an n-switch swap. d c
c
q1
o1
c
q2
... ...
o2
qm
n switches on
are updated in the flow swap
s Software Defined Networks: It’s About Time
23
The Cost of Not Swapping
Oversubscription = 100%
o1
Software Defined Networks: It’s About Time
...
controller o2
24
The Cost of Not Swapping Theorem: There exists a strategy Ss for the source that forces the controller to perform a swap with an oversubscription of 50%.
The oversubscription is 50% of the edge capacity o1
Software Defined Networks: It’s About Time
...
controller o2
25
Example: Consistent Path Update before after
Sequential update approaches: [Dionysus ‘14] [zUpdate ‘13] [Vanbever et al. ‘11] [Francois et al. ’07]
0. 1. 2. 3.
The ‘before’ configuration. Controller updates S1. X Controller updates S2. Controller updates S3.
S3
S4
S3
S4
S2
S1
S2
S1
0
1
wait…
S3
S4
S2
S1
2
Software Defined Networks: It’s About Time
wait…
S3
S4
S2
S1
S3
S4
S2
S1
3 26
Simultaneous Updates? En-route packets run into a ‘black hole’. Not consistent!
S3
S4
S3
S4
S3
S4
S3
S4
S2
S1
S2
S1
S2
S1
S2
S1
1
2
Software Defined Networks: It’s About Time
3 27
Timed Multi-phase Consistent Updates [SOSR ‘16] - The controller sends timed update messages to S1, S2, S3. - Scheduled updates occur at times T1, T2, T3. Controller does not need to wait between steps! Timed update Lower update duration. S3
S4
S3
S4
S3
S4
S3
S4
S2
S1
S2
S1
S2
S1
S2
S1
T1
T2
Software Defined Networks: It’s About Time
T3
28
Outline • • • • •
Background Timed updates in OpenFlow TIME4: optimal for flow swaps Evaluation Conclusion
Software Defined Networks: It’s About Time
29
Prototype Design Controller SDN application using time-based updates
OpenFlow controller Time-based update
supports Scheduled Bundles
offseti
Open source
Time extension
OpenFlow switch supports Scheduled Bundles
OpenFlow Agent Dpctl
Clock
PTPd Slave i
OpenFlow protocol using time extension OpenFlow Switch CPqD OFSoftswitch Switch scheduling
REVERSEPTP
Synchronization using ReversePTP [ISPCS ‘14]; customized for SDN.
PTP PTPd Master Clock
REVERSEPTP
Black building blocks: open source Timed . https://github.com/timedsdn
Switch i Software Defined Networks: It’s About Time
30
Evaluation Method • 70 nodes (Linux machines). • DeterLab testbed. • Three types of nodes: – OpenFlow switch – Controller – Host
d q2
q1
• Measured the packet loss during flow swaps.
o1
o2
H1
H2
Software Defined Networks: It’s About Time
...
controller on
Hn
31
TIME4 vs. Other Update Approaches Packet loss during a flow swap
SWAN: slightly lower packet loss than TIME4. TIME4: less resource overhead (scratch capacity). Software Defined Networks: It’s About Time
TIME4+SWAN → Low packet loss with low resource overhead. 32
TIME4: Scalability Packet loss during a flow swap Untimed: packet loss increases with the number of switches.
TIME4 is scalable!
Software Defined Networks: It’s About Time
33
Outline • • • • •
Background Timed updates in OpenFlow TIME4: optimal for flow swaps Evaluation Conclusion
Software Defined Networks: It’s About Time
34
Conclusion Why do we need Timed ?
TIME4: Dynamic Path Updates Flow swaps are provably inevitable
Scheduling protocol
OpenFlow Scheduled Bundles [OpenFlow 1.5]
The Timed
Project
http://tx.technion.ac.il/~dew/TimedSDN.html Software Defined Networks: It’s About Time
35
Thanks! The Timed
Project
http://tx.technion.ac.il/~dew/TimedSDN.html
The Why do we need time in SDN? Scheduling protocol Accurate scheduling method SDN Clock synchronization
Project
Timed Consistent Updates
TIME4: Dynamic Path Updates
ONECLOCK to Rule Them All
Data Plane Timestamping
[SOSR, ‘15]
[INFOCOM, ‘16]
[NOMS, ‘16]
[SWFAN, ‘16]
OpenFlow Scheduled Bundles
NETCONF Time Capability
[INFOCOM ’16, OpenFlow 1.5]
[NOMS ’16, RFC 7758]
TIMEFLIP
ONECLOCK
[INFOCOM ‘15]
[NOMS ‘16]
REVERSEPTP [HotSDN ‘14, ISPCS ‘14] Software Defined Networks: It’s About Time
37
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.
[17]
Open Networking Foundation, OpenFlow extensions 1.3.x package 2, 2015. Software Defined Networks: It’s About Time
38