NTP stands for Network Time Protocol and it is a standard internet protocol. NTP was developed at the University of Delaware by Professor David L Mills. The first official specification of NTP as a member of the internet protocol family came out in 1985. In essence, NTP is a protocol which synchronizes multiple internet clocks. It synchronizes the time of different servers and systems at accuracy of 1 nanosecond, while also looking out for possible lags in the local system clock. Previously, the protocols used for this function were ICMP and the time protocol. Based on the user datagram protocol (UDP), NTP enables data transport in a connectionless manner.
How Does NTP Work?
Network Time Protocol uses the coordinated universal time (UTC), a standard set since 1972. Various sources like radio and satellites are used to coordinate the UTC. The global positioning system (GPS) is also fully equipped to receive and transmit signals. Then there are primary time servers created as a cost-reduction measure. These servers work actively to sync the clocks on computers present on their network.
Synchronization is a complex function simplified by creating hierarchies or ‘strata’, based on the distance from the closest UTC source. Many algorithms also come into place to reduce short and long-term fluctuations in clock syncing. Troubleshooting algorithms also play a major part in finding delays and updating clocks as soon as possible.
The process begins when an NTP client initiates a request of time exchange from the NTP server. Then the client can calculate link delay and adjust their clock with the server’s computer. Six such exchanges are required (as a rule) over 5 to 10 minutes to sync the clock. When the clock is synchronized, the client will keep updating it every 10 minutes. You can also run broadcast sync of peer computer clocks through NTP. All these functions occur through the user datagram protocol on port 123.
Important Features of NTP
Here is a list of the common features of the network time protocol:
- NTP always requires a reference clock to define the true time of any computer. All clocks will point towards that true time as defined by standards. UTC is that standard true clock in most cases.
- NTP tolerates fault by selecting the best and most relevant time to sync all clocks. When there are multiple results, NTP will combine them to minimize system errors.
- NTP is scalable with several reference clocks and hierarchies
- NTP has several resources at its disposal to select the best candidate for the most relevant time. This feature makes NTP a highly accurate protocol
- When the network connection is unavailable, NTP will gather previous data to project current time with minimal error
How Many Versions of NTP are there?
The answer to this question is not simple because various implementations of NTP are available. Currently, version three and four are under use while experiments are running on version four. However, the internet’s official standard is version three NTPv3. If you are concerned about compatibility issues, you should know that older clients can also communicate with newer clients, but this communication requires manual assistance. NTPv4 aims to cover most modern operating systems and provide revised drivers for reference clocks.
Which OS is Compatible with NTP?
NTP was initially created for UNIX devices, and the protocol is still present in these systems in the shape of a background process titled ‘ntpd.” This acts as an NTP server for systems as well as a client that synchronizes the local system. ntpd has also been the preferred choice for deployed NTP inn Linux environments. timesyncd is what the new systems rely on, and it’s a part of the system manage. Today, NTP is also used for Windows and Mac devices to get UTC through internet.
As you can see, NTP delivers basic protocol mechanisms for synchronize time between systems to a nanosecond accuracy. Plus, it provides users with regulations to define the probable sources of error as well as the accuracy of local clock system. NTP only defines the message format and data representation type. It does not filer algorithms or synchronize those. It can maintain time within “tens of milliseconds” under normal circumstances.