Mills explores the technological infrastructure of time dissemination, distribution & synchronisation, addressing the architecture, protocols & algorithms of the Network Time Protocol. He also discusses how to identify & resolve problems encountered in practice. Carefully coordinated, reliable, and accurate time synchronization is vital to a wide spectrum of fields-from air and ground traffic control, to buying and selling goods and services, to TV network programming. Ill-gotten time could even lead to the unimaginable and cause DNS caches to expire, leaving the entire Internet to implode on the root servers. Written by the original developer of the Network Time Protocol (NTP), Computer Network Time Synchronization: The Network Time Protocol on Earth and in Space, Second Edition addresses the technological infrastructure of time dissemination, distribution, and synchronization-specifically the architecture, protocols, and algorithms of the NTP. This system has been active in one form or another for almost three decades on the Internet and numerous private networks on the nether side of firewalls. Just about everything today that can be connected to a network wire has support for NTP. This book: Describes the principal components of an NTP client and how it works with redundant servers and diverse network paths Provides an in-depth description of cryptographic and other critical algorithms Presents an overview of the engineering principles guiding network configuration Evaluating historic events that have taken place since computer network timekeeping started almost three decades ago, the author details a number of systems and drivers for current radio, satellites, and telephone modem dissemination and explains how we reckon the time, according to the stars and atoms. The original 16 chapters of the first edition have been rewritten, updated, and enhanced with new material. Four new chapters cover new algorithms and previously uncovered concepts, including timekeeping in space missions. Praise for the first edition: ". For those that need an exhaustive tome on all of the minutiae related to NTP and synchronization, this is the source. . definitive . this book should be considered the last word on the topic."-Ben Rothke on Slashdot.org". the bible of the subject. contains enough information to take you just as far as you want to go..Dr. Mills is the original developer of NTP."-Books On-Line Contents......Page 8 List of Illustrations......Page 16 List of Tables......Page 22 Preface......Page 24 About the Author......Page 28 1.1 Time Synchronization......Page 30 1.2 Time Synchronization Protocols......Page 32 1.3 Computer Clocks......Page 34 1.4 Processing Time Values......Page 36 1.5 Correctness and Accuracy Expectations......Page 37 1.6 Security......Page 39 1.7 NTP in the Internet......Page 41 1.8 Parting Shots......Page 42 Further Reading......Page 43 2. How NTP Works......Page 44 2.1 General Infrastructure Requirements......Page 45 2.2 How NTP Represents the Time......Page 46 2.3 How NTP Reckons the Time......Page 48 2.4 How NTP Disciplines the Time......Page 50 2.5 How NTP Manages Associations......Page 51 2.6 How NTP Discovers Servers......Page 54 2.7 How NTP Deals with Stale Time Values......Page 55 2.8 How NTP Manages Network Resources......Page 56 2.9 How NTP Avoids Errors......Page 57 2.10 How NTP Performance Is Determined......Page 59 2.11 How NTP Controls Access......Page 60 2.12 How NTP Watches for Terrorists......Page 61 2.13 How NTP Clocks Are Watched......Page 62 2.14 Parting Shots......Page 63 Further Reading......Page 64 3.1 Related Technology......Page 66 3.2 Terms and Notation......Page 69 3.3 Process Flow......Page 70 3.4 Peer Process......Page 72 3.5 Poll Process......Page 73 3.6 On-Wire Protocol......Page 75 3.7 Clock Filter Algorithm......Page 77 3.8 Select Algorithm......Page 80 3.9 Cluster Algorithm......Page 85 3.10 Combine Algorithm......Page 88 3.11 Mitigation Rules and the Prefer Peer......Page 89 3.11.2 Peer Classification......Page 90 3.11.3 Mitigation Rules......Page 91 3.11.4 The minsane Option......Page 92 3.12 Huff-'n-Puff Filter......Page 93 3.13 Orphan Mode......Page 94 3.14 Rate Control and the Kiss-o'-Death Packet......Page 96 3.14.1 Average Headway and Guard Time......Page 97 3.14.2 The Kiss-o'-Death Packet......Page 98 References......Page 99 Further Reading......Page 101 4. Clock Discipline Algorithm......Page 102 4.1 Feedback Control Systems......Page 103 4.2 Phase and Frequency Discipline......Page 105 4.3 Time and Frequency Response......Page 107 4.4 Poll Interval Control......Page 110 4.5 Popcorn and Step Control......Page 111 4.6 Clock State Machine......Page 113 4.7 Parting Shots......Page 115 Further Reading......Page 116 5. NTP System Engineering and Configuration......Page 118 5.1 Core Engineering Principles......Page 119 5.2 Engineering Large Corporate and Campus NTP Systems......Page 121 5.3 Examples of Large Corporate NTP Systems......Page 122 5.4 Engineering Home Office and Small Business NTP Systems......Page 125 5.5 Network Considerations......Page 126 5.6 General Configuration Considerations......Page 127 5.7 Manual Server Discovery......Page 129 5.8 Automatic Server Discovery......Page 130 5.8.1 Broadcast/Multicast Discovery......Page 131 5.8.3 NTP Pool Discovery......Page 132 5.9.1 Association Configuration Options (server, peer, and the Like)......Page 134 5.9.2 Type of Service Options (tos)......Page 136 5.9.3 Tinker Options (tinker)......Page 138 Further Reading......Page 139 6. NTP Performance in the Internet......Page 140 6.1 Performance Measurement Tools......Page 141 6.2 System Clock Latency Characteristics......Page 142 6.3 Characteristics of a Primary Server and Reference Clock......Page 143 6.4 Characteristics between Primary Servers on the Internet......Page 146 6.5 Characteristics of a Client and a Primary Server on a Fast Ethernet......Page 152 6.6 Results from an Internet Survey......Page 154 6.7 Server and Network Resource Requirements......Page 157 References......Page 159 7. Primary Servers and Reference Clocks......Page 160 7.1 Driver Structure and Interface......Page 161 7.2 Serial Timecode Drivers......Page 164 7.3 Generic Modem Driver......Page 166 7.4 Local Clock Driver......Page 167 7.5 PPS Interface and Driver......Page 168 7.6 Audio Drivers......Page 169 7.6.2 WWV/H Driver......Page 171 7.6.3 CHU Driver......Page 174 References......Page 176 8. Kernel Timekeeping Support......Page 178 8.1 System Clock Reading Algorithm......Page 180 8.2 Kernel Discipline Algorithms......Page 182 8.3 Kernel PLL/FLL Discipline......Page 184 8.4 Kernel PPS Discipline......Page 185 8.5 Clock Adjust Algorithm......Page 187 8.6 Proof of Performance......Page 188 8.7 Kernel PLL/FLL Discipline Performance......Page 189 8.8 Kernel PPS Discipline......Page 194 Further Reading......Page 197 9. Cryptographic Authentication......Page 198 9.1 NTP Security Model......Page 199 9.1.1 On the Provenance of Filestamps......Page 201 9.1.3 On Threats and Countermeasures......Page 202 9.2 NTP Secure Groups......Page 204 9.3 Autokey Security Protocol......Page 207 9.3.1 Session Key Operations......Page 208 9.3.2 X509 Certificates......Page 210 9.3.3 Protocol Operations......Page 211 References......Page 212 Further Reading......Page 213 10. Identity Schemes......Page 214 10.1 Identity Schemes......Page 215 10.1.1 Private Certificate Identity Scheme......Page 216 10.1.3 Schnorr Identity Scheme......Page 217 10.1.4 Guillou-Quisquater Identity Scheme......Page 219 10.1.5 Mu–Varadharajan Identity Scheme......Page 221 10.2 Cryptotypes......Page 224 Further Reading......Page 227 11. Analysis of Errors......Page 228 11.1 Clock Reading Errors......Page 229 11.2 Timestamp Errors......Page 230 11.3 Sawtooth Errors......Page 232 11.4 Peer Error Budget......Page 233 11.5 System Error Budget......Page 235 References......Page 237 12. Modeling and Analysis of Computer Clocks......Page 238 12.1 Computer Clock Concepts......Page 239 12.2 Mathematical Model of the Generic Feedback Loop......Page 243 12.2.1 Type I FLL Feedback Control Loop......Page 245 12.2.2 Type II Feedback Control Loop......Page 246 12.3 Synthetic Timescales and Clock Wranglers......Page 248 References......Page 251 Further Reading......Page 252 13. Metrology and Chronometry of the NTP Timescale......Page 254 13.1 Scientific Timescales Based on Astronomy and Atomic Physics......Page 256 13.2 UTC and the Leap Second......Page 258 13.3 The Leap Second Controversy......Page 259 13.4 How NTP Reckons with UTC Leap Seconds......Page 262 13.5 On Numbering the Calendars and Days......Page 264 13.6 On the Julian Day Number System......Page 266 13.7 On Timescales and the Age of Eras......Page 267 13.8 On NTP Era and Timestamp Calculations......Page 269 13.9 Comparison with Other Computer Timescales......Page 270 13.10 Primary Frequency and Time Standards......Page 272 13.11 Time and Frequency Coordination......Page 273 13.12 Time and Frequency Dissemination......Page 274 13.12.2 Long-Wave Radio Services......Page 275 13.12.3 Geosynchronous Operational Environmental Satellite Service......Page 276 13.12.5 Global Positioning System......Page 277 13.12.6 LORAN-C Radio Navigation System......Page 278 13.13 Parting Shots......Page 281 References......Page 282 Further Reading......Page 283 14. NTP Reference Implementation......Page 284 14.1 NTP Packet Header......Page 285 14.2 Control Flow......Page 288 14.3 Main Program and Common Routines......Page 292 14.4 Peer Process......Page 293 14.5 System Process......Page 297 14.6 Clock Discipline Process......Page 301 14.7 Clock Adjust Process......Page 304 14.8 Poll Process......Page 305 14.9 Parting Shots......Page 306 Further Reading......Page 308 15.1 Limitations of the Art......Page 310 15.2 Precision System Clock......Page 311 15.2.2 Timestamp Counter......Page 312 15.2.3 Real-Time Clock......Page 313 15.2.4 Precision System Clock Implementation......Page 314 15.2.5 Precision System Clock Operations......Page 316 15.3 Principles of Precision Timestamping......Page 318 15.3.1 Timestamp Transposition......Page 320 15.3.2 Error Analysis......Page 322 15.4.1 Timestamp Capture......Page 327 15.4.2 PTP Clock Architecture......Page 329 15.4.3 PTP Messages......Page 330 15.4.4 Best Master Clock Algorithm......Page 331 15.4.5 Data Set Comparison Algorithm......Page 332 15.4.6 PTP Time Transfer......Page 333 15.4.7 PTP and NTP Compared......Page 334 15.5 Have Quick, STANAG 4330, and Precise Time and Time Interval Have Quick Interfaces......Page 336 References......Page 338 16. NTP Interleaved Modes......Page 340 16.1 Basic/Interleaved Protocol State Machines and Flowcharts......Page 341 16.2 Basic Symmetric Mode......Page 344 16.3 Interleaved Symmetric Mode......Page 346 16.4 Interleaved Broadcast Mode......Page 348 16.5 Error Detection and Recovery......Page 351 16.6 Measured Performance with the Interleaved Modes......Page 352 16.7 Parting Shots......Page 356 17. Time Transfer for Space Data Links......Page 358 17.1 Orbit Mechanics......Page 359 17.2 Clock Comparisons and the Effects of General Relativity......Page 362 17.3 Time Transfer from a Planet to the Solar System Barycenter......Page 367 17.4 Time Comparisons between Clocks in Space......Page 368 17.5 Spacecraft Electronics......Page 371 17.6 Proximity-1 Protocol......Page 374 17.7 Proximity-1 Time Service......Page 375 17.8 Time Transfer Using the Electra Transceiver......Page 376 17.9 Parting Shots......Page 378 References......Page 380 Further Reading......Page 381 18. Time Transfer for Deep-Space Missions......Page 382 18.1 Time Transfer between Earth Stations......Page 383 18.2 Time Transfer to Earth Satellites......Page 386 18.3 Time Transfer to the Moon and Satellites of Other Planets......Page 388 18.4 Time Transfer for a Planetary Space Fleet......Page 390 18.5 Time Transfer for Deep-Space Missions......Page 396 18.6 Parting Shots......Page 401 References......Page 404 19. Technical History of NTP......Page 406 19.1 On the Antiquity of NTP......Page 407 19.3 Autonomous Authentication......Page 410 19.4 Autonomous Configuration......Page 412 19.5 Radios, We Have Radios......Page 413 19.6 Hunting the Nanoseconds......Page 414 19.7 Experimental Studies......Page 417 19.8 Theory and Algorithms......Page 418 19.10 As Time Goes By......Page 420 19.11 Parting Shots......Page 421 References......Page 422 Further Reading......Page 425 Bibliography......Page 426 Acronyms......Page 436 Written by Dr. David L. Mills, the original developer of the Network Time Protocol (NTP), 'Computer Network Time Synchronization: The Network Time Protocol on Earth and in Space, Second Edition' addresses the technological infrastructure of time dissemination, distribution, and synchronization—specifically the architecture, protocols, and algorithms of the NTP. This system has been active in one form or another for almost three decades on the Internet and numerous private networks on the nether side of firewalls. Just about everything today that can be connected to a network wire has support for NTP. This book describes the principal components of an NTP client and how network time protocol works with redundant servers and diverse network paths; provides an in-depth description of cryptographic and other critical algorithms critical to NTP (through NTPv4, the current version); and, presents an overview of the engineering principles guiding network configuration. 01. Basic Concepts 02. How NTP Works 03. In the Belly of the Beast 04. Clock Discipline Algorithm 05. NTP System Engineering and Configuration 06. NTP Performance in the Internet 07. Primary Servers and Reference Clocks 08. Kernel Timekeeping Support 09. Cryptographic Authentication 10. Identity Schemes 11. Analysis of Errors 12. Modeling and Analysis of Computer Clocks 13. Metrology and Chronometry of the NTP Timescale 14. NTP Reference Implementation 15. Precision System Clock Architecture 16. NTP Interleaved Modes 17. Time Transfer for Space Data Links 18. Time Transfer for Deep-Space Missions 19. Technical History of NTP Takes a look at the architecture, protocols, and algorithms involved in time dissemination, distribution, and synchronization. This title presents the performance analysis of typical deployed NTP networks as well as a error budget showing the influence of network and computer delay variations on accuracy.