Skip to main content

RFC 5905 - Network Time Protocol Version 4: Protocol and Algorithms Specification

Publication Date: June 2010
Status: Standards Track
Obsoletes: RFC 1305, RFC 4330
Authors: D. Mills (U. Delaware), J. Martin (ISC), J. Burbank, W. Kasch (JHU/APL)


Abstract

The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the Internet. This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of the protocol. NTPv4 includes a modified protocol header to accommodate the Internet Protocol version 6 address family. NTPv4 includes fundamental improvements in the mitigation and discipline algorithms that extend the potential accuracy to the tens of microseconds with modern workstations and fast LANs. It includes a dynamic server discovery scheme, so that in many cases, specific server configuration is not required. It corrects certain errors in the NTPv3 design and implementation and includes an optional extension mechanism.


Table of Contents

Appendices

  • Appendix A. Code Skeleton
    • A.1. Global Definitions
      • A.1.1. Definitions, Constants, Parameters
      • A.1.2. Packet Data Structures
      • A.1.3. Association Data Structures
      • A.1.4. System Data Structures
      • A.1.5. Local Clock Data Structures
      • A.1.6. Function Prototypes
    • A.2. Main Program and Utility Routines
    • A.3. Kernel Input/Output Interface
    • A.4. Kernel System Clock Interface
    • A.5. Peer Process
      • A.5.1. receive()
      • A.5.2. clock_filter()
      • A.5.3. fast_xmit()
      • A.5.4. access()
      • A.5.5. System Process
      • A.5.6. Clock Adjust Process
      • A.5.7. Poll Process