Sei sulla pagina 1di 5

Network Time Protocol

From Wikipedia, the free encyclopedia

Not to be confused with Daytime Protocol or Time Protocol.

Internet protocol suite

Application layer

 BGP
 DHCP
 DNS
 FTP
 HTTP
 IMAP
 LDAP
 MGCP
 MQTT
 NNTP
 NTP
 POP
 ONC/RPC
 RTP
 RTSP
 RIP
 SIP
 SMTP
 SNMP
 SSH
 Telnet
 TLS/SSL
 XMPP
 more...

Transport layer
 TCP
 UDP
 DCCP
 SCTP
 RSVP
 more...

Internet layer
 IP
o IPv4
o IPv6
 ICMP
 ICMPv6
 ECN
 IGMP
 IPsec
 OSPF
 more...

Link layer
 ARP
 NDP
 Tunnels
o L2TP
 PPP
 MAC
o Ethernet
o DSL
o ISDN
o FDDI
 more...

 v
 t
 e

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 all 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] 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), which is a proposed standard as documented in


RFC 5905. It is backward compatible with version 3, specified in RFC 1305.

Contents
 1 History
 2 Clock strata
 3 Timestamps
 4 Clock synchronization algorithm
 5 Software implementations
o 5.1 Reference implementation
o 5.2 SNTP
o 5.3 Windows Time service
o 5.4 OpenNTPD
o 5.5 Ntimed
o 5.6 NTPsec
o 5.7 Chrony
 6 Leap seconds
 7 Security concerns
 8 See also
 9 Notes
 10 References
 11 Further reading
 12 External links

History
NTP was designed by David L. Mills.

In 1979, network time synchronization technology was used in what was possibly the first
public demonstration of Internet services running over a trans-Atlantic satellite network, at
the National Computer Conference in New York. The technology was later described in the
1981 Internet Engineering Note (IEN) 173[6] and a public protocol was developed from it that
was documented in RFC 778. The technology was first deployed in a local area network as
part of the Hello routing protocol and implemented in the Fuzzball router, an experimental
operating system used in network prototyping, where it ran for many years.

Other related network tools were available both then and now. They include the Daytime and
Time protocols for recording the time of events, as well as the ICMP Timestamp and IP
Timestamp option (RFC 781). More complete synchronization systems, although lacking
NTP's data analysis and clock disciplining algorithms, include the Unix daemon timed, which
uses an election algorithm to appoint a server for all the clients;[7] and the Digital Time
Synchronization Service (DTSS), which uses a hierarchy of servers similar to the NTP
stratum model.

In 1985, NTP version 0 (NTPv0) was implemented in both Fuzzball and Unix, and the NTP
packet header and round-trip delay and offset calculations, which have persisted into NTPv4,
were documented in RFC 958. Despite the relatively slow computers and networks available
at the time, accuracy of better than 100 milliseconds was usually obtained on Atlantic
spanning links, with accuracy of tens of milliseconds on Ethernet networks.
In 1988, a much more complete specification of the NTPv1 protocol, with associated
algorithms, was published in RFC 1059. It drew on the experimental results and clock filter
algorithm documented in RFC 956 and was the first version to describe the client-server and
peer-to-peer modes. In 1991, the NTPv1 architecture, protocol and algorithms were brought
to the attention of a wider engineering community with the publication of an article by David
L. Mills in the IEEE Transactions on Communications.[8]

In 1989, RFC 1119 was published defining NTPv2 by means of a state machine, with
pseudocode to describe its operation. It introduced a management protocol and cryptographic
authentication scheme which have both survived into NTPv4. The design of NTPv2 was
criticized for lacking formal correctness principles by the DTSS community. Their
alternative design included Marzullo's algorithm, a modified version of which was promptly
added to NTP. [citation needed] The bulk of the algorithms from this era have also largely survived
into NTPv4.

In 1992, RFC 1305 defined NTPv3. The RFC included an analysis of all sources of error,
from the reference clock down to the final client, which enabled the calculation of a metric
that helps choose the best server where several candidates appear to disagree. Broadcast
mode was introduced.

In subsequent years, as new features were added and algorithm improvements were made, it
became apparent that a new protocol version was required.[9] In 2010, RFC 5905 was
published containing a proposed specification for NTPv4. The protocol has significantly
moved on since then, and as of 2014, an updated RFC has yet to be published.[10] Following
the retirement of Mills from the University of Delaware, the reference implementation is
currently maintained as an open source project led by Harlan Stenn.[11][12]

Potrebbero piacerti anche