Zeitabfrage richtig gestellt

NTP ist nützlich, um die Zeit auf Rechnern und Routern automatisch zu stellen. Doch gedankenlose Implementierungen beeinträchtigen das System.

In Pocket speichern vorlesen Druckansicht 249 Kommentare lesen
Lesezeit: 5 Min.

Mit dem Network Time Protocol (NTP) besitzt die Internet-Gemeinde ein nützliches Werkzeug, um die Uhrzeit auf Servern, Arbeitsplätzen oder Embedded-Geräten mit der Weltzeit UTC abzugleichen. Auch Hersteller von Netzwerk-Equipment verwenden gern NTP, um die interne Uhr von Routern nachzustellen, damit beispielsweise Zugriffsprotokolle die korrekte Zeit ausweisen. Leider nutzen manche Firmware-Entwickler das Protokoll geradezu gedankenlos und überfluten auch nichtöffentliche Zeitquellen mit Anfragen – Netgear vor einiger Zeit und gerade erst D-Link lieferten unrühmliche Beispiele.

NTP sorgt primär für den Gleichlauf der internen Uhren vernetzter Geräte. In einem LAN kann man den Gangunterschied auf wenige hundert Mikrosekunden drücken; bei ausreichend flinken Internet-Verbindungen kommt NTP bis auf etwa zehn Millisekunden herab. Stellt ein NTP-Server seine Uhr nach einer externen Quelle, etwa einem GPS- oder Langwellenempfänger, dann kann er im Netz die gesetzliche Zeit verteilen.

Zwar genügen vier kurze UDP-Pakete, damit ein Router seine Uhr nachstellen kann, doch wenn dies Hunderttausende von Geräten im Minutenabstand tun, kommt dennoch eine nennenswerte Last zusammen. Deshalb sind die Server-Betreiber daran interessiert, den Traffic möglichst gut zu verteilen. Die Architekten des NTP-Systems haben dafür eine hierarchische, baumartige Struktur mit verschiedenen Schichten (Strata) ersonnen: Wenige Server mit eigener Zeitquelle (Stratum 1) gleichen ihre Uhren untereinander peer-to-peer ab und versorgen eine größere Zahl Stratum-2-Server, die ihrerseits nachrangige Server oder Clients bedienen.

Ignorieren NTP-Clients wie typischerweise Breitband- oder ADSL-Router diese Architektur, dann steigt der Verkehr für Stratum-1-Server über Gebühr an. Das verursacht wegen höherer CPU-Last stärkere Laufzeitschwankungen (Jitter) beim Zusammenspiel mit den Stratum-2-Servern, was wiederum den Gleichlauf verschlechtert. Schließlich muss auch jemand den zusätzlichen Datenverkehr respektive die nötige Infrastruktur bezahlen. Deshalb sollte man alle Stratum-1-Server in Ruhe lassen, die in der Server-Liste nicht ausdrücklich als Open Access – also frei für alle – gekennzeichnet sind. Als Alternative zum mühsamen Durchsuchen der Liste kann man das NTP-Pool-Projekt nutzen, wo Betreiber öffentlicher Server ihre Adressen eintragen. Client-Anfragen verteilt der Pool reihum, sodass die Last automatisch verteilt wird. Dabei kann der Zugriff auch regional beschränkt stattfinden, etwa per Kontinent oder Land.

Ein Problem mit überhand nehmendem NTP-Traffic manifestierte sich erstmalig vor knapp drei Jahren bei Netgear-Produkten und jüngst wieder bei D-Link-Geräten. D-Link teilte auf unsere Anfrage inzwischen mit, dass der Zugriff auf den dänischen Server bei den in Deutschland vertriebenen Routern mit einer seit dem 2.3.2006 verfügbaren Firmware abgestellt ist. Diese ist für die betroffenen Modelle DI-614+ Rev. A und B, DI-624 Rev. B sowie DI-624+ Rev. A per FTP erhältlich. Die Ausführungen DI-624 Rev. A sowie DI-754 wurden laut D-Link in Deutschland nie offiziell vertrieben. Ferner kann jeder Besitzer dem Gerät manuell einen Server vorgeben. Dazu öffnet man die Konfiguration per Browser und trägt den Servernamen unter "Tools" ? "Time" ? "Customized NTP" ein. Das Abfrageintervall kann man bei der Gelegenheit ohne spürbare Nachteile auf acht oder 24 Stunden hochstellen. Netgear hat das Problem gleich gründlich gelöst und fünf eigene NTP-Server aufgesetzt (time-[a,b,c,e,h].netgear.com), bei denen neuere Router anfragen.

Allerdings können auch andere D-Link-Modelle noch unerwünschte Anfragen aussenden: Wir überprüften einen DI-624 Rev. C. In seiner englischen Firmware-Version 2.57 sind 34 NTP-Server hinterlegt, von denen nur 25 einen freien Zugang bieten. Der Rest, ein Viertel der Liste, ist eigentlich Stratum-2-Servern beziehungsweise Clients in bestimmten Gebieten oder Organisationen vorbehalten. In der deutschen Firmware 2.53 steckt die gleiche Tabelle. Immerhin kann man auch bei diesem Modell einen NTP-Server manuell vorgeben.

Hierzulande ist die Physikalisch-Technische Bundesanstalt unter anderem zuständig für die aus Atomuhren abgeleitete, gesetzliche Zeit, die für Funkuhren über den Langwellensender DCF77, per Modem, Satellit und schließlich über das Internet verbreitet wird. Dazu betreibt die PTB zwei öffentliche Stratum-1-Server, die ausdrücklich für allgemeinen Zugriff freigegeben sind: ptbtime1.ptb.de und ptbtime2.ptb.de, auch kürzer erreichbar als ntp[1|2].ptb.de. Den Betreibern sollte man die erwünschte, aber nicht geforderte Benachrichtigung zukommen lassen.

Wie NTP funktioniert und man die Zeitabfrage auf Windows- respektive Mac-OS-Rechnern automatisiert, schildert der c't-Beitrag Zeitnahme. Die Einrichtung von NTP-Clients und Servern unter Linux erläutert der Artikel Zeitige Bedienung. (ea)