A Brief History of NTP Time: Confessions of an Internet Timekeeper 1,2

A Brief History of NTP Time: Confessions of an Internet Timekeeper 1,2

A Brief History of NTP Time: Confessions of an Internet Timekeeper 1,2 David L. Mills, Fellow ACM, Senior Member IEEE3 Abstract This paper traces the origins and evolution of the Network Time Protocol (NTP) over two decades of con- tinuous operation. The technology has been continuously improved from hundreds of milliseconds in the rowdy Internet of the early 1980s to tens of nanoseconds in the Internet of the new century. It includes a blend of history lesson and technology reprise, but with overtones of amateur radio when a new country shows up on the Internet with NTP running. This narrative is decidedly personal, since the job description for an Internet timekeeper is highly individ- ualized and invites very few applicants. There is no attempt here to present a comprehensive tutorial, only a almanac of personal observations, eclectic minutae and fireside chat. Many souls have contributed to the technology, some of which are individually acknowledged in this paper, the rest too numerous left to write their own memoirs. Keywords: computer network, time synchronization, reports and briefing slide presentations are at technical history, algorithmic memoirs www.eecis.udel.edu/~mills/ntp.htm. There are three main threads interwoven in the follow- 1. Introduction ing. First is a history lesson on significant milestones for An argument can be made that the Network Time Proto- the specifications, implementations and coming-out par- col (NTP) is the longest running, continuously operat- ties. These milestones calibrate and are calibrated by ing, distributed application in the Internet. As NTP is developments elsewhere in the Internet community. Sec- approaching its third decade, it is of historic interest to ond is a chronology of the algorithmic refinements lead- document the origins and evolution of the architecture, ing to better and better accuracy, stability and robustness protocol and algorithms. Not incidentally, NTP was an that continue to the present. These algorithms represent active participant in the early development of the Inter- the technical contributions as documented in the refer- net technology and its timestamps recorded many mile- ences. Third is a discussion of the various proof-of-per- stones in measurement and prototyping programs. formance demonstrations and surveys conducted over the years, each attempting to outdo the previous in cali- This paper documents significant milestones in the evo- brating the performance of NTP in the Internet of the lution of computer network timekeeping technology epoch. Each of these three threads winds through the over four generations of NTP to the present. The NTP remainder of this narrative. software distributions for Unix, Windows and VMS has been maintained by a corps of almost four dozen volun- 2. On the Antiquity of NTP teers at various times. There are too many to list here, but the major contributors are revealed in the discussion NTP’s roots can be traced back to a demonstration at to follow. The current NTP software distribution, docu- NCC 79 believed to be the first public coming-out party mentation and related materials, newsgroups and links of the Internet operating over a transatlantic satellite net- are on the web at www.ntp.org. In addition, all papers work. However, it was not until 1981 that the synchroni- and reports cited in this paper (except [23]) are in Post- zation technology was documented in the now historic Script and PDF at www.eecis.udel.edu/~mills. Further Internet Engineering Note series as IEN-173 [35]. The information, including executive summaries, project first specification of a public protocol developed from it 1. Sponsored by: DARPA Information Technology Office Order G409/J175, Contract F30602-98-1-0225, and Dig- ital Equipment Corporation Research Agreement 1417. 2. This document has been submitted for publication. It is provided as a convenience to the technical community and should not be cited or redistributed. 3. Author’s address: Electrical and Computer Engineering Department, University of Delaware, Newark, DE 19716, [email protected], http://www.eecis.udel.edu/~mills. 1 appeared in RFC-778 [34]. The first deployment of the There was considerable discussion during 1989 about technology in a local network was as an integral func- the newly announced Digital Time Synchronization Ser- tion of the Hello routing protocol documented in RFC- vice (DTSS) [23], which was adopted for the Enterprise 891 [32], which survived for many years in a network network. The DTSS and NTP communities had much prototyping and testbed operating system called the the same goals, but somewhat different strategies for Fuzzball [24]. achieving them. One problem with DTSS, as viewed by the NTP community, was a possibly serious loss of What later became known as NTP Version 0 was imple- accuracy, since the DTSS design did not discipline the mented in 1985, both in Fuzzball by this author and in clock frequency. The problem with the NTP design, as Unix by Louis Mamakos and Michael Petry at U Mary- viewed from the DTSS community, was the lack of for- land. Fragments of their code survive in the software mal correctness principles in the design process. A key running today. RFC-958 contains the first formal speci- component in the DTSS design upon which the correct- fication of this version [29], but it did little more than ness principles were based was an agreement algorithm document the NTP packet header and offset/delay calcu- invented by Keith Marzullo in his dissertation. lations still used today. Considering the modest speeds of networks and computers of the era, the nominal accu- In the finest Internet tradition of stealing good ideas, the racy that could be achieved on an Ethernet was in the Marzullo algorithm was integrated with the existing low tens of milliseconds. Even on paths spanning the Atlantic, where the jitter could reach over one second, suite of NTP mitigation algorithms, including the filter- the accuracy was generally better than 100 ms. ing, clustering and combining algorithms, which the DTSS design lacked. However, the Marzullo algorithm Version 1 of the NTP specification was documented in its original form produced excessive jitter and seri- three years later in RFC-1059 [27]. It contained the first ously degraded timekeeping quality over typical Internet comprehensive specification of the protocol and algo- paths. The algorithm, now called the intersection algo- rithms, including primitive versions of the clock filter, rithm, was modified to avoid this problem. The resulting selection and discipline algorithms. The design of these suite of algorithms has survived substantially intact to algorithms was guided largely by a series of experi- the present day, although many modifications and ments, documented in RFC-956 [31], in which the basic improvements have been made over the years. theory of the clock filter algorithm was developed and refined. This was the first version which defined the use In 1992 the NTP Version 3 specification appeared [18], of client/server and symmetric modes and, of course, the again in PostScript and now running some 113 pages. first version to make use of the version field in the The specification included an appendix describing a for- header. mal error analysis and an intricate error budget includ- ing all error contributions between the primary reference A transactions paper on NTP Version 1 appeared in source over intervening servers to the eventual client. 1991 [21]. This was the first paper that exposed the NTP This provided the basis to support maximum error and model, including the architecture, protocol and algo- estimated error statistics, which provide a reliable char- rithms, to the technical engineering community. While acterization of timekeeping quality, as well as a reliable this model is generally applicable today, there have been metric for selecting the best from among a population of a continuing series of enhancements and new features available servers. As in the Version 2 specification, the introduced over years, some of which are described in model was described using a formal state machine and following sections. pseudo code. This version also introduced broadcast The NTP Version 2 specification followed as RFC-1119 mode and included reference clock drivers in the state in 1989 [25]. A completely new implementation slavish machine. to the specification was built by Dennis Fergusson at U Toronto. This was the first RFC in PostScript and as Lars Mathiesen at U Copenhagen carefully revised the such the single most historically unpopular document in version 2 implementation to comply with the version 3 the RFC publishing process. This document was the first specification. There was considerable give and take to include a formal model and state machine describing between the specification and implementation and some the protocol and pseudo-code defining the operations. It changes were made in each to reach consensus, so that introduced the NTP Control Message Protocol for use in the implementation was aligned precisely with the spec- managing NTP servers and clients, and the crypto- ification. This was a major effort which lasted over a graphic authentication scheme based on symmetric-key year during which the specification and implementation cryptography, both of which survive to the present day. converged to a consistent formal model. 2 In the years since the version 3 specification, NTP has At this point the history lesson is substantially complete. evolved in various ways adding new features and algo- However, along the way several specific advancements rithm revisions while still preserving interoperability need to be identified. The remaining sections of this with older versions. Somewhere along the line, it paper discuss a number of them in detail. became clear that a new version number was needed, since the state machine and pseudo code had evolved somewhat from the version 3 specification, so it became 3. Autonomous Deployment NTP Version 4.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us