Previous  Top  Next

Windows Time Server

Appendix A
NTP Data Format - Version 3

The format of the NTP Message data area, which immediately follows the UDP header, is shown in Figure 4. Following is a description of its fields.

Leap Indicator (LI): This is a two-bit code warning of an impending leap second to be inserted/deleted in the last minute of the current day, with bit 0 and bit 1, respectively, coded as follows:

00

no warning

01

last minute has 61 seconds

10

last minute has 59 seconds)

11

alarm condition (clock not synchronized)


Version Number (VN): This is a three-bit integer indicating the NTP version number, currently three (3).

Mode: This is a three-bit integer indicating the mode, with values defined as follows:

0

reserved

1

symmetric active

2

symmetric passive

3

client

4

server

5

broadcast

6

reserved for NTP control message (see Appendix B)

7

reserved for private use

ntp3_figure4



Stratum: This is a eight-bit integer indicating the stratum level of the local clock, with values defined as follows:

0

unspecified

1

primary reference (e.g.,, radio clock)

2-255

secondary reference (via NTP)



The values that can appear in this field range from zero to NTP.INFIN inclusive.

Poll Interval: This is an eight-bit signed integer indicating the maximum interval between successive messages, in seconds to the nearest power of two. The values that can appear in this field range from NTP.MINPOLL to NTP.MAXPOLL inclusive.

Precision: This is an eight-bit signed integer indicating the precision of the local clock, in seconds to the nearest power of two.

Root Delay: This is a 32-bit signed fixed-point number indicating the total roundtrip delay to the primary reference source, in seconds with fraction point between bits 15 and 16. Note that this variable can take on both positive and negative values, depending on clock precision and skew.

Root Dispersion: This is a 32-bit signed fixed-point number indicating the maximum error relative to the primary reference source, in seconds with fraction point between bits 15 and 16. Only positive values greater
than zero are possible.

Reference Clock Identifier: This is a 32-bit code identifying the particular reference clock. In the case of stratum 0 (unspecified) or stratum 1 (primary reference), this is a four-octet, left-justified, zero-padded ASCII string. While not enumerated as part of the NTP specification, the following are suggested ASCII identifiers:

Stratum

Code

Meaning

0

DCN

DCN routing protocol

0

NIST

NIST public modem

0

TSP

TSP time protocol

0

DTS

Digital Time Service

1

ATOM

Atomic clock (calibrated)

1

VLF

VLF radio (OMEGA,, etc.)

1

callsign

Generic radio

1

LORC

LORAN-C radionavigation

1

GOES

GOES UHF environment satellite

1

GPS

GPS UHF satellite positioning


In the case of stratum 2 and greater (secondary reference) this is the four-octet Internet address of the primary reference host.

Reference Timestamp: This is the local time at which the local clock was last set or corrected, in 64-bit timestamp format.

Originate Timestamp: This is the local time at which the request departed the client host for the service host, in 64-bit timestamp format.

Receive Timestamp: This is the local time at which the request arrived at the service host, in 64-bit timestamp format.

Transmit Timestamp: This is the local time at which the reply departed the service host for the client host, in 64-bit timestamp format.

Authenticator (optional): When the NTP authentication mechanism is implemented, this contains the authenticator information defined in Appendix C.