\section{Using NTP}\label{sec:ntp}
%
\begin{description}
\item[Used files:] nettime.scm
\item[Name of the package:] nettime
\end{description}
%

\subsection{Overview}
Most Unix hosts provide a Daytime service which sends the current date
and time as a human-readable character string. The daytime service is
typically served on port 13 as both TCP and UDP.

The Time protocol provides a site-independent, machine readable date
and time. A ``time'' consists of the number of seconds since midnight on
1st January 1900. The Time service is typically served on port 37 as
TCP and UDP. The idea is that you can confirm your system's idea of
the time by polling several independent sites on the network.

\subsection{Procedures}

\begin{defundesc}{net:time}{host tcp/udp}{integer}
  Asks \semvar{host} about the current time. \semvar{tcp/udp} is
  either \ex{socket\=type/\ob{}stream} or
  \ex{socket\=type/\ob{}datagram}, that indicate TCP or UDP
  connection, respectively (depends on the server).\FIXME{Is it
    correct, that the tcp/udp argument describes TCP or UDP use via
    socket-type/stream or socket-type/datagram, resp.?} The number of
  second since 1970 is returned, since the time protocol returns the
  number of seconds since 1900, whereas Unix time is since 1970. The
  difference between both answers is 2208988800.
\end{defundesc}

\begin{defundesc}{net:daytime}{host tcp/udp}{string}
  Asks \semvar{host} about the current daytime. \semvar{tcp/udp} is
  the same as in \ex{net:time}, indicating to use TCP or UDP. The
  host's answer is returned (e.g., ``Thursday, April 4, 2'').
\end{defundesc}

\subsection{Related work}
\begin{itemize}
\item \ex{Time.pm} is a Perl module by Graham Barr
\item RFC~868 describes the Time protocol
\item RFC~867 describes the Daytime protocol in all its glory
\item For a genuinely useful protocol look at the Network Time
  Protocol defined in RFC~1305, which allows for the synchronization
  of clocks on networked computers.
\end{itemize}
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
