Today we are going to discuss timing and synchronization of devices on an Ethernet network. Synchronization of packet cadence is necessary for time-sensitive applications work like they’re supposed to.
Ethernet is considered (for the most part) a non-deterministic networking scheme, using “best effort” and requiring handshakes and confirmation. While this makes it inherently reliable, it also makes Ethernet natively unsuitable for time-sensitive applications — such as voice/video over IP, robotic (motion) control, industrial automation, etc. — that require real-time communication or time synchronization.
The IEEE 1588 Precision Time Protocol (released in 2002 and updated in 2008) was developed specifically for applications operating over non-deterministic Ethernet networks. It operates at layer 2 (the data link layer) of the network and overcomes Ethernet latency and jitter issues through hardware time stamping at layer 1 (the physical layer) of the network. Software timestamping is now available, but not to the precision that hardware-based timestamping enables. The Precision Time Protocol, as defined in the IEEE-1588 standard, provides a method to precisely synchronize compute devices over a local area network (LAN) or wide area network (WAN) using “clock synchronization.” However, if two clocks are set at the same rate, there is no guarantee that they will stay in synchronization. Therefore the synchronization process must be continuous.
Clock synchronization on the LAN/WAN requires at least one master and one slave clock — multiple slaves can synchronize to a single master. The master clock provides synchronization messages that the slaves use to correct their local clocks. Precise timestamps are captured at the master and slave clocks. These timestamps are then used to determine the network latency which is required to synchronize the slave to the master. A sync message is transmitted typically every two seconds from the master, and a delay request message from a slave is transmitted less frequently, approximately one request per minute.
Ethernet switches are categorized as either standard Ethernet switches or IEEE-1588 enabled Ethernet switches.
The IEEE 1588 protocol defines three kinds of clocks (or switches):
a. Ordinary: A device with a single network connection, either the source of (master) or destination for (slave) a synchronization reference.
b. Boundary: A device with multiple network connections that can accurately synchronize one network segment to another. A synchronization master is selected for each of the network segments in the system. The root timing reference is called the grandmaster.
c. Transparent: A multi-port device that forwards precision time protocol messages, measuring the time taken for event messages to pass through the device, and accounts for this residence time by modifying the message, or by sending a separate follow-up message.
A standard Ethernet switch temporarily stores packets before sending them out. The storing time of the packet is non-deterministic and network load-dependent, which results in packet delay variation. The packet delay variation is the primary reason for poor time synchronization on the network, even when there are master and slave devices on the network that support hardware timestamping. An IEEE-1588 enabled Ethernet switch is either a transparent device or a boundary device that improves synchronization between the master and slaves, thus ensuring that the master and slaves are not impacted by packet delay variation.
As Ethernet becomes ubiquitous on mobile military platforms, advanced applications such as communication, video and robotics will require this advanced timing and synchronization of networked devices. Using open architecture and standardizing on Ethernet as a common communication platform while using IEEE-1588 standards will ensure calibrated communications between all devices on the network to provide Ethernet reliability with deterministic, real-time communications.