NTP support available?

Mihai Buha mihai.buha at nivis.com
Wed Sep 13 08:59:00 UTC 2006


Hi all,

About the protocols:
* RFC 868 defines the "Time Protocol" on both tcp port 37 and udp port
37.
It permits synchronization of a client clock to a server clock
approximately to the nearest second.
It provides no mechanisms to compensate for network round trip delay or
similar sources of error.
* RFC 1305 defines the "Network Time Protocol" (NTP) on udp port 123.
It has the ability to synchronize computers across multiple time servers
while compensating for network jitter and other statistical errors.
Because of this ability, it is generally suitable for the
synchronization of a corporate time server to an atomic clock on the
global internet to within tens of milliseconds.
* RFC 4330 defines the "Simple Network Time Protocol" (SNTP, a subset of
NTP), on udp port 123.
It is able to compensate for network round trip delay and take account
of nominal dispersion to the root time source, but normally depends on a
single time server at any given time. Because of this, it is generally
suitable for synchronization of clients to a known time source on a
corporate intranet. Accurate synchronization between client and server
to the order of microseconds is attainable on local area networks using
SNTP.

About the implementations:
* rdate in busybox implements a tcp client for the time protocol (tcp
port 37).
* the ntp.org stuff is THE NTP server for Linux machines. It implements
RFC 1305 and depends highly on infrastructure inside the kernel to
continually adjust the rtc frequency so that there are no unnecessary
"time steps" in recorded time. It also is written for big, busy NTP
servers. David Mills wrote the RFC, the ntp.org stuff and the kernel
stuff.
* I have no info on openntpd.
* ntpclient implements a SNTP client. It just queries a NTP server, sets
the rtc with the answer and exits. It is sort of a rdate using SNTP. No
clock frequency adjustments, no detection of "outlier" servers. You must
call it regularly to keep your clock in sync.
* the Windows Time service seems to use SNTP inside a domain to
synchronize the workstations to the domain controller, the domain
controller to an outside server and outside the domain to synchronize
your home PC to time.windows.com or whatever NTP server you wish.

About the current state:
I know no public RFC868 servers and I know LOTS of public NTP servers.
Many embedded designs use public NTP servers and there have been cases
of http://en.wikipedia.org/wiki/NTP_server_misuse_and_abuse
To spread the load, the www.pool.ntp.org project has been started and I
have at home a NTP server part of the pool.

My opinion is that in busybox, rdate should be replaced by ntpclient.

Cheers,
Mihai

Stuff which I have no control on and which annoys the hell out of Rob
will be added below. Please ignore it.
---------------------------------------------------------



More information about the busybox mailing list