IEN 142                                             K. Harrenstien - SRI
                                                         J. Postel - ISI
                                                              April 1980



                              Time Server




This note describes the Time Server protocol.  This protocol provides a
site-independent, machine readable date and time.

One motivation arises from the fact that not all systems have a
date/time clock, and all are subject to occasional human or machine
error.  The use of time-servers makes it possible to quickly confirm or
correct a system's idea of the time, by making a brief poll of several
independent sites on the network.

This protocol may be used either above the Transmission Control Protocol
(TCP) [1] or above the User Datagram Protocol (UDP) [2].

When used via TCP the time service works as follows:

   S: Listen on port 37 (45 octal).

   U: Connect to port 37.

   S: Send the time as a 32 bit binary number.

   U: Receive the time.

   U: Close the connection.

   S: Close the connection.

   The server listens for a connection on port 37.  When the connection
   is established, the server returns a 32-bit time value and closes the
   connection.  If the server is unable to determine the time at its
   site, it should either refuse the connection or close it without
   sending anything.














                                                                [Page 1]


IEN 142                                                       April 1980
Time Server



When used via UDP the time service works as follows:

   S: Listen on port 37 (45 octal).

   U: Send an empty datagram to port 37.

   S: Receive the empty datagram.

   S: Send a datagram containing the time as a 32 bit binary number.

   U: Receive the time datagram.

   The server listens for a datagram on port 37.  When a datagram
   arrives, the server returns a datagram containing the 32-bit time
   value.  If the server is unable to determine the time at its site, it
   should discard the arriving datagram and make no reply.

The time is the number of seconds since 0000 (midnight) 1 January 1900
GMT, such that the time 1 is 12:00:01 am on 1 January 1900 GMT; this
base will serve until the year 2036.  For example, the time
2,398,291,200 corresponds to 0000 1 Jan 1976 GMT.

REFERENCES

   [1]  Postel, J., "DOD Standard Transmission Control Protocol",
        IEN 129, USC/Information Sciences Institute, January 1980.

   [2]  Postel, J., "Used Datagram Protocol", IEN 88, USC/Information
        Sciences Institute, May 1979.






















                                                                [Page 2]