Computerhelp4all logo Articles AboutTopicsQuizzesComputer Questions & AnswersComputer Terms & DefinitionsActivitiesContact

What Is NTP?

What Is NTP

Date First Published: 14th May 2022

Topic: Computer Networking

Subtopic: Internet Protocols

Article Type: Computer Terms & Definitions

Difficulty: Advanced

Difficulty Level: 9/10

Learn more about what NTP is in this article.

Not to be confused with NNTP (Network News Transfer Protocol).

Short for Network Time Protocol, NTP is an application-layer protocol used for the synchronisation of computer clocks between multiple computer systems across variable-latency networks. NTP is one of the oldest protocols on the internet that was developed by David L. Mills at the University of Delaware in the 1980s.

Built-in time-syncing utilities, such as Windows and macOS use this protocol. For example, Windows includes an 'Internet Time' feature in the Date and Time Control Panel, which requests the current time from a server. In macOS, NTP is used to request the current date and time when the option 'Set date and time automatically' is ticked in the Date and Time System Preference.

Note: Info Icon

NTP is usually capable of maintaining time as accurate as ten milliseconds on the internet. In LANs, it may maintain a time that is more accurate than one millisecond. However, network congestion and asymmetric congestion may cause errors and inaccuracy of more than 100 milliseconds.

How Does NTP Work?

NTP works by matching the timestamps of two or more computer systems and then synchronising all computers within a few milliseconds of UTC. It makes use of the intersection algorithm to select accurate time servers and relieve the effects of variable network latency. NTP communicates between servers and clients using the UDP protocol on port 123. Broadcasting and multicasting can also be used, where clients pay attention to time updates after an exchange of information.

NTP makes use of the client-server model and calculates the round-trip delay using the following information:

  • The client request timestamp.
  • The server reception timestamp.
  • The server response timestamp.
  • The client response timestamp.

It is recommended to make more than one NTP request as network conditions, such as network congestion may have an effect on the period of time that it takes for an NTP packet to be received. Making one NTP request may not give accurate results. NTP is used as a peer-to-peer protocol when synchronising multiple computer systems at once, where each system is a time source.

Versions

The current version of the protocol is NTPv4, which was defined in RFC 5905. NTPv3 was defined in RFC 1305, NTPv2 in RFC 1119, and NTPv1 in RFC 1059.

NTPv0 was used in Fuzzball as well as Unix. Both the NTP packet header and the round-trip delay and offset calculations were defined in RFC 958. They persisted in NTPv4.

NTPv1 was released in 1988. It included associated algorithms and was the first version to describe the client-server and peer-to-peer models. A larger community was made aware of the NTPV1 protocol and algorithms with the publication of the article by David L. Mills in the IEEE Transactions on Communications.

NTPv2 was released in 1989. This version introduced a cryptographic protocol as well as a management protocol. However, the design was disapproved by the DTSS community due to the lack of formal correctness.

NPTv3 was released in 1992. This version introduced an analysis of all sources of error from the reference clock to the final client. It also enabled functionality to calculate a metric that helped to decide the ideal server. In addition, broadcast mode was introduced.

NPTv4, the current version of the protocol that is used today was released in 2010. The addition of new features and improvements to algorithms made it clear that a new protocol version is required.

TCP/IP Protocol
Application layer BGPDHCPDNSFTPHTTPIMAPLDAPMGCPNNTPNTPOSPFPOPPTPONC/RPCRTPRTSPRIPSIPSMTPSNMPSSHTelnetXMPP
Transport layer TCPUDPDCCPSCTPRSVPQUIC
Internet layer IPICMPNDPECNIGMP.
Link layer TunnelsPPPMAC


Feedback

  • Is there anything that you disagree with on this page?
  • Are there any spelling, grammatical, or punctuation errors on this page?
  • Are there any broken links or design errors on this page?

If so, it is important that you tell me as soon as possible on this page.