Data Fields | |
uint8_t | flags |
The flags. | |
struct ntpTimestamp_t | originateTimestamp |
The T1, see RFC 2030. | |
uint8_t | poll |
Maximum interval between successive messages. | |
int8_t | precision |
Servers time precision. | |
struct ntpTimestamp_t | receiveTimestamp |
The T2, see RFC 2030. | |
ucnt32_t | referenceIdentifier |
Identifies the particular reference clock. | |
struct ntpTimestamp_t | referenceTimestamp |
The timestamp of the last setting of the local clock. | |
ucnt32_t | rootDelay |
see RFC 2030 | |
ucnt32_t | rootDispersion |
see RFC 2030 | |
uint8_t | stratum |
A kind of time server hierarchy level. | |
struct ntpTimestamp_t | transmitTimestamp |
The T3, see RFC 2030. |
NTP message type.
See
Network Time Protocol Version 4 Protocol and Algorithms Specification [draft]
or see RFC 4330
Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI
and see also [RFC 2030, cites below]
NTP client operations [RFC 2030 quoted]:
Timestamp name ID is set when ----------------------------------------------------------------------- originateTimestamp T1 request sent by client as transmitTimestamp receiveTimestamp T2 request received by server transmitTimestamp T3 reply sent by server destinationTimestamp T4 reply received by client The roundtrip delay d and system clock offset t are defined as: d = (T4 - T1) - (T3 - T2) t = ((T2 - T1) + (T3 - T4)) / 2
For the arithmetic operations on the timestamps use the functions ntpTimestampSum, ntpTimestampDif and ntpTimestampHalf.
uint8_t flags |
The flags.
This byte consists of the leap indicator (2 Bits), a version number (3 bits) and mode (3 bits).
uint8_t poll |
Maximum interval between successive messages.
The value is 2**poll s.
Range: 4 .. 17 (16s .. 36h)
int8_t precision |
Servers time precision.
The value is 2**precision s.
Range: -6 .. -20 (16ms .. 1µs)
Identifies the particular reference clock.
Not used or evaluated here. See RFC 2030.
struct ntpTimestamp_t referenceTimestamp |
The timestamp of the last setting of the local clock.
If the local clock has never been synchronized, the value is zero; see RFC 2030.
Not used or evaluated here.