    NWG/RFC# 738                                         KLH 31 Oct 77 42218
    Network Working Group                                     K. Harrenstien
    Request for Comments: 738                                         SRI-KL
    NIC: 42218                                               31 October 1977

                                  Time Server

    This note describes the Time Server protocol, as currently implemented
    on ITS hosts (i.e. MIT-(AI/ML/MC/DMS)).  The idea is to provide a
    site-independent, machine readable date and time in as efficient and
    swift a manner as possible; its 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.

    In particular the network time server works as follows:

       S: Listen on socket 37 (45 octal).

       U: Connect to socket 37 [not ICP].

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

       U: Close the connection.

       S: Close the connection.

    Note that this is not a normal ICP sequence.  Rather, instead of sending
    a 32-bit socket number to reconnect to, 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.

    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.  As a further example, the most
    recent leap year as of this writing began from the time 2,398,291,200
    which corresponds to 0000 1 Jan 1976 GMT.

                                                                    [Page 1]