Network Time Protocol (NTP)

Concept illustration of the Network Time Protocol (NTP)

NTP provides time synchronization over a packet-based network. It is very important to understand that it depends on the application of the application which protocol has to be selected. In addition to this protocol, there is also the Precision Time Protocol (PTP).

This article explains the functional principle of the NTP protocol, examples and highlights. The description given here enables you to understand the advantages of it and helps you to choose the right solution for your needs.

Quick Links

Overview

NTP (Network Time Protocol) is a public domain software package that implements the TCP/IP network protocol of the same name. Initiated in the 1980s by Dave L. Mills, NTP aimed to achieve highly accurate time synchronization for computers across networks. This protocol, along with its algorithms, has been detailed in multiple RFCs and has seen continual optimization. Today, it is used globally, offering time accuracy down to nanoseconds. However, the maximum precision achieved also depends on the operating system and network performance.

There are currently two versions in use, which can be mixed: v3, the latest stable version compatible with many operating systems, and v4, which offers improvements and better support for some systems. Additionally, a simplified protocol version, SNTP (Simple Network Time Protocol), exists. SNTP uses the same TCP/IP packet structure but offers significantly less precision due to simpler algorithms. The software includes a background service that synchronizes a computer's system time with external reference sources, such as other network devices or a connected radio clock.

The NTP suite also features tools for controlling and monitoring time synchronization status, along with comprehensive HTML documentation.

2. Network Time Protocol Global standard (RFC 1305, 5905)

NTP is an old internet protocol, which is still widely used to distribute time. It provides a simple way to synchronize all device over a regular network and even over the public internet. To ensure a reliable time in a local network, the best solution is to place an NTP server, which is connected to a GNSS Antenna, into the network. Whereas time is needed for clocks, access control systems and other such systems, the accuracy is sufficient. The benefit is its robustness and its ability to run on standard IT equipment.

It uses the user datagram protocol UDP to transmit the requests and replies. NTP supports three different modes.

2.1 Synchronization principle – NTP Unicast

To synchronize its clock with a remote server, the client must compute the round-trip delay time and the offset. The round-trip delay is computed as

Network Time Protocol (NTP)

where
t0 is the client's timestamp of the request packet transmission,
t1 is the server's timestamp of the request packet reception,
t2 is the server's timestamp of the response packet transmission and t3 is the client's timestamp of the response packet reception.

Therefore
t3 − t0 is the time elapsed on the client side between the emission of the request packet and the reception of the response packet and t2 − t1 is the time the server waited before sending the answer. The offset θ is given by

Network Time Protocol (NTP)
The synchronization is correct when both the incoming and outgoing routes between the client and the server have symmetrical nominal delay.

2.1.1 DHCP or manually assign IP addresses

The Dynamic Host Configuration Protocol (DHCP) enables the network configuration to be assigned to clients by a server.

Network with DHCP server:
If a DHCP server is available in a network with Unicast, the end devices such as clocks can simply be connected to a switch/router and the network parameters and the server address(es) are assigned automatically.

Network without DHCP server:
If no DHCP server is available, management software such as MOBA-NMS (Network Management System) is required. This software can be used to configure the end devices manually.

2.2 Synchronization principle – NTP Multicast

Multicast is a type of broadcast, but only for a defined group of end devices. The end devices register their group membership with a dummy IP address via IGMP (Internet Group Management Protocol) on the switch or router. The switch / router registers to which port it has to send which multicast packets. This type of time synchronization only puts a minimal load on the network, as communication only takes place in one direction and only to the participants in the same multicast group.

Multicast definitions:
– The clients join a group and “listen in“ on the group address
– The clients do not need an IP address
– The clients do not need an IP address.
– The server sends data to the group address
– Unidirectional communication
– The group address is an IP address in the range from 224.0.0.0 to 239.255.255.255

2.3 Broadcast Synchronization

Synchronization via broadcast is not important in practice, as most networks do not allow broadcast communication. Broadcast communication can place quite a heavy load on networks as the packets are sent to all clients. This is not desirable in many cases.

Definitions for Broadcast:
–  Messages are sent to all clients within the same network
–  Reserved IP address: 255.255.255.255
–  Clients are unknown to the server
–  Unidirectional communication

2.4 Comparison between Unicast and Multicast

Multicast

  1. The master clock periodically sends time and optionally time zone informations on a configured group address. All slave clocks that are configured to the same group address receive the informations and display the corresponding time.
  2. No administration / assignment of IP addresses necessary.
  3. No further configuration necessary. The slave clocks can be identified through their unique MAC address (imprint on MAC label).
  4. Practically no network load (1 packet reaches the whole group). Unidirectional communication.
  5. Network delays influence the precision of the slave clocks (changeover WLAN / LAN: 100 ms possible)
  6. Multicast addressed packets can be sent over network limits (router) using IGMP. Possibly, one master clock per subnet is needed if there is no Multicast support by the router.

Unicast

  1. Each slave clock periodically inquires time and optionally time zone informations from the master clock.
  2. Each slave clock has an own IP address that must be assigned either through a DHCP server or the network administrator.
  3. The slave clocks can be identified though their unique IP address or the unique MAC address (imprint on MAC label). ICMP ping to the IP address possible.
  4. Significantly higher network load due to “polling“ of the information by the clients. Bidirectional communication.
  5. Runtime compensation possible. Thus network delays don‘t have any influence on the precision anymore, as long as the delays are symmetrical.
  6. Unicast addressed packets are sent over network limits (router).

3. Definition of Stratum in the NTP Time Synchronization

NTP uses a hierarchical system of levels of clock sources. Each level of this hierarchy is termed a stratum and is assigned a layer number starting with zero at the top. The stratum level defines its distance from the reference clock. It is important to note that the stratum is not an indication of quality or reliability. This definition of stratum is also different from the notion of clock strata used in telecommunication systems.

Yellow arrows indicate a direct connection; red arrows indicate a network connection.

GNSS clocks are usually considered as stratum 0 clock. That means a NTP-Server, synchronized by a GNSS time signal receiver, represents a stratum 1 clock.

➡️ You can find out more about GNSS in this article

4. Applications for Time Synchronization via Network

4.1 Railways, IT networks, hospitals

Main time server in redundant design (optional), GPS synchronized. Local time servers are used at the various stations (locations). The LAN clocks are normally synchronized by the local time servers. In the event of a failure, they can also be synchronized directly by the main time server.

Network Time Protocol (NTP)

4.2 Industries and Universities

The main time server, GPS synchronized, synchronizes the entire network. Local time servers are used at the various stations (locations). The local self-setting clocks are usually synchronized with MOBALine via a 2-wire line.

Network Time Protocol (NTP)

5. How can MOBATIME support?

MOBATIME provide NTP and PTP products, which offers highly precise interfaces such as PRC, PTP IEEE1588 V2, NTP, etc. with an advantage of precision in accuracy as well as traceability. Grandmasters and Time Server are equipped with crystal or atomic oscillators to provide time, pulse, phase & frequency solutions supporting synchronization using Global Navigation Satellite System for a mid or large infrastructure network.

NTP Time Servers synchronize your networks with high precision and reliability. All systems in the IT network have the exact time thanks to synchronization via the Network Time Protocol. Events can therefore be arranged chronologically thanks to precise time stamps.

  High-Precision time for all network environments
  Network Time Protocol time server for various applications
  Combination time server master clock for use in complex clock systems

6. FAQs about NTP

In multicast mode, the number of clients is practically unlimited, as the NTP time packets are sent to all clients simultaneously. Modern NTP servers can process several hundred requests per second without loss of accuracy, which in most cases is sufficient to serve hundreds of clients. If the time intervals are set differently for the clients, a thousand or more clients can easily be connected.