International standard | RFC 5905 |
---|---|
Developed by | David L. Mills, Harlan Stenn, Network Time Foundation |
Introduced | 1985 |
Internet protocol suite |
---|
Application layer |
Transport layer |
Internet layer |
Link layer |
The Network Time Protocol (NTP) is a networking protocol for clock synchronization between computer systems over packet-switched, variable-latency data networks. In operation since before 1985, NTP is one of the oldest Internet protocols in current use. NTP was designed by David L. Mills of the University of Delaware.
NTP is intended to synchronize participating computers to within a few milliseconds of Coordinated Universal Time (UTC).[1]: 3 It uses the intersection algorithm, a modified version of Marzullo's algorithm, to select accurate time servers and is designed to mitigate the effects of variable network latency. NTP can usually maintain time to within tens of milliseconds over the public Internet, and can achieve better than one millisecond accuracy in local area networks under ideal conditions. Asymmetric routes and network congestion can cause errors of 100 ms or more.[2][3]
The protocol is usually described in terms of a client–server model, but can as easily be used in peer-to-peer relationships where both peers consider the other to be a potential time source.[1]: 20 Implementations send and receive timestamps using the User Datagram Protocol (UDP) on port number 123.[4][5]: 16 They can also use broadcasting or multicasting, where clients passively listen to time updates after an initial round-trip calibrating exchange.[3] NTP supplies a warning of any impending leap second adjustment, but no information about local time zones or daylight saving time is transmitted.[2][3]
The current protocol is version 4 (NTPv4),[5] which is backward compatible with version 3.[6]
Mills2010
was invoked but never defined (see the help page).