Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010274782 | TK5105.575 M55 2011 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
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 configurationEvaluating 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.
nbsp;
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
Author Notes
Dr. David L. Mills is professor emeritus of electrical and computer engineering and computer and information sciences at the University of Delaware. He has been an active contributor for many years to the field of Internet technology, particularly computer network time synchronization. He is the original developer of the Network Time Protocol and has authored over 30 articles and technical reports on the subject, including the current operative standards documents. His doctoral degree in computer science was conferred by the University of Michigan in 1971. He is a member of the National Academy of Engineering and a Fellow in both the Association for Computing Machinery and the Institute of Electrical and Electronics Engineers.
Table of Contents
List of Illustrations | p. xv |
List of Tables | p. xxi |
Preface | p. xxiii |
About the Author | p. xxvii |
1 Basic Concepts | p. 1 |
1.1 Time Synchronization | p. 1 |
1.2 Time Synchronization Protocols | p. 3 |
1.3 Computer Clocks | p. 5 |
1.4 Processing Time Values | p. 7 |
1.5 Correctness and Accuracy Expectations | p. 8 |
1.6 Security | p. 10 |
1.7 NTP in the Internet | p. 12 |
1.8 Parting Shots | p. 13 |
References | p. 14 |
Further Reading | p. 14 |
2 How NTP Works | p. 15 |
2.1 General Infrastructure Requirements | p. 16 |
2.2 How NTP Represents the Time | p. 17 |
2.3 How NTP Reckons the Time | p. 19 |
2.4 How NTP Disciplines the Time | p. 21 |
2.5 How NTP Manages Associations | p. 22 |
2.6 How NTP Discovers Servers | p. 25 |
2.7 How NTP Deals with Stale Time Values | p. 26 |
2.8 How NTP Manages Network Resources | p. 27 |
2.9 How NTP Avoids Errors | p. 28 |
2.10 How NTP Performance Is Determined | p. 30 |
2.11 How NTP Controls Access | p. 31 |
2.12 How NTP Watches for Terrorists | p. 32 |
2.13 How NTP Clocks Are Watched | p. 33 |
2.14 Parting Shots | p. 34 |
References | p. 35 |
Further Reading | p. 35 |
3 In the Belly of the Beast | p. 37 |
3.1 Related Technology | p. 37 |
3.2 Terms and Notation | p. 40 |
3.3 Process Flow | p. 41 |
3.4 Peer Process | p. 43 |
3.5 Poll Process | p. 44 |
3.6 On-Wire Protocol | p. 46 |
3.7 Clock Filter Algorithm | p. 48 |
3.8 Select Algorithm | p. 51 |
3.9 Cluster Algorithm | p. 56 |
3.10 Combine Algorithm | p. 59 |
3.11 Mitigation Rules and the Prefer Peer | p. 60 |
3.11.1 The Prefer Peer | p. 61 |
3.11.2 Peer Classification | p. 61 |
3.11.3 Mitigation Rules | p. 62 |
3.11.4 The minsane Option | p. 63 |
3.12 Huff-'n-Puff Filter | p. 64 |
3.13 Orphan Mode | p. 65 |
3.14 Rate Control and the Kiss-o'-Death Packet | p. 67 |
3.14.1 Average Headway and Guard Time | p. 68 |
3.14.2 The Kiss-o'-Death Packet | p. 69 |
3.15 Parting Shots | p. 70 |
References | p. 70 |
Further Reading | p. 72 |
4 Clock Discipline Algorithm | p. 73 |
4.1 Feedback Control Systems | p. 74 |
4.2 Phase and Frequency Discipline | p. 76 |
4.3 Time and Frequency Response | p. 78 |
4.4 Poll Interval Control | p. 81 |
4.5 Popcorn and Step Control | p. 82 |
4.6 Clock State Machine | p. 84 |
4.7 Parting Shots | p. 86 |
References | p. 87 |
Further Reading | p. 87 |
5 NTP System Engineering and Configuration | p. 89 |
5.1 Core Engineering Principles | p. 90 |
5.2 Engineering Large Corporate and Campus NTP Systems | p. 92 |
5.3 Examples of Large Corporate NTP Systems | p. 93 |
5.4 Engineering Home Office and Small Business NTP Systems | p. 96 |
5.5 Network Considerations | p. 97 |
5.6 General Configuration Considerations | p. 98 |
5.7 Manual Server Discovery | p. 100 |
5.8 Automatic Server Discovery | p. 101 |
5.8.1 Broadcast/Multicast Discovery | p. 102 |
5.8.2 NTP Manycast Discovery | p. 103 |
5.8.3 NTP Pool Discovery | p. 103 |
5.9 Configuration Commands and Options | p. 105 |
5.9.1 Association Configuration Options (server, peer, and the Like) | p. 105 |
5.9.2 Type of Service Options (tos) | p. 107 |
5.9.3 Tinker Options (tinker) | p. 109 |
5.10 Parting Shots | p. 110 |
Further Reading | p. 110 |
6 NTP Performance in the Internet | p. 111 |
6.1 Performance Measurement Tools | p. 112 |
6.2 System Clock Latency Characteristics | p. 113 |
6.3 Characteristics of a Primary Server and Reference Clock | p. 114 |
6.4 Characteristics between Primary Servers on the Internet | p. 117 |
6.5 Characteristics of a Client and a Primary Server on a Fast Ethernet | p. 123 |
6.6 Results from an Internet Survey | p. 125 |
6.7 Server and Network Resource Requirements | p. 128 |
6.8 Parting Shots | p. 130 |
References | p. 130 |
7 Primary Servers and Reference Clocks | p. 131 |
7.1 Driver Structure and Interface | p. 132 |
7.2 Serial Timecode Drivers | p. 135 |
7.3 Generic Modem Driver | p. 137 |
7.4 Local Clock Driver | p. 138 |
7.5 PPS Interface and Driver | p. 139 |
7.6 Audio Drivers | p. 140 |
7.6.1 IRIG Driver | p. 142 |
7.6.2 WWV/H Driver | p. 142 |
7.6.3 CHU Driver | p. 145 |
References | p. 147 |
8 Kernel Timekeeping Support | p. 149 |
8.1 System Clock Reading Algorithm | p. 151 |
8.2 Kernel Discipline Algorithms | p. 153 |
8.3 Kernel PLL/FLL Discipline | p. 155 |
8.4 Kernel PPS Discipline | p. 156 |
8.5 Clock Adjust Algorithm | p. 158 |
8.6 Proof of Performance | p. 159 |
8.7 Kernel PLL/FLL Discipline Performance | p. 160 |
8.8 Kernel PPS Discipline | p. 165 |
8.9 Parting Shots | p. 168 |
References | p. 168 |
Further Reading | p. 168 |
9 Cryptographic Authentication | p. 169 |
9.1 NTP Security Model | p. 170 |
9.1.1 On the Provenance of Filestamps | p. 172 |
9.1.2 On the Naming of Things | p. 173 |
9.1.3 On Threats and Countermeasures | p. 173 |
9.2 NTP Secure Groups | p. 175 |
9.3 Autokey Security Protocol | p. 178 |
9.3.1 Session Key Operations | p. 179 |
9.3.2 X509 Certificates | p. 181 |
9.3.3 Protocol Operations | p. 182 |
9.4 Parting Shots | p. 183 |
References | p. 183 |
Further Reading | p. 184 |
10 Identity Schemes | p. 185 |
10.1 Identity Schemes | p. 186 |
10.1.1 Private Certificate Identity Scheme | p. 187 |
10.1.2 Trusted Certificate Identity Scheme | p. 188 |
10.1.3 Schnorr Identity Scheme | p. 188 |
10.1.4 Guillou-Quisquater Identity Scheme | p. 190 |
10.1.5 Mu-Varadharajan Identity Scheme | p. 192 |
10.2 Cryptotypes | p. 195 |
10.3 Parting Shots | p. 198 |
References | p. 198 |
Further Reading | p. 198 |
11 Analysis of Errors | p. 199 |
11.1 Clock Reading Errors | p. 200 |
11.2 Timestamp Errors | p. 201 |
11.3 Sawtooth Errors | p. 203 |
11.4 Peer Error Budget | p. 204 |
11.5 System Error Budget | p. 206 |
11.6 Parting Shots | p. 208 |
References | p. 208 |
12 Modeling and Analysis of Computer Clocks | p. 209 |
12.1 Computer Clock Concepts | p. 210 |
12.2 Mathematical Model of the Generic Feedback Loop | p. 214 |
12.2.1 Type IFLL Feedback Control Loop | p. 216 |
12.2.2 Type II Feedback Control Loop | p. 217 |
12.3 Synthetic Timescales and Clock Wranglers | p. 219 |
12.4 Parting Shots | p. 222 |
References | p. 222 |
Further Reading | p. 223 |
13 Metrology and Chronometry of the NTP Timescale | p. 225 |
13.1 Scientific Timescales Based on Astronomy and Atomic Physics | p. 227 |
13.2 UTC and the Leap Second | p. 229 |
13.3 The Leap Second Controversy | p. 230 |
13.4 How NTP Reckons with UTC Leap Seconds | p. 233 |
13.5 On Numbering the Calendars and Days | p. 235 |
13.6 On the Julian Day Number System | p. 237 |
13.7 On Timescales and the Age of Eras | p. 238 |
13.8 On NTP Era and Timestamp Calculations | p. 240 |
13.9 Comparison with Other Computer Timescales | p. 241 |
13.10 Primary Frequency and Time Standards | p. 243 |
13.11 Time and Frequency Coordination | p. 244 |
13.12 Time and Frequency Dissemination | p. 245 |
13.12.1 Shortwave Radio Services | p. 246 |
13.12.2 Long-Wave Radio Services | p. 246 |
13.12.3 Geosynchronous Operational Environmental Satellite Service | p. 247 |
13.12.4 Telephone Modem Services | p. 248 |
13.12.5 Global Positioning System | p. 248 |
13.12.6 LORAN-C Radio Navigation System | p. 249 |
13.13 Parting Shots | p. 252 |
References | p. 253 |
Further Reading | p. 254 |
14 NTP Reference Implementation | p. 255 |
14.1 NTP Packet Header | p. 256 |
14.2 Control Flow | p. 259 |
14.3 Main Program and Common Routines | p. 263 |
14.4 Peer Process | p. 264 |
14.5 System Process | p. 268 |
14.6 Clock Discipline Process | p. 272 |
14.7 Clock Adjust Process | p. 275 |
14.8 Poll Process | p. 276 |
14.9 Parting Shots | p. 277 |
References | p. 279 |
Further Reading | p. 279 |
15 Precision System Clock Architecture | p. 281 |
15.1 Limitations of the Art | p. 281 |
15.2 Precision System Clock | p. 282 |
15.2.1 Timer Oscillator | p. 283 |
15.2.2 Timestamp Counter | p. 283 |
15.2.3 Real-Time Clock | p. 284 |
15.2.4 Precision System Clock Implementation | p. 285 |
15.2.5 Precision System Clock Operations | p. 287 |
15.3 Principles of Precision Timestamping | p. 289 |
15.3.1 Timestamp Transposition | p. 291 |
15.3.2 Error Analysis | p. 293 |
15.3.2.1 Reciprocity Errors | p. 294 |
15.3.2.2 Transposition Errors | p. 295 |
15.3.2.3 Interworking Errors | p. 295 |
15.3.2.4 Store-and-Forward Errors | p. 296 |
15.3.2.5 Nonreciprocal Rate Errors | p. 297 |
15.4 IEEE 1588 Precision Time Protocol | p. 298 |
15.4.1 Timestamp Capture | p. 298 |
15.4.2 PTP Clock Architecture | p. 300 |
15.4.3 PTP Messages | p. 301 |
15.4.4 Best Master Clock Algorithm | p. 302 |
15.4.5 Data Set Comparison Algorithm | p. 303 |
15.4.6 PTP Time Transfer | p. 304 |
15.4.7 PTP and NTP Compared | p. 305 |
15.5 Have Quick, STANAG 4330, and Precise Time and Time Interval Have Quick Interfaces | p. 307 |
15.6 Parting Shots | p. 309 |
References | p. 309 |
16 NTP Interleaved Modes | p. 311 |
16.1 Basic/Interleaved Protocol State Machines and Flowcharts | p. 312 |
16.2 Basic Symmetric Mode | p. 315 |
16.3 Interleaved Symmetric Mode | p. 317 |
16.4 Interleaved Broadcast Mode | p. 319 |
16.5 Error Detection and Recovery | p. 322 |
16.6 Measured Performance with the Interleaved Modes | p. 323 |
16.7 Parting Shots | p. 327 |
17 Time Transfer for Space Data Links | p. 329 |
17.1 Orbit Mechanics | p. 330 |
17.2 Clock Comparisons and the Effects of General Relativity | p. 333 |
17.3 Time Transfer from a Planet to the Solar System Barycenter | p. 338 |
17.4 Time Comparisons between Clocks in Space | p. 339 |
17.5 Spacecraft Electronics | p. 342 |
17.6 Proximity-1 Protocol | p. 345 |
17.7 Proximity-1 Time Service | p. 346 |
17.8 Time Transfer Using the Electra Transceiver | p. 347 |
17.9 Parting Shots | p. 349 |
References | p. 351 |
Further Reading | p. 352 |
18 Time Transfer for Deep-Space Missions | p. 353 |
18.1 Time Transfer between Earth Stations | p. 354 |
18.2 Time Transfer to Earth Satellites | p. 357 |
18.3 Time Transfer to the Moon and Satellites of Other Planets | p. 359 |
18.4 Time Transfer for a Planetary Space Fleet | p. 361 |
18.5 Time Transfer for Deep-Space Missions | p. 367 |
18.6 Parting Shots | p. 372 |
References | p. 375 |
19 Technical History of NTP | p. 377 |
19.1 On the Antiquity of NTP | p. 378 |
19.2 On the Proliferation of NTP around the Globe | p. 381 |
19.3 Autonomous Authentication | p. 381 |
19.4 Autonomous Configuration | p. 383 |
19.5 Radios, We Have Radios | p. 384 |
19.6 Hunting the Nanoseconds | p. 385 |
19.7 Experimental Studies | p. 388 |
19.8 Theory and Algorithms | p. 389 |
19.9 Growing Pains | p. 391 |
19.10 As Time Goes By | p. 391 |
19.11 Parting Shots | p. 392 |
References | p. 393 |
Further Reading | p. 396 |
Bibliography | p. 397 |
Acronyms | p. 407 |
Index | p. 411 |