doc: update comparison with ntpd

This commit is contained in:
Miroslav Lichvar 2015-10-14 14:08:21 +02:00
parent da1f7563e9
commit 1924481077

View file

@ -137,9 +137,9 @@ The `reference' implementation of the Network Time Protocol is the
program @code{ntpd}, available via program @code{ntpd}, available via
@uref{http://www.ntp.org/, The NTP home page}. @uref{http://www.ntp.org/, The NTP home page}.
One of the main differences between @code{ntpd} and @code{chronyd} is in One of the main differences between @code{ntpd} and @code{chronyd} is in how
the algorithms used to control the computer's clock. Things they control the computer's clock. Things @code{chronyd} can do better than
@code{chronyd} can do better than @code{ntpd}: @code{ntpd}:
@itemize @bullet @itemize @bullet
@item @item
@ -159,13 +159,16 @@ longer periods of time.
@item @item
@code{chronyd} in the default configuration never steps the time to not @code{chronyd} in the default configuration never steps the time to not
upset other running programs. @code{ntpd} can be configured to never upset other running programs. @code{ntpd} can be configured to never
step the time too, but it has to use a different means of adjusting the step the time too, but in that case it has to use a different means of
clock, which has some adjusting the clock (daemon loop instead of kernel discipline), which may
disadvantages. have a negative effect on accuracy of the clock.
@item @item
@code{chronyd} can adjust the rate of the clock in a larger range, which @code{chronyd} can adjust the rate of the clock in a larger range, which
allows it to operate even on machines with broken or unstable clock allows it to operate even on machines with broken or unstable clock
(e.g. in some virtual machines). (e.g. in some virtual machines).
@item
@code{chronyd} is smaller, it uses less memory and it wakes up the CPU only
when necessary, which is better for power saving.
@end itemize @end itemize
Things @code{chronyd} can do that @code{ntpd} can't: Things @code{chronyd} can do that @code{ntpd} can't:
@ -191,21 +194,36 @@ Things @code{ntpd} can do that @code{chronyd} can't:
@itemize @bullet @itemize @bullet
@item @item
@code{ntpd} supports all operating modes from RFC 5905, including @code{ntpd} supports all operating modes from RFC 5905, including broadcast,
broadcast, multicast and manycast client / server. It supports the multicast, and manycast server/client. However, the broadcast and multicast
orphan mode and it also supports authentication based on public-key modes are inherently less accurate and less secure (even with authentication)
cryptography described in RFC 5906. than the ordinary server/client mode and should generally be avoided.
@item @item
@code{ntpd} has been ported to more types of computer / operating @code{ntpd} supports the Autokey protocol (RFC 5906) to authenticate servers
system. with public-key cryptography. Note that the protocol has been shown to be
insecure and it will be probably replaced with an implementation of the Network
Time Security (NTS) specification.
@item @item
@code{ntpd} includes drivers for many reference clocks. @code{chronyd} @code{ntpd} supports the orphan mode, which allows synchronisation to a common
relies on other programs (e.g. gpsd) to access the data from the timescale in isolated networks with multiple servers. With @code{chronyd}
reference clocks. there can be only one master and all other computers have to be directly or
indirectly synchronised to it.
@item
@code{ntpd} has been ported to more operating systems.
@item
@code{ntpd} includes a large number of reference clock drivers. @code{chronyd}
relies on other programs (e.g. @code{gpsd}) to access the timing data via the
@code{SHM} or @code{SOCK} driver.
@end itemize @end itemize
A comparison of NTP implementations that includes more features and also
their performance is on the @uref{http://chrony.tuxfamily.org/comparison.html,
chrony comparison} page.
@node Comparison with timed @node Comparison with timed
@subsection timed @subsection timed
@code{timed} is a program that is part of the BSD networking suite. It @code{timed} is a program that is part of the BSD networking suite. It