Mobatime - Clocks and Time Systems
Search 




Home  ·  Time Distribution  ·  NTP / SNTP

NTP Description

»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 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.

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 uses a hierarchical system of "clock strata", where stratum 1 systems are synchronised to an accurate external clock such as a GPS clock (usually through a Pulse per second signal) 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 around 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.
Future versions of NTP will extend the time representation to 128 bits - 64 bits for the second representation and 64 bits for the fractional-second repesentation.

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.)

SNTP

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 is used in some embedded devices and in applications where high accuracy timing is not required. See RFC 1361, RFC 1769, RFC 2030 and RFC 4330.

References
Network Time Protocol / Wikipedia
NTP Public Services Project / Home for the NTP Public Services Project