OpenClock: A Testbed for Clock Synchronization Research

Clock synchronization protocols have always been tested and compared in controlled environments. The hardware variability of different platforms, and network variability in communication channels is often ignored. Most of the synchronization algorithms are not tested for faults, failures or adversarial attacks because it is hard to reproduce them on different devices. The presence of few clocks on a single device limits the use of one device to test multiple synchronization protocols at once. For fair comparison of multiple synchronization protocols, we assert that it is essential for their disciplinable clocks to be derived from the same clock hardware, and that they process the same network traffic. We propose OpenClock, a clock synchronization testbed that manages synchronization resources and provides multiple disciplinable clocks on a single platform. OpenClock features a rich set of clocks for modular and extensible design, and an attack simulator for testing algorithmic resilience. Users can leverage the attack capability to find vulnerabilities, and test the resilience of synchronization algorithms. We prototype OpenClock on an embedded platform and ×86 desktop. We evaluate variants of PTP and NTP protocols on the embedded platform under various clock parameters, disciplining mechanisms, and attack scenarios.

[1]  Keith Marzullo,et al.  Maintaining the time in a distributed system , 1985, OPSR.

[2]  David L. Mills,et al.  Internet time synchronization: the network time protocol , 1991, IEEE Trans. Commun..

[3]  Kang G. Shin,et al.  Fingerprinting Electronic Control Units for Vehicle Intrusion Detection , 2016, USENIX Security Symposium.

[4]  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,.

[5]  Cristian Marinescu,et al.  Design and implementation of a PTP clock infrastructure for the Linux kernel , 2010, 2010 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication.

[6]  Yi-Fan Zhang,et al.  Cyclops: PRU programming framework for precise timing applications , 2017, 2017 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control, and Communication (ISPCS).

[7]  Anthony Rowe,et al.  Timeline: An Operating System Abstraction for Time-Aware Applications , 2016, 2016 IEEE Real-Time Systems Symposium (RTSS).

[8]  Gyula Simon,et al.  The flooding time synchronization protocol , 2004, SenSys '04.

[9]  Mani B. Srivastava,et al.  Precision time protocol over LR-WPAN and 6LoWPAN , 2017, 2017 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control, and Communication (ISPCS).