Timeline

Schon früh in der Geschichte des Internet kam die Frage auf, wie man zwischen vernetzten Rechnern die Zeit übermitteln könne. Die ersten Ansätze waren simpel: Ein Server kann über Port 13 (RFC867) seine Zeit als ASCII-Klartext zur Verfügung stellen. Alternativ gibt er über Port 37 (RFC868) die Zahl der seit 1.1.1900 Uhr verstrichenen Sekunden als 32-Bit-Binärwert aus. Feiner als eine Sekunde kann man die Zeit mit diesen Services nicht auflösen.
Obendrein sind simple Verfahren wie daytime und time nur innerhalb eines LAN einigermaßen genau, weil dort IP-Pakete mit Millisekundenverzögerung durchlaufen. Beim Zugriff über das Internet mit seinen nicht vorhersagbaren Latenzen kann es dagegen größere und vor allem zeitlich schwankende Abweichungen (Jitter) geben. Schließlich müssen manche Server bei jeder Zeitanfrage über daytime oder time einen neuen Prozess starten: Greifen viele Clients häufig auf diese Dienste zu, steigt die Systemlast übermäßig an. Schon deshalb sollte man diese Funktionen nur in Ausnahmefällen verwenden.
Zwar läuft der time-Zähler erst anno 2036 über, aber die Genauigkeit hängt, genauso wie bei daytime, hauptsächlich von der internen Uhr des Servers ab. Stellt der Administrator diese nicht regelmäßig nach, kann sie im Laufe der Zeit erheblich abweichen. David L. Mills, Chefentwickler von NTP, fand 1988 heraus, dass damals sechzig Prozent von 1158 überprüften Servern mehr als eine Minute von der wahren Zeit abwichen, zehn Prozent sogar mehr als 13 Minuten.
Die Mängel von daytime und time führten zur Entwicklung des hierarchischen Network Time Protocol (Port 123, RFC1035 und andere). Darüber können Server untereinander eine gemeinsame Zeit ermitteln. Die Paketlaufzeiten im Netz misst und kompensiert NTP dabei weitgehend. Der NTP-Prozess eines Servers arbeitet zugleich selbst als Uhr, er verlässt sich nicht auf die Systemuhr.