Network Time Protocol (NTP)
General Overview
David L. Mills
University of Delaware
http://www.eecis.udel.edu/~mills
mailto:mills@udel.edu
                                   alautun, Maya glyph
   2-Aug-04                                              1
Introduction
z   Network Time Protocol (NTP) synchronizes clocks of hosts and routers
    in the Internet.
z   NIST estimates 10-20 million NTP servers and clients deployed in the
    Internet and its tributaries all over the world. Every Windows/XP has an
    NTP client.
z   NTP provides nominal accuracies of low tens of milliseconds on WANs,
    submilliseconds on LANs, and submicroseconds using a precision time
    source such as a cesium oscillator or GPS receiver.
z   NTP software has been ported to almost every workstation and server
    platform available today - from PCs to Crays - Unix, Windows, VMS
    and embedded systems, even home routers.
z   The NTP architecture, protocol and algorithms have been evolved over
    the last two decades to the latest NTP Version 4 described in this and
    related briefings.
2-Aug-04                                                                   2
The Sun never sets on NTP
z   NTP is argueably the longest running, continuously operating,
    ubiquitously available protocol in the Internet
     – USNO and NIST, as well as equivalents in other countries, provide multiple
       NTP primary servers directly synchronized to national standard cesium
       clock ensembles and GPS
     – Over 230 Internet primary serversare in Australia, Canada, Chile, France,
       Germany, Isreal, Italy, Holland, Japan, Norway, Sweden, Switzerland, UK,
       and US.
z   Well over a million Internet servers and clients all over the world
     – National and regional service providers BBN, MCI, Sprint, Alternet, etc.
     – Agencies and organizations: US Weather Service, US Treasury Service,
       IRS, PBS, Merrill Lynch, Citicorp, GTE, Sun, DEC, HP, etc.
     – Private networks are reported to have over 10,000 NTP servers and clients
       behind firewalls; one (GTE) reports in the order of 30,000 NTP workstations
       and PCs.
     – NTP has been on the NASA Shuttle and in Antarctica and planned for the
       Mars Internet.
2-Aug-04                                                                            3
Needs for precision time
z   Distributed database transaction journalling and logging
z   Stock market buy and sell orders
z   Secure document timestamps (with cryptographic certification)
z   Aviation traffic control and position reporting
z   Radio and TV programming launch and monitoring
z   Intruder detection, location and reporting
z   Multimedia synchronization for real-time teleconferencing
z   Interactive simulation event synchronization and ordering
z   Network monitoring, measurement and control
z   Early detection of failing network infrastructure devices and air
    conditioning equipment
z   Differentiated services traffic engineering
z   Distributed network gaming and training
2-Aug-04                                                                4
NTP capsule summary
z   Primary (stratum 1) servers synchronize to national time standards via
    radio, satellite and modem.
z   Secondary (stratum 2, ...) servers and clients synchronize to primary
    servers via hierarchical subnet.
z   Clients and servers operate in master/slave, symmetric and multicast
    modes with or without cryptographic authentication.
z   Reliability assured by redundant servers and diverse network paths.
z   Engineered algorithms reduce jitter, mitigate multiple sources and avoid
    improperly operating servers.
z   The system clock is disciplined in time and frequency using an adaptive
    algorithm responsive to network time jitter and clock oscillator
    frequency wander.
2-Aug-04                                                                     5
NTP architecture overview
                                                           Clock Discipline
    Peer 1      Filter 1
                                                              Algorithm
                             Selection
                                and         Combining
    Peer 2      Filter 2                                    Loop Filter
                             Clustering     Algorithm
                             Algorithms
                                                          P/F-Lock Loop
    Peer 3      Filter 3
                                            Timestamps
     NTP Messages                                               VFO
z   Multiple servers/peers provide redundancy and diversity.
z   Clock filters select best from a window of eight time offset samples.
z   Intersection and clustering algorithms pick best truechimers and
    discard falsetickers.
z   Combining algorithm computes weighted average of time offsets.
z   Loop filter and variable frequency oscillator (VFO) implement hybrid
    phase/frequency-lock (P/F) feedback loop to minimize jitter and
    wander.
2-Aug-04                                                                      6
NTP subnet configurations
                   S3   S3        S3                  S2           S2        S2           S2
                                                                        *                      *
                        S4                                    S3                     S3
                    Workstation                                    Clients
                        (a)                                          (b)
                        S1        S1       S1        S1       S1            S1
                                       *                  *                      *
                             S2                 S2                 S2
                                           Clients                               * to buddy (S2)
                                             (c)
z   (a) Workstations use multicast mode with multiple department servers.
z   (b) Department servers use client/server modes with multiple campus
    servers and symmetric modes with each other.
z   (c) Campus servers use client/server modes with up to six different
    external primary servers and symmetric modes with each other and
    external secondary (buddy) servers.
2-Aug-04                                                                                           7
Goals and non-goals
z   Goals
     – Provide the best accuracy under prevailing network and server conditions.
     – Resist many and varied kinds of failures, including two-face, fail-stop,
       malicious attacks and implementation bugs.
     – Maximize utilization of Internet diversity and redundancy.
     – Automatically organize subnet topology for best accuracy and reliability.
     – Self contained cryptographic authentication based on both symmetric key
       and public key infrastructures and independent of external services.
z   Non-goals
     – Local time – this is provided by the operating system.
     – Access control - this is provided by firewalls and address filtering.
     – Privacy - all protocol values, including time values, are public.
     – Non-repudiation - this can be provided by a layered protocol if necessary.
     – Conversion of NTP timestamps to and from other time representations and
       formats.
2-Aug-04                                                                            8
Evolution to NTP Version 4
z   Current Network Time Protocol Version 3 has been in use since 1992,
    with nominal accuracy in the low milliseconds.
z   Modern workstations and networks are much faster today, with
    attainable accuracy in the low microseconds.
z   NTP Version 4 architecture, protocol and algorithms have been evolved
    to achieve this degree of accuracy.
     – Improved clock models which accurately predict the time and frequency
       adjustment for each synchronization source and network path.
     – Engineered algorithms reduce the impact of network jitter and oscillator
       wander while speeding up initial convergence.
     – Redesigned clock discipline algorithm operates in frequency-lock, phase-
       lock and hybrid modes.
z   The improvements, confirmed by simulation, improve accuracy by
    about a factor of ten, while allowing operation at much longer poll
    intervals without significant reduction in accuracy.
2-Aug-04                                                                          9
NTP Version 4 autonomous system model
z   Fire-and-forget software
     – Single software distribution can be compiled and installed automatically on
       most host architectures and operating systems.
     – Run-time configuration can be automatically determined and maintained in
       response to changing network topology and server availability.
z   Optional autonomous configuration (Autoconfigure)
     – Multicast survey nearby network environment to construct a list of suitable
       servers.
     – Select best servers from among the list using a defined metric.
     – Reconfigure the subnet for best accuracy with overhead constraints.
     – Periodically refresh the list in order to adapt to changing topology.
z   Optional autonomous authentication (Autokey)
     – For each new server found, fetch and verify its cryptographic credentials.
     – Authenticate each message received using engineered protocol.
     – Regenerate keys in a timely manner to resist compromise.
2-Aug-04                                                                             10
A day in the life of a busy NTP server
z   NTP primary (stratum 1) server rackety is a Sun IPC running SunOS
    4.1.3 and supporting 734 clients scattered all over the world
z   This machine supports NFS, NTP, RIP, IGMP and a mess of printers,
    radio clocks and an 8-port serial multiplexor
z   The mean input packat rate is 6.4 packets/second, which corresponds
    to a mean poll interval of 157 seconds for each client
z   Each input packet generates an average of 0.64 output packets and
    requires a total of 2.4 ms of CPU time for the input/output transaction
z   In total, the NTP service requires 1.54% of the available CPU time and
    generates 10.5, 608-bit packets per second, or 0.41% of a T1 line
z   The conclusion drawn is that even a slow machine can support
    substantial numbers of clients with no significant degradation on other
    network services
2-Aug-04                                                                      11
             Clients per server population by stratum (1997 survey)
             800
             700
             600
                                                              Max
                                                              Top 10
             500
                                                              Mean
Population
             400
             300
             200
             100
               0
                        1    2         3         4        5            6-14
             2-Aug-04                                                         12
Server population by stratum (1997 survey)
                                 60
                           316          219
                 1950
                                              4413
                                      ser
                                                     1
                                                     2
                                                     3
                                                     4
                                                     5
                                                     6-14
                   6585
2-Aug-04                                                    13
Client population by stratum (1997 survey)
                                    989   115
                      13051.00862               11211
                                                        49073
                                                                1
                                                                2
                                                                3
                                                                4
                                                                5
                                                                6-14
             106825
2-Aug-04                                                               14
Reference clock sources (1997 survey)
z   In a survey of 36,479 peers, found 1,733 primary and backup external
    reference sources
z   231 radio/satellite/modem primary sources
     – 47 GPS satellite (worldwide), GOES satellite (western hemisphere)
     – 57 WWVB radio (US)
     – 17 WWV radio (US)
     – 63 DCF77 radio (Europe)
     – 6 MSF radio (UK)
     – 5 CHU radio (Canada)
     – 7 modem time service (NIST and USNO (US), PTB (Germany), NPL (UK))
     – 25 other (precision PPS sources, etc.)
z   1,502 local clock backup sources (used only if all other sources fail)
z   For some reason or other, 88 of the 1,733 sources appeared down at
    the time of the survey
2-Aug-04                                                                     15
 Timekeeping facilities at UDel
   WWVB                  GPS             Cesium       LORAN-C            GPS, etc
receivers (2)        receivers (2)      clocks (2)   receivers (2)     receivers (3)
             ASCII                                                          ASCII, IRIG
             IRIG                                                      grundoon PPS        Cesium
               PPS                                                    NTP monitor           clock
     pogo              rackety         barnstable     UDELnet              ISDN        Backroom
     DCnet              public          DARTnet        routers            bridge       Test Facility
DCnet 128.4                           DARTnet                    UDELnet, Internet
10/100 Mb/s                          1.5 Mb/s T1                  1000/622 Mb/s
 z     Cesium oscillators are calibrated by U.S. Naval Observatory and
       checked continuously by Northeast US LORAN-C chain and GPS
 z     NTP primary time servers synchronize to ASCII, PPS and IRIG-B, all
       with kernel modifications for precision timekeeping
 z     NTP secondary servers (not shown) include SunOS 4/5, Ultrix 4,
       OSF/1, HP-UX, Cisco, Bancomm and Fuzzball (semi-retired)
 2-Aug-04                                                                                              16
Precision timekeeping equipment (prior to 2000)
                          Austron 2200A GPS Receiver
                          Austron 2000 LORAN-C Receiver
                          Spectracom 8170 WWVB Reciver
                          Hewlett Packard 5061A Cesium Beam
                          Frequency Standard
                           NTP primary time server rackety
2-Aug-04                                                      17
Squeezing the nanoseconds
z   This shows the residual error measured between the Austron 2201
    GPS receiver and the HP 5061A cesium clock
z   The GPS receiver is stabilized using the LORAN-C receiver, which
    improves its accuracy to about 50 ns, in spite of the intentional
    degradation introduced in the GPS signal available to the public
2-Aug-04                                                                18
Udel Master Time Facility (MTF) (from January 2000)
                                      Spectracom 8170 WWVB Receiver
                                      Spectracom 8183 GPS Receiver
                                      Spectracom 8170 WWVB Receiver
                                      Spectracom 8183 GPS Receiver
                                      Hewlett Packard 105A Quartz
                                      Frequency Standard
                                      Hewlett Packard 5061A Cesium Beam
                                      Frequency Standard
     NTP primary time servers rackety and pogo (elsewhere)
2-Aug-04                                                             19
Briefing roadmap on NTP technology and performance
z   NTP project page http://www.eecis.udel.edu/~mills/ntp.html/.
     – Network Time Protocol (NTP) General Overview
           z   NTP Architecture, Protocol and Algorithms
           z   NTP Procedure Descriptions and Flow Diagrams
     – NTP Security Model
           z   NTP Cryptographic Authentication (Autokey)
           z   NTP Security Algorithms
     – NTP Clock Discipline Principles
     – NTP Precision Synchronization
     – NTP Performance Analysis
     – NTP Algorithm Analysis
     – Long-range Dependency Effects in NTP Timekeeping
2-Aug-04                                                           20
NTP online resources at www.ntp.org
z   Network Time Protocol (NTP) Version 3 Specification RFC-1305
     – NTPv4 features documented in release notes and reports cited elsewhere
z   Simple NTP (SNTP) Version 4 specification RFC-2030
     – Applicable to IPv4, IPv6 and ISO CNLS
z   List of public NTP time servers (as of July 2004)
     – 128 active primary (stratum 1) servers
     – 178 active stratum 2 servers
z   NTP Version 4 software and documentation
     – Ported to over two dozen architectures and operating systems
     – Utility programs for remote monitoring, control and performance evaluation
     – Complete documentation in HTML format
z   NTP project page
     – Briefings, web pages, technical information
2-Aug-04                                                                        21
Further information
z   NTP home page http://www.ntp.org
     – Current NTP Version 3 and 4 software and documentation
     – FAQ and links to other sources and interesting places
z   David L. Mills home page http://www.eecis.udel.edu/~mills
     – Papers, reports and memoranda in PostScript and PDF formats
     – Briefings in HTML, PostScript, PowerPoint and PDF formats
     – Collaboration resources hardware, software and documentation
     – Songs, photo galleries and after-dinner speech scripts
z   Udel FTP server: ftp://ftp.udel.edu/pub/ntp
     – Current NTP Version software, documentation and support
     – Collaboration resources and junkbox
z   Related projects http://www.eecis.udel.edu/~mills/status.htm
     – Current research project descriptions and briefings
2-Aug-04                                                              22