Using ReversePTP to distribute time in Software Defined Networks

Accurate time can be a useful tool in Software Defined Networks (SDN), allowing to coordinate network updates and topology changes, and to timestamp events and notifications. Moreover, accurate time is used in various environments in which software defined networking is being considered, making accurate time distribution an essential feature of SDNs. Accurate timekeeping requires a clock synchronization method, such as the Precision Time Protocol (PTP). Contrary to the centralized SDN paradigm, PTP is by nature a distributed protocol, in which every node is required to run a complex clock servo algorithm. We introduce ReversePTP, a clock synchronization protocol for SDN. ReversePTP is based on PTP, but is conceptually reversed; in ReversePTP all nodes (switches) in the network distribute timing information to a single node, the controller, that tracks the state of all the clocks in the network. Hence, all computations and bookkeeping are performed by the controller, whereas the `dumb' switches are only required to send it their current time periodically. In accordance with the SDN paradigm, the controller is the `brain', making ReversePTP flexible and programmable from an SDN programmer's perspective. We present the ReversePTP architecture, and discuss how SDN applications that require accurate time can use ReversePTP. Our experimental evaluation of a network with 34 ReversePTP-enabled nodes shows that ReversePTP can be effectively used for coordinating events in networks at the same level of accuracy as provided by the conventional PTP.

[1]  David L. Mills,et al.  Improved algorithms for synchronizing computer network clocks , 1995, TNET.

[2]  David Walker,et al.  Abstractions for network update , 2012, SIGCOMM '12.

[3]  Tal Mizrahi,et al.  On the Necessity of Time-based Updates in SDN , 2014, ONS.

[4]  J. Ridoux,et al.  Robust Synchronization of Absolute and Difference Clocks Over Networks , 2009, IEEE/ACM Transactions on Networking.

[5]  Danny Dolev,et al.  Fault-tolerant clock synchronization , 1984, PODC '84.

[6]  Tal Mizrahi,et al.  Security Requirements of Time Protocols in Packet Switched Networks , 2014, RFC.

[7]  Tal Mizrahi,et al.  Time-based updates in software defined networks , 2013, HotSDN '13.

[8]  Michael Zimmer,et al.  Using Ptides and synchronized clocks to design distributed systems with deterministic system wide timing , 2013, 2013 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication (ISPCS) Proceedings.

[9]  Jelena Mirkovic,et al.  Teaching Cybersecurity with DeterLab , 2012, IEEE Security & Privacy.

[10]  Tal Mizrahi Time synchronization security using IPsec and MACsec , 2011, 2011 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication.

[11]  David L. Mills,et al.  Network Time Protocol Version 4: Protocol and Algorithms Specification , 2010, RFC.

[12]  Kang Lee,et al.  IEEE 1588 standard for a precision clock synchronization protocol for networked measurement and control systems , 2002, 2nd ISA/IEEE Sensors for Industry Conference,.

[13]  Tal Mizrahi,et al.  Time-based Updates in OpenFlow : A Proposed Extension to the OpenFlow Protocol , 2013 .

[14]  Sam Toueg,et al.  Optimal clock synchronization , 1985, PODC '85.

[15]  Edward A. Lee,et al.  PTIDES: A Programming Model for Distributed Real-Time Embedded Systems , 2008 .

[16]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[17]  Tal Mizrahi,et al.  ReversePTP: a software defined networking approach to clock synchronization , 2014, HotSDN.

[18]  Olivier Bonaventure,et al.  Avoiding Transient Loops During the Convergence of Link-State Routing Protocols , 2007, IEEE/ACM Transactions on Networking.

[19]  M. Branicky,et al.  Design Considerations for Software Only Implementations of the IEEE 1588 Precision Time Protocol , 2005 .