Time synchronization is essential for the world as we know it. Everything from financial transactions to robot guidance depends on accurate time. In the high end industrial sector, where both accuracy and availability are crucial, time synchronization has so far been solved through proprietary network solutions and protocols.
In recent years, Ethernet has emerged as a promising network technology in industrial environments. The question of whether high availability and accurate time synchronization could be achieved over such networks has been raised. However, fundamental problems with Ethernet as well as the lack of a suitable synchronization protocol have so far been an obstacle.
In this thesis we will propose, analyze and demonstrate a new protocol for performing high precision synchronization in a high availability Ethernet network. The protocol, named ESNTP (Enhanced SNTP), is a proper superset of the established SNTP protocol (RFC2030), with added features for high availability, high accuracy and plug-and-play administration. ESNTP can therefore be seamlessly integrated with older SNTP equipment. When set up with the right hardware, ESNTP delivers zero configuration, low micro second accuracy and resilience to single point of failures.
Besides the specification, a full walk-through of the protocol behavior in various network topologies is provided. It discusses redundancy, precision, and common pitfalls, and provides guidelines helpful for any deployment of ESNTP.
Finally, a reference implementation of ESNTP, written in Python, is presented. The implementation is run in a simulated Ethernet environment. Transcripts from the simulation software, which verify the intended behavior of the protocol, is shown and explained