<p>The Network Time Protocol (NTP) is used to synchronize the time of a computer client or server to another server or reference time source, such as a radio or satellite receiver or modem. It provides accuracies typically within a millisecond on LANs up to a few tens of milliseconds on WANs relative to Coordinated Universal Time (UTC), as provided by a Global Positioning Service (GPS) receiver, for example. Typical NTP configurations utilize multiple redundant servers and diverse network paths, in order to achieve high accuracy and reliability. Some configurations include cryptographic authentication to prevent accidental or malicious protocol attacks.
<p>Information on the NTP architecture, protocol and algorithms can be found in the following articles and reports, which are available online. General issues of the concepts and facilities assumed by NTP are discussed in the <ahref=exec.htm>Executive Summary - Computer Network Time Synchronization</a> page, while issues related to the NTP timescale and pending century are discussed in the <ahref=y2k.htm> Network Time Protocol Year 2000 Conformance Statement</a> page, both of which are included in this software distribution. Network timekeeping technology continues to advance and may obsolete some of the following documents. For a current list of all papers, reports, briefings and other documents relevant to the NTP community, see the <ahref=http://www.eecis.udel.edu/~mills>David L. Mills</a> web page. A historical perspective is available in
<ul>
<p><li>Mills, D.L. A brief history of NTP time: confessions of an Internet timekeeper. Submitted for publication; please do not cite or redistribute. <ahref=database/papers/history.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/papers/history.pdf>PDF</a>
</ul>
<p>The NTP architecture, protocol and algorithm models are described in
<ul>
<p><li>Mills, D.L. Internet time synchronization: the Network Time Protocol. <I>IEEE Trans. Communications COM-39, 10</I> (October 1991), 1482-1493. <ahref=http://www.eecis.udel.edu/~mills/database/papers/trans.ps> PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/papers/trans.pdf> PDF</a>. Also in: Yang, Z., and T.A. Marsland (Eds.). <I>Global States and Time in Distributed Systems</I>. IEEE Computer Society Press, Los Alamitos, CA, 1994, 91-102.
</ul>
<p>The NTP specification and implementation has evolved over the last two decades to the current Version 4 of the protocol. This version includes significant enhancements in accuracy and reliability, as determined by experience in an estimated total of well over 100,000 clients and servers in the Internet, while retaining backward compatibility with previous versions. This software distribution contains an implementation of the NTP Version 4 architecture, protocol and algorithms. While a formal specification of this version is not yet available, this version is fully compliant with the previous NTP Version 3 specification and implementation defined in
<ul>
<p><li>Mills, D.L. Network Time Protocol (Version 3) specification, implementation and analysis. Network Working Group Report RFC-1305, University of Delaware, March 1992, 113 pp. Abstract: <a
<p>The NTP Version 4 implementation adds a number of extensions and refinements to the previous version, including an autonomous configuration and authentication capability, improved clock discipline algorithms capable of submicrosecond accuracy and many other refinements. Specific changes since the Version 3 specification was issued include:
<ol>
<p><li>Support for precision-time kernel modifications, as described in
<p>Mills, D.L., and P.-H. Kamp. The nanokernel. <i>Proc. Precision Time and Time Interval (PTTI) Applications and Planning Meeting</i> (Reston VA, November 2000). Paper: <ahref=http://www.eecis.udel.edu/~mills/database/papers/nano/nano2.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/papers/nano/nano2.pdf>PDF</a>, Slides: <ahref=database/brief/nano/nano.htm>HTML</a> | <ahref=http://www.eecis.udel.edu/~mills/database/brief/nano/nano.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/brief/nano/nano.ppt>PowerPoint</a>
<p>Mills, D.L. Unix kernel modifications for precision time synchronization. Electrical Engineering Department Report 94-10-1, University of Delaware, October 1994, 24 pp. Abstract: <ahref=http://www.eecis.udel.edu/~mills/database/reports/kern/kerna.ps> PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/reports/kern/kerna.pdf> PDF</a>, Body: <ahref=http://www.eecis.udel.edu/~mills/database/reports/kern/kernb.ps> PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/reports/kern/kernb.pdf> PDF</a>. Major revision and update of: Network Working Group Report RFC-1589, University of Delaware, March 1994. 31 pp. <ahref=http://www.eecis.udel.edu/~mills/database/rfc/rfc1589.txt>ASCII</a>
<p><li>Support for IP Multicasting, as described the <ahref=assoc.htm>Association Management</a> page and in
<p>Mills, D.L, and A. Thyagarajan. Network time protocol version 4 proposed changes. Electrical Engineering Department Report 94-10-2, University of Delaware, October 1994, 32 pp. Abstract: <ahref=http://www.eecis.udel.edu/~mills/database/reports/acts/actsa.ps> PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/reports/acts/actsa.pdf> PDF</a>, Body: <ahref=http://www.eecis.udel.edu/~mills/database/reports/acts/actsb.ps> PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/reports/acts/actsb.pdf> PDF</a>
<p><li>A new hybrid phase/frequency-lock clock discipline, which
replaces the RFC-1305 local clock algorithm, as described in</li>
<p>Mills, D.L. Clock discipline algorithms for the Network Time Protocol Version 4. Electrical Engineering Report 97-3-3, University of Delaware, March 1997, 35 pp. Abstract: <ahref=http://www.eecis.udel.edu/~mills/database/reports/allan/securea.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/reports/allan/securea.pdf> PDF</a>, Body: <ahref=http://www.eecis.udel.edu/~mills/database/reports/allan/secureb.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/reports/allan/secureb.pdf>PDF</a>
<p><li>Simple Network Monitoring Protocol (SNMP) monitoring tools, as described in</li>
<p>Sethi, A.S., H. Gao, and D.L. Mills. Management of the Network Time Protocol (NTP) with SNMP. Computer and Information Sciences Report 98-09, University of Delaware, November 1998, 32 pp. <ahref=http://www.eecis.udel.edu/~mills/database/reports/ntp-mib-tr.ps>PostScript</a> | <ahref=database/reports/ntp-mib-tr.pdf>PDF</a>
<p><li>Engineered refinements to radio clock drivers and interface code, as described in in the <ahref=pps.htm>Pulse-per-second (PPS) Signal Interfacing</a> page and</li>
<p>Mogul, J., D. Mills, J. Brittenson, J. Stone and U. Windl. Pulse-per-second API for Unix-like operating systems, version 1. Request for Comments RFC-2783, Internet Engineering Task Force, March 2000, 31 pp. <ahref=http://www.eecis.udel.edu/~mills/database/rfc/rfc2783.txt>ASCII</a>
<p>Mills, D.L. Precision synchronization of computer network clocks. <I>ACM Computer Communication Review 24, 2</I> (April 1994). 28-43. <ahref=http://www.eecis.udel.edu/~mills/database/papers/fine.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/papers/fine.pdf>PDF</a>
<p><li>Support for over two dozen reference clock drivers for all known national and international radio, satellite and modem standard time services known at this time. See the <ahref=refclock.htm>Reference Clock Drivers</a> page.</li>
<p><li>A new security model and authentication scheme based on public-key cryptography called <I>Autokey</I>, as described in the <ahref=authopt.htm>Authentication Options</a> page and in</li>
<p>Mills, D.L. Public-Key cryptography for the Network Time Protocol. Internet Draft draft-ietf-stime-ntpauth-00.txt, University of Delaware, June 2000, 36 pp. <ahref=http://www.eecis.udel.edu/~mills/database/memos/draft-ietf-stime-ntpauth-00.txt>ASCII</a>
<p>Mills, D.L. Public key cryptography for the Network Time Protocol. Electrical Engineering Report 00-5-1, University of Delaware, May 2000. 23 pp. Abstract: <ahref=http://www.eecis.udel.edu/~mills/database/reports/pkey/pkeya.ps>PostScript</a> | <ahref=database/reports/pkey/pkeya.pdf>PDF</a>, Body: <ahref=http://www.eecis.udel.edu/~mills/database/reports/pkey/pkeyb.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/reports/pkey/pkeyb.pdf>PDF</a>
<p>Mills, D.L. Authentication scheme for distributed, ubiquitous, real-time protocols. <I>Proc. Advanced Telecommunications/Information Distribution Research Program (ATIRP) Conference</I> (College Park MD, January 1997), 293-298. <ahref=http://www.eecis.udel.edu/~mills/database/papers/atirp.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/papers/atirp.pdf>PDF</a>
<p>Mills, D.L. Proposed authentication enhancements for the Network Time
Delaware, October 1996, 36 pp. Abstract: <ahref=http://www.eecis.udel.edu/~mills/database/reports/secure/securea.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/reports/secure/securea.pdf>PDF</a>, Body: <ahref=http://www.eecis.udel.edu/~mills/database/reports/secure/secureb.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/reports/secure/secureb.pdf>PDF</a>
<p><li> Support for the MD5 cryptographic hash algorithm, in addition to the DES-CBC algorithm described in RFC-1305, as described in the <ahref=ntpd.htm><tt>ntpd</tt> - Network Time Protocol (NTP) daemon </a>page.</li>
<p><li>The prefer-peer scheme, as described in the <ahref=prefer.htm>Mitigation Rules and the <tt>prefer</tt> Keyword </a>page.</li>
<p><li>Specification for the Simple Network Time Protocol (SNTP), as described in</li>
<p>Mills, D.L. Simple network time protocol (SNTP) version 4 for IPv4, IPv6 and OSI. Network Working Group Report RFC-2030, University of Delaware, October 1996, 18 pp. <ahref=http://www.eecis.udel.edu/~mills/database/rfc/rfc2030.txt>ASCII</a>. Obsoletes RFC-1769 and RFC-1361.
<p><li>Support for International Atomic Time (TAI), as described in</li>
<p>Levine, J., and D. Mills. Using the Network Time Protocol to transmit International Atomic Time (TAI). <i>Proc. Precision Time and Time Interval (PTTI) Applications and Planning Meeting</i> (Reston VA, November 2000). Paper: <ahref=http://www.eecis.udel.edu/~mills/database/papers/tai.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/papers/tai.pdf>PDF</a>
<p><li>Performance surveys for NTP Version 4 can be found in</li>
<p>Mills, D.L., A. Thyagarajan and B.C. Huffman. Internet timekeeping around the globe. <i>Proc. Precision Time and Time Interval (PTTI) Applications and Planning Meeting</i> (Long Beach CA, December 1997), 365-371. Paper: <a
<p>Mills, D.L. The network computer as precision timekeeper. <i>Proc. Precision Time and Time Interval (PTTI) Applications and Planning Meeting</i> (Reston VA, December 1996), 96-108. Paper: <ahref=http://www.eecis.udel.edu/~mills/database/papers/ptti.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/papers/ptti.pdf>PDF</a>, Slides: <ahref=http://www.eecis.udel.edu/~mills/database/brief/ptti/ptti/index.htm>HTML</a> | <ahref=http://www.eecis.udel.edu/~mills/database/brief/ptti/ptti.ps>PostScript</a> | <ahref=http://www.eecis.udel.edu/~mills/database/brief/ptti/ptti.ppt>PowerPoint</a> | <ahref=http://www.eecis.udel.edu/~mills/database/brief/ptti/ptti.pdf>PDF</a>
</ol>
<hr><ahref=index.htm><imgalign=leftsrc=pic/home.gif></a><address><ahref=mailto:mills@udel.edu> David L. Mills <mills@udel.edu></a></address></a></body></html>