This book is all about wrangling a herd of network computers so that all display the correct time. This may seem like a really narrow business, but the issues go far beyond winding the clock on your display taskbar. Carefully coordinated, reliable, and accurate time is vital for traffic control in the air and on the ground, buying and selling things, and TV network programming. Even worse, ill-gotten time might cause domain name system (DNS) caches to expire and the entire Internet to implode on the root servers, which was considered a serious threat on the eve of the millennium in 1999. Critical data files might expire before they are created, and an electronic message might arrive before it was sent. Reliable and accurate computer time is necessary for any real-time distributed computer application, which is what much of our public infrastructure has become.
This book speaks to the technological infrastructure of time dissemination, distribution, and synchronization, specifically the architecture, protocols, and algorithms of the Network Time Protocol (NTP). NTP has been active in one form or another for more than two decades on the public 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 — print servers, Wi-Fi access points, routers of every stripe, and even battery backup systems. NTP subnets are in space, on the seabed, on board warships, and on every continent, including Antarctica. NTP comes with Windows/XP and NT2000, as well as all flavors of Unix. About 25 million clients implode on the NTP time servers at National Institutes of Science and Technology (NIST) alone.
This book is designed primarily as a reference book, but is suitable for a specialized university course at the senior or graduate level in both computer engineering and computer science departments. Some chapters may go down more easily for an electrical engineer, especially those dealing with mathematical concepts; others more easily for a computer scientist, especially those dealing with computing theory, but each will learn from the other. There are things for mathematicians and cryptographers, even something for historians.