Network Time Protocol

Share on Facebook Share on Twitter Email

abbr.
normal temperature and pressure


(Network Time Protocol) A TCP/IP protocol used to synchronize the real-time clock in computers, network devices and other electronic equipment that is time sensitive. It is also used to maintain the correct time in NTP-based wall and desk clocks.

The Coordinated Universal Time (UTC) can be obtained over the Internet, which contains numerous primary and secondary time servers, or it can be acquired from stand-alone devices that receive atomic clock signals from the GPS system. For more information, visit www.ntp.org. See UTC and time server.

Keep In Sync
Symmetricom's SymmTime synchronizes your computer's real-time clock from any NTP server around the world. You can also display multiple time zones in a variety of digital and analog formats. To download this nifty program, visit www.ntp-systems.com.

Out of Sync
When you run Symmetricom's LMCheck utility, which displays the time from all machines in the network, you'll be hard pressed to find any two that are truly in sync. Desktop computer clock circuits cost only a few cents and tend to drift, which is why a network time server is required to keep every machine synchronized. To download LMCheck, visit www.ntp-systems.com (LMCheck uses a LAN Manager function, hence the LM).

Synchronization and Security
Time servers are stand-alone devices that obtain and distribute the correct time to all machines in the network. This SyncServer from Symmetricom offers maximum security. It uses the GPS to get the time without having to keep a TCP/IP port open to hackers via the Internet. It is also offered with a rubidium atomic clock that keeps rock solid time when the GPS signals are not available. (Image courtesy of Symmetricom, Inc., www.symmetricom.com)

Download Computer Desktop Encyclopedia to your PC, iPhone or Android.

Top
is short for:

Meaning Category
Department of Energy National Transportation ProgramGovernmental->Transportation
Governmental->US Government
N Terminal PeptideMiscellaneous->Unfiled
National Tenant Network, Inc.Business->Firms
National Time ProtocalMiscellaneous->Unfiled
National Toxicology ProgramMedical->Laboratory
National Toxicology Program (U.S.)Governmental->FDA
National Transition NetworkBusiness->Positions
National Transportation PolicyGovernmental->Transportation
Naval Telecommunications PublicationGovernmental->Military
Neo Tech PublishingCommunity->Media
Net Transport ProperMiscellaneous->Unfiled
Network Test PanelGovernmental->NASA
Network Time ProtocolComputing->Networking
Network Tme ProtocolMiscellaneous->Unfiled
Network Transfer ProtocolMiscellaneous->Unfiled
New Tip PlacementMiscellaneous->Unfiled
New Training ProgramGovernmental->Military
Next Time PacketComputing->Networking
Normal Temperature PressureMiscellaneous->Unfiled
Normal Temperature and PressureAcademic & Science->Chemistry
Medical->Physiology
Governmental->NASA
Northern Telecom ProductsMiscellaneous->Unfiled
Not Too ProbativeMiscellaneous->Unfiled
NoteTab ProComputing->Software
Notice To ProceedGovernmental->US Government
Governmental->NASA
Number Of Theoretical PlatesMiscellaneous->Unfiled
Numerous Time ProgrammableComputing->Hardware

Click here to submit an acronym.


Wikipedia on Answers.com:

Network Time Protocol

Top

Network Time Protocol (NTP) is a networking protocol for synchronizing the clocks of computer systems over packet-switched, variable-latency data networks.

In operation since before 1985, NTP is one of the oldest Internet protocols in use. NTP was originally designed by David L. Mills of the University of Delaware, who still develops and maintains it with a team of volunteers.

NTP uses the User Datagram Protocol (UDP) on port number 123.

NTP is not related to the simpler Daytime Protocol (RFC 867) or the Time Protocol (RFC 868).

Contents

Overview

NTP provides Coordinated Universal Time (UTC) including scheduled leap second adjustments. No information about time zones or daylight saving time is transmitted; this information is outside its scope and must be obtained separately.

NTP uses Marzullo's algorithm and is designed to resist the effects of variable latency. NTP can usually maintain time to within tens of milliseconds over the public Internet,[1] and can achieve 1 millisecond accuracy in local area networks under ideal conditions.[2]

As of June 2010, the current reference implementation is version 4 (NTPv4), which is a proposed standard as documented in RFC 5905. It succeeds version 3, specified in RFC 1305.

The protocol uses the User Datagram Protocol (UDP) on port number 123.[3]

A less complex implementation of NTP, using the same protocol but without requiring the storage of state over extended periods of time, is known as the Simple Network Time Protocol (SNTP). It is used in some embedded devices and in applications where high accuracy timing is not required (RFC 1361, RFC 1769, RFC 2030, RFC 4330 and RFC 5905).

NTP software implementations

Unix

For modern Unix systems, the NTP client is implemented as a daemon process that runs continuously in user space (ntpd). Because of sensitivity to timing, however, it is important to have the standard NTP clock phase-locked loop implemented in kernel space. All recent versions of Linux, BSD, Mac OS X, Solaris and AIX are implemented in this manner.

The NTP packet is a UDP datagram, carried on port 123.[4]

Microsoft Windows

Microsoft Windows NT 4.0 did not come with an NTP implementation. The reference implementation of NTP can be used on NT4 systems.[5]

All Microsoft Windows versions since Windows 2000 and Windows XP include the Windows Time Service ("w32time"),[6] which has the ability to sync the computer clock to an NTP server. The version in Windows 2000 and Windows XP only implements Simple NTP, and violates several aspects of the NTP version 3 standard.[7] Beginning with Windows Server 2003 and Windows Vista, a compliant implementation of full NTP is included.[8]"

However, Microsoft does not guarantee that the Windows Time Service will be particularly accurate and will not support even 1-second accuracy:

The W32Time service is not a full-featured NTP solution that meets time-sensitive application needs. The W32Time service is primarily designed to do the following:

  • Make the Kerberos version 5 authentication protocol work.
  • Provide loose sync time for client computers.
The W32Time service cannot reliably maintain sync time to the range of 1 to 2 seconds. Such tolerances are outside the design specification of the W32Time service.[9]

Clock strata

Yellow arrows indicate a direct connection; red arrows indicate a network connection.
The U.S. Naval Observatory Alternate Master Clock at Schriever AFB (Colorado) is a Stratum 0 source for NTP

NTP uses a hierarchical, semi-layered system of levels of clock sources. Each level of this hierarchy is termed a stratum and is assigned a layer number starting with 0 (zero) at the top. The stratum level defines its distance from the reference clock and exists to prevent cyclical dependencies in the hierarchy. It is important to note that the stratum is not an indication of quality or reliability, it is common to find stratum 3 time sources that are higher quality than other stratum 2 time sources. This definition of stratum is also different from the notion of clock strata used in telecommunication systems.

Stratum 0
These are devices such as atomic (caesium, rubidium) clocks, GPS clocks or other radio clocks. Stratum-0 devices are traditionally not attached to the network; instead they are locally connected to computers (e.g., via an RS-232 connection using a pulse per second signal).
Stratum 1
These are computers attached to Stratum 0 devices. Normally they act as servers for timing requests from Stratum 2 servers via NTP. These computers are also referred to as time servers.
Stratum 2
These are computers that send NTP requests to Stratum 1 servers. Normally a Stratum 2 computer will reference a number of Stratum 1 servers and use the NTP algorithm to gather the best data sample, dropping any Stratum 1 servers that seem obviously wrong. Stratum 2 computers will peer with other Stratum 2 computers to provide more stable and robust time for all devices in the peer group. Stratum 2 computers normally act as servers for Stratum 3 NTP requests.
Stratum 3
These computers employ exactly the same NTP functions of peering and data sampling as Stratum 2, and can themselves act as servers for lower strata.

While NTP (depending on what version of NTP protocol in use) supports up to 256 strata, only the first 16 are employed and any device at Stratum 16 is considered to be unsynchronized.

NTP timestamps

The 64-bit timestamps used by NTP consist of a 32-bit part for seconds and a 32-bit part for fractional second, giving NTP a time scale that rolls over every 232 seconds (136 years) and a theoretical resolution of 2−32 seconds (233 picoseconds). NTP uses an epoch of January 1, 1900. The first rollover occurs in 2036, prior to the UNIX year 2038 problem.

Implementations should disambiguate NTP time using a knowledge of the approximate time from other sources. Since NTP only works with the differences between timestamps and never their absolute values, the wraparound is invisible as long as the timestamps are within 68 years of each other. This means that the rollover will be invisible for most running systems, since they will have the correct time to within a very small tolerance. However, systems that are starting up need to know the date within no more than 68 years. Given the large allowed error, it is not expected that this is too onerous a requirement. One suggested method is to set the clock to no earlier than the system build date. Many systems use a battery powered hardware clock to avoid this problem.

Even so, future versions of NTP may extend the time representation to 128 bits: 64 bits for the second and 64 bits for the fractional-second. The current NTP4 format has support for Era Number and Era Offset, that when used properly should aid fixing date rollover issues. According to Mills, "The 64 bit value for the fraction is enough to resolve the amount of time it takes a photon to pass an electron at the speed of light. The 64 bit second value is enough to provide unambiguous time representation until the universe goes dim."[10][note 1]

Clock synchronization algorithm

To synchronize its clock with a remote server, the NTP client must compute the round-trip delay time and the offset. The round-trip delay is computed as \delta = (t_3 - t_0 ) - ( t_2- t_1 ), where t_0 is the time of the request packet transmission, t_1 is the time of the request packet reception, t_2 is the time of the response packet transmission and t_3 is the time of the response packet reception.  t_3 - t_0 is the time elapsed on the client side between the emission of the request packet and the reception of the response packet, while  t_2- t_1 is the time the server waited before sending the answer. The offset is given by \theta = {(t_1 - t_0) + (t_2 - t_3 ) \over 2}.[11]

The NTP synchronization is correct when both the incoming and outgoing routes between the client and the server have symmetrical nominal delay. If the routes do not have a common nominal delay, the synchronization has a systematic bias of half the difference between the forward and backward travel times.[12]

Leap seconds

NTP delivers UTC time. UTC is subject to scheduled leap seconds to synchronize the timescale to the rotation of the earth. When a leap second is added, NTP is suspended for 1 second. Because NTP has no mechanism for remembering the history of leap seconds, leap seconds cause the entire NTP timescale to shift by 1 second.[13][14]

Security concerns

Only a few security problems have been identified in the reference implementation of the NTP codebase in its 25+ year history.[15][16] The protocol has been undergoing revision and review over its entire history. As of January 2011, there are no security revisions in the NTP specification and no reports at CERT.[17] The current codebase for the reference implementation has been undergoing security audits from several sources for several years now, and there are no known high-risk vulnerabilities in the current released software.[18]

See also

Other time synchronization protocols:

Notes

  1. ^ 2−64 seconds is about 54 zeptoseconds (light would travel 16.26 picometres, or approximately 0.31 × Bohr radius ), and 264 seconds is about 585 billion years.

References

  1. ^ "Executive Summary: Computer Network Time Synchronization". http://www.eecis.udel.edu/~mills/exec.html. Retrieved 2011-11-21. 
  2. ^ "NTP FAQ". The NTP Project. http://www.ntp.org/ntpfaq/NTP-s-algo.htm#Q-ACCURATE-CLOCK. Retrieved 2011-08-27. 
  3. ^ "Port Numbers". The Internet Assigned Numbers Authority (IANA). http://www.iana.org/assignments/port-numbers. 
  4. ^ http://tools.ietf.org/html/rfc5905 Page 16
  5. ^ "NTP 4.x for Windows NT". NTP Documentation Archive. http://doc.ntp.org/4.2.6/hints/winnt.html. Retrieved 2011-01-12. 
  6. ^ "Windows Time Service Technical Reference". technet.microsoft.com. 2011-08-17. http://technet.microsoft.com/en-us/library/cc773061%28WS.10%29.aspx. Retrieved 2011-09-19. 
  7. ^ "Windows Time Service page at NTP.org". Support.ntp.org. 2008-02-25. http://support.ntp.org/bin/view/Support/WindowsTimeService. Retrieved 2011-01-12. 
  8. ^ "How the Windows Time Service Works". technet.microsoft.com. 2010-03-12. http://technet.microsoft.com/en-us/library/cc773013%28WS.10%29.aspx. Retrieved 2011-09-19. 
  9. ^ http://support.microsoft.com/kb/939322
  10. ^ University of Delaware Digital Systems Seminar presentation by David Mills, 2006-04-26
  11. ^ Mills, David L. (2005), NTP Clock Discipline Modelling and Analysis, p. 10, http://www.eecis.udel.edu/~mills/database/brief/algor/algor.pdf, retrieved 2011-07-13 
  12. ^ Gotoh, T; Imamura, K; Kaneko, A (2002). "Improvement of NTP time offset under the asymmetric network with double packets method". Conference on Precision Electromagnetic Measurements. pp. 448–449. doi:10.1109/CPEM.2002.1034915. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1034915&userType=inst 
  13. ^ David Mills. "The NTP Timescale and Leap Seconds". http://www.eecis.udel.edu/~mills/leap.html. Retrieved 2011-09-15. 
  14. ^ David Mills. "NTP Timescale and Leap Seconds". http://doc.ntp.org/4.1.2/leap.htm. Retrieved 2011-09-15. 
  15. ^ "Security Notice". Support.ntp.org. 2009-12-10. http://support.ntp.org/security. Retrieved 2011-01-12. 
  16. ^ results returned by a search on "Network Time Protocol" at http://cert.org]
  17. ^ in RFC 778, RFC 891, RFC 956, RFC 958, RFC 1305, RFC 5905, and the NTPv4 specification, and no results returned by a search on "Network Time Protocol" at http://cert.org]
  18. ^ "Code Audit". Support.ntp.org. 2009-06-13. http://support.ntp.org/Main/CodeAudit. Retrieved 2011-01-12. 

Relevant RFCs

  • RFC 958, (Obsoleted by: 1059, 1119, 1305) Network Time Protocol (NTP)
  • RFC 1059, (Obsoleted by: 1119, 1305) Network Time Protocol (Version 1) Specification and Implementation
  • RFC 1119, (Obsoleted by: 1305) Network Time Protocol (Version 2) Specification and Implementation
  • RFC 1305, (Obsoleted by: 5905) Network Time Protocol (Version 3) Specification, Implementation and Analysis
  • RFC 1361, (Obsoleted by: 1769) Simple Network Time Protocol (SNTP)
  • RFC 1769, (Obsoleted by: 2030, 4330) Simple Network Time Protocol (SNTP)
  • RFC 2030, (Obsoleted by: 4330) Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI
  • RFC 4330, (Obsoleted by: 5905) Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI
  • RFC 5905, Network Time Protocol Version 4: Protocol and Algorithms Specification

Further reading

  • Mills, David L.. Computer Network Time Synchronization: The Network Time Protocol. Taylor & Francis / CRC Press. ISBN 0-8493-5805-1. 

External links


Post a question - any question - to the WikiAnswers community:

Copyrights: