RFC 868 / START HERE
Time Protocol, before the details
Time Protocol is the publication’s name, not an expanded acronym.
RFC 868 defines a tiny service that returns a machine-readable time: a 32-bit binary number counting seconds since midnight on 1 January 1900 GMT. An epoch is this agreed starting instant. It can use either a TCP connection or an empty UDP request to port 37.
The idea in one picture
Ask a time server
Receive 32-bit time
Interpret with limits
A simplified picture of the idea; the chapters explain the actual mechanisms.
Why it exists
Some early systems lacked clocks or had incorrect clocks. This 1983 service let a host poll time servers to confirm or correct its idea of time. It is a legacy time-value exchange, distinct from NTP’s synchronization mechanisms and from a human-readable date format.
A familiar example
A legacy monitoring tool connects to a time server and receives a binary value. The RFC’s example 2,208,988,800 means midnight on 1 January 1970 GMT. The value alone does not prove the server is trusted, compensate for network delay or resolve the format’s stated 2036 horizon.
Helpful background
You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.
What you’ll learn next
Begin with chapter one, or choose a topic.
- Count seconds from the 1900 epochA time value counts seconds from a fixed origin, called an epoch. It is a binary number, not a formatted date string.→
- Connect to receive the TCP timeThe user opens a TCP connection to the server on port 37. Establishment triggers the time reply; no application request string is specified.→
- Send an empty UDP requestThe UDP user sends an empty datagram to port 37. The server sends back a datagram containing the 32-bit time.→
- Keep unknown time out of repliesA server that cannot determine its own time has different failure behavior for TCP and UDP. It should not invent a timestamp.→
- Recognize the format and trust limitsA small time reply is not a full clock-synchronization or security protocol. Its 32-bit format and source trust require care.→
This introduction explains RFC 868 (1983). Read the original RFC ↗