# The Secure Network Time Protocol (NTPsec) Distribution

| P.T. Bridgeport Bear; from Pogo, Walt Kelly Pleased to meet you.

## 1. Related Links

- A list of all links is on the Site Map page.

## 2. Table of Contents

- Introduction

- Supported Platforms

- Building and Installing NTP

- Manual Pages

- The Handbook

- Resolving Problems

- Further Information

## 3. Introduction

The Network Time Protocol software contained in this distribution is available without charge under the conditions set forth in the Copyright Notice.

This distribution is an implementation of RFC 5905 "Network Time Protocol Version 4: Protocol and Algorithms Specification". NTP is widely used to synchronize a computer to Internet time servers or other sources, such as a radio or satellite receiver or telephone modem service. It can also be used as a server for dependent clients. It provides accuracies typically less than a millisecond on LANs and up to a few tens of milliseconds on WANs. Typical NTP configurations utilize multiple redundant servers and diverse network paths in order to achieve high accuracy and reliability.

For background on the problems NTP solves, see Introduction to Time Service. This white paper discusses time source types, relative accuracy, relative cost, and how those figures of merit have changed in recent decades.

The Glossary of NTP-speak might also be a helpful guide for the perplexed.

Use caution when employing search engines to dig up NTP material. There are many, many copies of the NTP documentation out there, often referring to very old versions and carrying stale information. It’s best to use only the HTML and manpages that come with your distribution.

For differences between NTPsec and legacy versions, see this summary. For details on relevant RFCs and standards, see here.

## 4. Supported platforms

NTPsec supports all operating systems conforming to POSIX.1-2001 and ISO/IEC 9899:1999 (aka C99). The POSIX.1-2008 clock calls clock_gettime(2) and clock_settime(2) must also be present. Primary platforms include Linux and the *BSD family; any reasonably modern proprietary Unix will also serve. The OS must have either a Linux-like adjtimex(2) call or a BSD-like ntp_adjtime(2) call.

Legacy Windows support has been removed from the NTPsec codebase. Future Windows support will be conditional on the quality of POSIX/C99 emulation environments such as Cygwin and/or the support for Linux binary execution in Windows 10 and later.

If you have a requirement for time service on an OS we don’t support, and its API is reasonably close to our POSIX/C99 conformance baseline, we’ll try to meet you halfway. We’re open to development partnerships with individuals and organizations who have special needs and can contribute either engineering time or money to meet our costs of development; our only hard condition is that all joint results must be redistributable as open source.

## 5. The Handbook

A good deal of tutorial and directive information is available in the handbook pages. These should be read in conjunction with the command and option information available on the pages listed on the Site Map page.

Client Quick Start Guide

  Basic configuration for 99% of client installations. Introduces concepts used later in the Handbook.

NTS Quick Start Guide

  A short guide for setting up for NTS.

Association Management

  Describes how to configure servers and peers and manage the various options. Includes automatic server discovery schemes.

Automatic Server Discovery Schemes

  Describes automatic server discovery using broadcast and server pool schemes.

Access Control Support

  Describes the access control mechanisms that can be used to limit client access to various time and management functions.

Authentication Support

  Describes the cryptographic authentication mechanisms.

Rate Management

  Describes the principles of rate management to minimize network load and defend against DoS attacks.

Reference Clock Support

  Describes the collection of clocks and devices used to synchronize primary servers.

How NTP Works

  Gives an overview of the NTP daemon architecture and how it works.

Outside Tools

  A variety of tools not directly maintained by the NTPsec project that can be useful for administering and monitoring NTP. This page collects some references and links.

## 6. Building and Installing NTP

The Building and Installing the Distribution page gives an overview of the procedures for building and installing NTPsec on a typical system. For more details, see the INSTALL file in the distribution root.

### 6.1. Manual Pages

- `ntp.conf(5)` - ntpd Configuration File

- `ntp.keys(5)` - NTP symmetric key file format

- `ntpd(8)` - Network Time Protocol (NTP) daemon

- `ntpdig(1)` - Simple Network Time Protocol (SNTP) client

- `ntpfrob(8)` - frob the local clock hardware

- `ntpkeygen(8)` - generate public and private keys

- `ntpleapfetch(8)` fetch and manage leap-offset file

- `ntploggps(1)` - log gpsd data for use by ntpviz

- `ntplogtemp(1)` - log system temperature data for use by ntpviz

- `ntpmon(1)` - real-time NTP status monitor

- `ntpq(1)` - standard NTP query program

- `ntpsnmp(1)` - an AgentX Simple Network Management Protocol sub-agent [`experimental`]

- `ntpsweep(1)` - print information about given NTP servers

- `ntptime(8)` - read and set kernel time variables

- `ntptrace(1)` - trace a chain of NTP servers back to the primary source

- `ntpviz(1)` - make offset, jitter, and other plots from logfiles

- `ntpwait(8)` - wait until ntpd is in synchronized state

## 7. Resolving Problems

Like other things in modern Internet life, NTP problems can be devilishly intricate. This distribution includes a number of utilities designed to identify and resolve problems using an integrated management protocol supported by the `ntpq` utility program.

The NTP Debugging Techniques page contains useful information for identifying problems and devising solutions. Additional information on reference clock driver construction and debugging is in the Debugging Hints for Reference Clock Drivers page.

Users are invited to report bugs and offer suggestions via the NTP Bug Reporting Procedures page.

## 8. Further Information

The Site Map page contains a list of document collections arranged by topic. The Program Manual Pages collection may be the best place to start. The Command Index collection contains a list of all configuration file commands together with a short function description. There is a glossary of NTP-speak. A great wealth of additional information is available via the External Links collection, including a book and numerous background papers and briefing presentations.

Background information on computer network time synchronization is on the Executive Summary - Computer Network Time Synchronization page. Background information, bibliography and briefing slides suitable for presentations are on the Network Time Synchronization Research Project page. Additional information is at the NTPsec web site www.ntpsec.org.

You can also read a brief history of NTP.

Home Page | Site Map | Contacts