Network Time Protocol: Difference between revisions
Line 27: | Line 27: | ||
== External links == |
== External links == |
||
=== |
===Useful NTP links=== |
||
* [http://ntp.isc.org/ NTP Public Services Project] This is the home for the NTP (Network Time Protocol) Public Services Project which provides public support for the NTP Project and the IETF NTP Working Group. Also a Wiki with lists of NTP servers. |
* [http://ntp.isc.org/ NTP Public Services Project] This is the home for the NTP (Network Time Protocol) Public Services Project which provides public support for the NTP Project and the IETF NTP Working Group. Also a Wiki with lists of NTP servers. |
||
* [http://www.ietf.org/html.charters/ntp-charter.html IETF NTP working group] |
* [http://www.ietf.org/html.charters/ntp-charter.html IETF NTP working group] |
||
⚫ | |||
* [http://www.pool.ntp.org/ pool.ntp.org] Public pool of NTP Servers |
* [http://www.pool.ntp.org/ pool.ntp.org] Public pool of NTP Servers |
||
* [http://www.eecis.udel.edu/~mills/ntp.html David Mills' NTP project page] |
* [http://www.eecis.udel.edu/~mills/ntp.html David Mills' NTP project page] |
||
⚫ | |||
* [http://tycho.usno.navy.mil/ntp.html USNO NTP Servers] |
* [http://tycho.usno.navy.mil/ntp.html USNO NTP Servers] |
||
* [http://www.ijs.si/time/ Time and NTP paper] |
|||
===NTP-related software=== |
===NTP-related software=== |
Revision as of 16:55, 5 January 2006
Internet protocol suite |
---|
Application layer |
Transport layer |
Internet layer |
Link layer |
The Network Time Protocol (NTP) is a protocol for synchronising the clocks of computer systems over packet-switched, variable-latency data networks. NTP uses UDP port 123 as its transport layer. It is designed particularly to resist the effects of variable latency.
NTP uses Marzullo's algorithm with the UTC time scale, including support for features such as leap seconds. NTPv4 can usually maintain time to within 10 milliseconds (1/100 s) over the public Internet, and can achieve accuracies of 200 microseconds (1/5000 s) or better in local area networks under ideal conditions.
NTP is one of the oldest internet protocols still in use (since before 1985). NTP was originally designed by Dave Mills of the University of Delaware, who still maintains it, along with a team of volunteers.
The NTP unix daemon is a user-level process that runs continuously on a machine that supports NTP, and most of the protocol is implemented in this user process. To get the best performance from NTP, it is important to have the standard NTP clock phase-locked loop implemented in the operating system kernel, rather than using only the intervention of the external NTP daemon: all recent versions of the Linux and Solaris operating systems have this support.
NTP uses a hierarchical system of "clock strata", where stratum 1 systems are synchronised to an accurate external clock such as a GPS clock or other radio clock. NTP stratum 2 systems derive their time from one or more stratum 1 systems, and so on. (Note that this is different from the notion of clock strata used in telecommunications systems.)
The 64-bit timestamps used by NTP consist of a 32-bit seconds part and a 32-bit fractional second part, giving NTP a time scale of 232 seconds (136 years), with a theoretical resolution of 2−32 seconds (0.233 nanoseconds). Although the NTP timescale wraps round every 232 seconds, implementations should disambiguate NTP time using a knowledge of the approximate time from other sources. Since this only requires time accurate to a few decades, this is not a problem in general use.
The operational details of NTP are illustrated in RFC 778, RFC 891, RFC 956, RFC 958, and RFC 1305. (NTP should not be confused with the daytime (RFC 867) or time (RFC 868) protocols.) The current version is NTP version 4; however, as of 2005, only NTP up to version 3 has been documented in RFCs. The IETF NTP Working Group has formed to standardise the work of the NTP community since RFC 1305 et al.
A less complex form of NTP that does not require storing information about previous communications is known as the Simple Network Time Protocol or SNTP. It has gained a following in embedded devices and in applications where extremely high accuracy is not required. See RFC 1361, RFC 1769, and RFC 2030.
Besides the reference software implementation of NTP, which can be found on the NTP homepage and for which ports to the most popular operating systems exist, a number of manufacturers offer standalone timeserver appliances like Spectracom, Symmetricom, Meinberg, FEI-Zyfer and others. These dedicated servers can provide accurate time to computer networks of any size.
See also
External links
Useful NTP links
- NTP Public Services Project This is the home for the NTP (Network Time Protocol) Public Services Project which provides public support for the NTP Project and the IETF NTP Working Group. Also a Wiki with lists of NTP servers.
- IETF NTP working group
- pool.ntp.org Public pool of NTP Servers
- David Mills' NTP project page
- NTP version 4 Release Notes
- USNO NTP Servers
- Time and NTP paper
NTP-related software
- Abouttime careware NTP client for Windows
- Chrony a Unix time program compatible with NTP
- Dimension 4 SNTP client for Windows
- Meinberg Windows Port of NTP Free port of the reference implementation from ntp.org, including a comfortable installer
- NIST Timesoftware list
- OpenNTPD[1] a BSD licenced SNTP program developed by the OpenBSD project
- Automachron a freeware SNTP client for Windows
- NTP Time Server Monitor Configuration and monitoring tool for Windows
Manufacturers of NTP-based timeservers
- TimeTools NTP Servers UK manufacturer of GPS and Radio based NTP Time Servers.
- Spectracom manufacturer of high performance GPS NTP time servers
- FEI-Zyfer manufacturer of NTP timeservers called NTPSync
- Meinberg Radio Clocks manufacturer of Linux-based NTP timeservers called LANTIME
- Symmetricom manufacturer of high performance NTP time servers
- Time & Frequency Solutions manufacturer of NTP Timeservers called NTP8, M210, M211 & TFD8000
- Elproma manufacturer of NTP Timeservers from Poland
Other time synchronization protocols
- HTTP Time Protocol (HTP) Time synchronization with HTTP headers
- ICMP protocol Time synchronization with ICMP timestamps (basis for timed )
- Daytime protocol Daytime synchronization protocol via TCP port 13
- Time protocol Time synchronization protocol via TCP port 37