|Ph.D Student||Mizrahi Tal|
|Subject||Using Time in Software Defined Networks|
|Department||Department of Electrical Engineering||Supervisor||Professor Yoram Moses|
|Full Thesis text|
This dissertation analyzes the use of accurate time to coordinate network configuration updates. Specifically, this work focuses on centralized network architectures, such as Software Defined Networks (SDN). It is shown that time is a powerful tool in centralized environments such as SDN.
Time can be beneficial in a wide variety of network update scenarios. The current research focuses on two key scenarios in which using time has a significant advantage over state-of-the-art approaches. First, we characterize a set of update scenarios called flow swaps, for which timed updates are the optimal update approach, yielding less packet loss than existing update approaches. We define the lossless flow allocation problem, and formally show that in environments with frequent path allocation, scenarios that require simultaneous changes at multiple network devices are inevitable. Second, we analyze the use of accurate time to coordinate consistent network updates. We show that time-triggered updates can be performed in a manner that guarantees consistency, while requiring less resource overhead than existing network update methods.
This research work defines extensions to standard network protocols, enabling practical implementations of our concepts.
We define a new feature in OpenFlow called Scheduled Bundles, which has been incorporated into the OpenFlow 1.5 protocol. A similar capability was defined for the NETCONF protocol, and has been published as an RFC by the Internet Engineering Task Force (IETF).
A key challenge in time-triggered updates is accurate scheduling; even if network devices have perfectly synchronized clocks, how can we
guarantee that updates are performed at the exact time for which they were scheduled? In this work we present and analyze two accurate scheduling methods. The first uses Ternary Content Addressable Memory (TCAM) ranges in hardware switches. The second is a prediction-based scheduling approach that uses timing information collected at runtime to accurately schedule future operations. Both methods are shown to be practical and efficient.
The current work also introduces a clock synchronization scheme that is adapted to the centralized SDN environment; in \rptp\ all nodes (switches) in the network distribute timing information to a single software-based central node (the SDN controller), that tracks the state of all the clocks in the network. Hence, all computations and bookkeeping are performed by the central node, whereas the `dumb' switches are only required to periodically send it their current time. In accordance with the SDN paradigm, the `brain' is implemented in software, making REVERSEPTP flexible and programmable from an SDN programmer's perspective.