Network Time Protocol

Synchronisation von Datum und Zeit

Es gibt erstaunlich viele Möglichkeiten, die Systemuhr eines PC mit einem Zeit-Standard zu synchronisieren. Wählen sie daraus nach technischer Möglichkeit, Kosten und ihrem Bedarf an Genauigkeit.
Im Internet-Zeitalter sollte es keine ungenauen PC-Uhren mehr geben ...
Datum und Zeit Datum & Zeit Schnittpunkt von uralter Kultur und Informationstechnik
Datum und Zeit Server Gemeinsam genutzte Hintergrund-Dienste (Linux, Windows)
NTP Das Network Time Protocol zur Synchronisation der Zeit  
Zeit-Protokolle NTP (SNTP), DayTime, Time  
A, CH, D Ausgewählte NTP-Server in Österreich, Schweiz und Deutschland
NTP-Pool Weltweiter Pool von NTP Zeit-Servern
Telefon Synchronisation mit Telefon und Modem
ISDN Synchronisation mit der Provider-Zeit
Funk-Uhren Zeitsignal auf Langwelle: DCF-77
GPS Atomuhren in Satelliten
Webseiten Zeit aus Live-Webseiten lesen, Webserver als Zeitserver
NTP-Linux NTP auf Linux
NTP-Windows NTP auf Windows
Links Ausgewählte NTP-Links Links zum Thema 'NTP'

Das Network Time Protocol NTP (SNTP)

Die Hardware-PC-Uhr

Jeder PC und Server verfügt über eine interne Hardware-Uhr, die mit Hilfe einer kleinen Batterie auch im abgeschalteten Zustand weiterläuft.
Die Bekanntgabe der (Hardware)-Zeit an das Betriebssystem erfolgt normalerweise durch Interrupts:
Der momentane Ablauf der Programme wird "kontrolliert unterbrochen", d.h. der Inhalt aller Register gesichert. Dann wird ein kurzes Programm ausgeführt, welches den entsprechenden Betriebssystem-Variablen die Zeit der Hardware-Uhr mitteilt. Zuletzt werden die Register wiederhergestellt, der Programmlauf geht weiter.

Bei hoher Auslastung des Prozessors (CPU) kann es zu Verzögerungen kommen - Die PC-Systemzeit bleibt zurück, pro Tag z.B. einige Sekunden.
Gute Betriebssysteme "merken" sich, um welche Differenz die interne Uhr bei einer (manuellen oder automatischen) Synchronisation nachgestellt wird, und berücksichtigen diese 'Drift'. Bei halbwegs gleichbleibender Last wird so auch ohne weitere Synchronisation eine gute Genauigkeit (1..10 sec/Tag ) erzielt.
→ Linux bietet darüber hinaus die Möglichkeit, Hardware- und Software-Uhr des PC getrennt abzulesen oder einzustellen.
Hardware-Synchronisation: Die beste aber auch teuerste Methode zur genauen Zeit-Einstellung erfolgt durch eigene spezialisierte Hardware (z.B. über den ↓ Zeit-Sender DCF77 oder über ↓ GPS). Wegen des Aufwands sind damit nur grere Server ausgerüstet.
Alle kleineren Server und PC synchronisieren ihre Zeit über das Internet - mit NTP.
Das Internet-Protokoll Network Time Protocol (NTP) dient zur Synchronisation von Datum und Zeit über das eigene lokale Netzwerk (LAN) bzw. über das Internet.
Der Client ('Kunde') fragt bei einem Zeit-Server nach und erhält dessen Systemzeit. Die Verbindung mit einem externen Zeitserver erfolgt über UDP Port 123 und muss durch allfällige Proxy- oder Firewall-Server erlaubt und weitergeleitet werden.

Primäre Zeitstandards (stratum 1)
Die hochgenaue Synchronisation einer (Atom)-Uhr ist ein sehr aufwändiger Prozess. Daher dient weltweit nur eine kleine Anzahl von Servern als Primärer Zeitstandard. Nicht zur Synchronisation eigener PCs verwenden.

Sekundäre Zeit-Server (stratum 2)
verfügen ebenfalls über Atomuhren und leiten ihre Einstellung von primären Zeitservern ab. Darunter fallen die meisten nationalen Standard-Institute. Zur Synchronisation gut geeignet.

Alle wichtigen Industriestaaten leisten sich eine Behörde zur Eichung und genauen Überwachung von Datum und Zeit. Die meisten davon bieten u.a. die Synchronisation von Datum und Zeit als kostenlosen Service an.
Die NTP-Organisation und das CIS der University Delaware führen Listen der wichtigsten NTP-Server.

Eine ausgewählte Liste von NTP-Servern in ↓ Österreich, Schweiz und Deutschland finden sie im nächsten Kapitel.

NTP ist ein international anerkannter Offener Standard, d.h. NTP ist von Herstellern unabhängig und es fallen keine Lizenzgebühren an.
Folgende Standards regeln (u.a.) NTP:
Vorläufer: RFC867 (1983), RFC868 (1983)
NTP: RFC958 (1985), RFC1059 (1988), RFC1129 (1989), RFC1165 (1990), RFC1305 (1992), ..

SNTP ist eine vereinfachte Variante von NTP. Die geringeren Ansprüche an die Genauigkeit sind für Arbeits-PC völlig ausreichend.
SNTP: RFC1361 (1992), RFC1769 (1995), RFC2030 (1996), ..
PPS: RFC2783 (2000), ..

Eigene Server

synchronisieren sie mit einem sekundären oder einem sonstigen vertrauenswürdigen Zeitserver. So helfen sie mit, die hochgenauen Server so wenig wie möglich zu belasten.
In regelmäßigen Abständen (z.B. einmal pro Tag, bei heiklen Systemen einmal pro Stunde) sollte ihr Server mit einem Zeitserver synchronisiert werden. Dabei ist je nach Verfahren eine Abweichung von <1 sec erreichbar, bei Modem-Anbindung <10 sec.
Mit NTP ist eine Genauigkeit von <1 ms erreichbar, das ist weit besser als für übliche lokale Netzwerke erforderlich.
Jedes Netzwerk (LAN) sollte einen eigenen Zeitserver betreiben, der sich selbst niediger bewertet (z.B. statum 5). Alle PC des LAN müssen mit diesem Server arbeiten, d.h. der Firewall oder Router darf keine anderen NTP-Daten weiterleiten als jene des Servers.

Ein Lokales Netzwerk (LAN)
sollten sie unbedingt halbwegs genau (auf <0.1 sec) synchronisieren. Eine höhere Genauigkeit ist teuer und wegen der unvermeidlichen Verbindungs-Wartezeiten meist sinnlos.
Die Synchronisation erfolgt vollautomatisch, und zwar immer mit dem eigenen LAN-Server, niemals direkt mit einem internationalen Zeitserver.
Alle PC ihres LAN müssen dazu über ein NTP-Client-Programm verfügen. Das ist in allen neueren Betriebssystemen bereits enthalten.
Das NTP Client Programm sollte automatisch gestartet werden, am besten beim Hochfahren (Boot, Login) oder während der Kern-Arbeitszeit.
Ihr Server benötigt zusätzlich ein NTP-Server-Programm. Das ist in allen gängigen Linux-Distributionen enthalten.
Falls sie zwischen einzelnen Geräten Daten synchronisieren (z.B. Notebooks), dann ist die genaue Zeit-Synchronisation sämtlicher Geräte 'lebenswichtig' !

Betriebssysteme:

NTP ist als Offener Standard unabhängig von Betriebssystemen, Herstellern und Versionen.
In allen gängigen Linux-Distributionen sind NTP-Server und Clients enthalten (ntpd, xntp).
Das MacOS von Apple bietet seit langer Zeit einen NTP-Client zur Zeit-Synchronisation.
Microsoft führte die Zeit-Synchronisation erst mit Windows 2000 (SNTP) ein. Neuere Windows-Systeme bieten NTP-Synchronisation.
Unabhängig davon gibt es zahlreiche Freeware und Shareware Programme zu diesem Zweck. Sie sind nicht notwendig und sollten nur eingesetzt sein, wenn sie aus vertrauenswürdiger Quelle stammen.

Weltzeit UTC:   NTP-Daten werden nur in Weltzeit → UTC (früher GMT) angegeben. Damit sind sie unabhängig von → Zeitzonen sowie von der unseligen → Sommerzeit. Es ist Aufgabe jedes einzelnen PC, seine lokale Zeitzone auf den gewünschten Abstand zur UTC einzustellen.

SNTP

Das Protokoll NTP (RFC-1305) ist eigentlich für laufenden Online-Zugriff gedacht. Das ist nur für sehr kritische Server sinnvoll, deren Zeit auf <1ms genau sein muss.
Für alle anderen Server oder Clients verwendet man in der Praxis einmalige Synchronisation (z.B. 1x täglich oder bei jedem Login). Dafür ist eine vereinfachte Variante vorgesehen, das Simple Network Time Protocol (SNTP) nach RFC-2030. (Verwendet ebenfalls Port 123).
Dabei kann durch variable Laufzeiten ein Fehler von <1s auftreten.
Alternative Methoden zur Synchronisation von Datum und Zeit bieten das gute alte ↓ Telefon (via Modem), ↓ ISDN, ↓ Funk-Uhren, das ↓ GPS, aber auch zahlreiche ↓ Webseiten.

NTP Links:

ntp.org (en) - Die NTP Homepage
NTP-Server:
EE / CIS der University of Delaware (Liste)
wiki NTP home (Liste)
Helmut Hullen (Liste)

Zeit-Protokolle

Zeit-Protokolle und Ports:

Die meisten Zeit-Server horchen (listen) an mehreren Ports auf Aufträge.
Network Time Protocol NTP ↓ auf UDP Port 123
Daytime Protocol ↓ auf TCP oder UDP Port 13
Time Protocol ↓ auf TCP oder UDP Port 37

Je nach Protokoll und Port unterscheidet sich Art und Umfang der Kommunikation zwischen Client und Server.
Zur Synchronisation von Servern und für professionelle Zwecke verwendet man das genaueste, jedoch aufwändigste Protokoll NTP bzw. SNTP.
Zur Synchronisation von PC (mit dem eigenen Server) kann man auch einfache Protokolle wie DayTime oder Time einsetzen.

Firewall

Die Firewalls aller beteiligten PC (Client, Router, Server) müssen die Kommunikation auf den verwendeten Ports zulassen !
Im eigenen lokalen Netzwerk (LAN) kann man solche Probleme elegant vermeiden, indem man den eigenen Webserver als Daytime Server verwendet.

Router / Proxy-Server

Alle beteiligten Router, Proxy-Server und Firewalls müssen die Daten-Pakete der jeweiligen Ports weiterleiten. Zu den Zeit-Ports im Internet sollte jedoch nur der eigene ZeitServer Zugang haben.

Details zu den Themen TCP, UDP, Port, Router

Network Time Protocol NTP @ UDP Port 123

Dieses Protokoll liefert die genauesten und zuverlässigsten Daten, erfordert aber relativ aufwändige Software. Es wird am besten zur Synchronisation eines Servers im eigenen Netzwerk (LAN) eingesetzt.

NTP-Server:
Jeder Netzwerk-Server sollte über komplette NTP-Software (Server und Client) verfügen. Das ist bei allen gängigen Linux-Systemen selbstverständlich.
Der (eigene) Zeitserver muss sich zunächst einmal selbst genau einstellen. Dazu werden NTP-Anfragen an geeichte Server gerichtet. Man verwendet am besten die ↓ nationalen Zeitserver.
Die Zuverlässigkeit der erhaltenen Daten wird bewertet. Als unzuverlässig eingestufte Daten werden verworfen, aus brauchbaren Daten evtl. auch mehrerer Zeitserver werden Mittelwerte berechnet und am eigenen System verwendet.
Der Zeitaufwand für die Kommunikation wird live gemessen und berücksichtigt. Nur so ist eine Genauigkeit von <1ms erreichbar.
Die eigentliche Zeit-Information wird in einem 64-bit (8 Byte) Timestamp übertragen. Diese Daten repräsentieren die Anzahl Sekunden seit 1900-01-01 00:00:00 mit einer Auflösung von 200ps (200-12 sec) in Weltzeit UTC.

NTP-Client-Software
zur Zeit-Synchronisation 'gewöhnlicher' Arbeits-PC soll einfach und robust sein, wenige Resourcen benötigen und rasch ablaufen - am besten regelmäßig und automatisch im Hintergrund.
Die geforderte Genauigkeit ist gering, typisch 1 Sekunde.
Daher wird meist nicht NTP sondern eines der einfacheren Protokolle (Daytime oder Time ↓ ) verwendet.
Alle gängigen Betriebssysteme bieten diese Möglichkeit.
Darüber hinaus gibt es zahlreiche FreeWare und Shareware Programme zur Zeit-Synchronisation.
Eine einzige automatische Anfrage (z.B. täglich nach dem Hochfahren) an den Server im eigenen lokalen Netzwerk (LAN) ist vollkommen ausreichend. Wer ohne LAN arbeitet, braucht eine Internet Verbindung. In diesem Fall wird die automatische NTP-Anfrage am besten in die Haupt-Arbeitszeit verlegt, z.B. täglich 11:00

Daytime Protocol (RFC-867) @ TCP oder UDP Port 13

Dieses Protokoll ist wesentlich einfacher, daher aber auch sehr robust und mit selbst erstellter Software verwendbar.
Der Zeitserver horcht (listen) auf Port 13 und liefert ohne aufwändige Kontrolle der Übertragungszeit und -Qualität sofort einen einfachen Text.

Die Angabe erfolgt normalerweise in Weltzeit UTC. Das wird jedoch nicht immer eingehalten ! Überprüfen sie selbst, ob ein Daytime Server Lokalzeit oder sogar Sommerzeit anzeigt.

Die Antwort erfolgt in lesbaren → ASCII-Zeichen, das Format ist jedoch leider nicht standardisiert. Man muss daher die Decodierung an den verwendeten Server anpassen. Das ist für EntwicklerInnen einfach, für normale AnwenderInnen jedoch unzumutbar.
Immerhin liefern fast alle Daytime Server die Zeit im Format HH:MI:SS
Daytime Client Software sucht danach im erhaltenen Text, am besten mit einem → Regulären Ausdruck, z.B. /(\d\d:\d\d:\d\d)/
Beispiel für eine Daytime-Antwort des US-Zeitservers time.nist.gov
JJJJJ YY-MO-DD HH:MI:SS TT L H ADV UTC(NIST)

JJJJ ist der Modifizierte Julianische Tag (→ MJD)
YY-MO-DD ist das aktuelle Datum. Das Jahr in manchen Varianten 4stellig angegeben, von NIST nur 2stellig. MO und DD werden fast immer mit führenden Nullen angegeben.
HH:MI:SS ist die aktuelle Zeit im Standard → ISO-8601-Format. Die Zeit wird immer als → Weltzeit UTC angegeben.
TT ist ein Code aus 2 Ziffern 00..99, der die US-Sommerzeit (daylight savings) beschreibt. Vorsicht, abweichend von der EU-Sommerzeit !
L (Leap second) zeigt an, ob am Monats-Ende eine Schalt-Sekunde eingefügt (1) oder weggelassen (2) wird. Normalfall ohne Schaltsekunde ist L=0

H (Health) zeigt die "Gesundheit" des Zeitservers an. Normal ist H=0, bei H=1 kann die Zeit um <5 sec abweichen, bei H>=2 ist die Abweichung unbekannt, bzw. der Server gestört.
ADV gibt an, um wieviele Millisekunden (ms) der Server der 'echten' Zeit voraus ist, um die Transport-Zeit in Internet zu kompensieren (z.B. 50.0 ms)
UTC bezeichnet die Weltzeit (am Null-Meridian durch London / Greenwich), NIST (National Institute of Standards and Technology) ist der Name des Instituts

Tipp: Man kann das Standard Konsolen-Programm telnet zur Demonstration und manuellen Kontrolle verwenden, z.B. (Linux, Windows)
# telnet time.nist.gov 13
C:\> telnet time.nist.gov 13
Nach Eingabe der Befehlszeile wird der Konsolen-Text gelöscht und nur der erhaltene Daytime Text angezeigt.
Auf Windows Vista ist evtl. das Programm telnet.exe nicht mehr enthalten. Eine Kopie von einem anderen Windows PC funktioniert.
Tipp: Man kann jeden → Apache Webserver nebenbei auch als Daytime-Server verwenden. Dazu wird ein eigener 'Virtueller Server' konfiguriert, der auf Port 13 horcht, und auf jede Anfrage einen Zeit-String sendet. Das ist die einfachste Variante, einen Zeitserver für eigene Programme zu betreiben. Ein Daytime-Server ist sehr sicher, da er keinerlei Daten annimmt. Datum und Zeit gibt man im → ISO-8601 Format an, welches sich am einfachsten verarbeiten lässt und von den meisten Freeware Programmen verstanden wird. Zusätzlich kann man Daten wie z.B. Wochentag, Kalenderwoche und Tag des Jahres einfügen.
Zur Zeit-Synchronisation kann man direkt den zum jeweiligen Betriebssystem passenden Konsolen-Befehl angeben. Wenn der Befehl in Lokalzeit erfolgt, dann kann man damit sogar PC mit falsch eingestellter Zeitzone richtig sychronisieren.

Time Protocol (RFC-868) @ TCP oder UDP Port 37

Dieses Protoll ist weniger leistungsfähig und wird von professioneller Software nicht verwendet. Wegen seiner einfachen Handhabung arbeiten viele selbst erstellte Amateur-Programme damit.
Allerdings gibt es nur mehr wenige öffentliche Zeit-Server, welche dieses Protokoll unterstützen.

Als Antwort wird ein 32bit Timestamp gesendet. Diese binär codierte Zahl (unsigned integer) entspricht den Sekunden seit 1900-01-01 00:00:00 in Weltzeit UTC.
Die 32bit-Zahl wird bis 2036-02-07 reichen.

Tipp: Auch dieses Protokoll lässt sich mit telnet testen. Die binäre Antwort wird allerdings nicht decodiert und daher als 'Zeichensalat' angezeigt.
In eigenen Programmen decodieren sie z.B. mit der Standard-Funktion → unpack

Ausgewählte NTP-Server in Österreich, Schweiz und Deutschland

Alle Angaben unverbindlich !
Die NTP Organisation und das CIS der University Delaware führen Listen der weltweit öffentlich verfügbaren NTP-Server: Stratum-1, Stratum-2
Es ist nicht einfach, in Österreich öffentliche NTP-Server zu finden, da kein einziger (!) international angeführt wird ...
Tipp: Server-Adressen können sich ändern, manche Server können überlastet oder zeitweise abgeschaltet sein.
Die nationalen Eich-Institute sind meist am verlässlichsten, zumindest solange sie nicht im Zuge des Raub-Kapitalismus 'zur Einsparung' geschlossen werden.
InstitutNameIP-Adresse
BEV (Bundesamt für Eich- & Vermessungs-Wesen) Wien time.metrologie.at217.19.37.20
Universität Wien
(ts2 auch für Daytime und Time)
ts1.univie.ac.at
ts2.univie.ac.at
131.130.1.11
131.130.1.12
Technische Universität (TU) Wien tutimea.tuwien.ac.at
tutimeb.tuwien.ac.at
128.130.2.3
128.130.3.131
Univ. für angewandte Kunst, Wien time.uni-ak.ac.at193.170.188.107
Universität Innsbruck time1.uibk.ac.at
time2.uibk.ac.at
 
NTP-Pool ↓ für Österreich at.pool.ntp.org 
METAS (Bundesamt für Metrologie & Akkreditierung) Bern ntp.metas.ch 193.5.216.14
ETH Zürich swisstime.ethz.ch 129.132.2.21
NTP-Pool ↓ für die Schweiz ch.pool.ntp.org 
PTB (Physikalisch-Technische Bundesanstalt) Braunschweig
(auch für Time)
ptbtime1.ptb.de
ptbtime2.ptb.de
192.53.103.103
192.53.103.104
Technische Universität (TU) Berlin ntps1-0.cs.tu-berlin.de
ntps1-1.cs.tu-berlin.de
hora.cs.tu-berlin.de
sombrero.cs.tu-berlin.de
130.149.17.21
130.149.17.8
Universität Erlangen-Nürnberg
(ntp2 und ntp3 auch für Time)
ntp0.fau.de
ntp1.fau.de
ntp2.fau.de
ntp3.fau.de
131.188.3.220
131.188.3.221
131.188.3.222
131.188.3.223
Universität Regensburg (NTP) rrzntp.uni-regensburg.de 
NTP-Pool ↓ für Deutschland de.pool.ntp.org 
Tipp: Verwenden sie nach Möglichkeit die Namen der Server - Sie werden seltener geändert als die Adressen. Mit den Konsolen-Programmen traceroute, ping kann man die Netzwerk-Entfernung (Anzahl dazwischen liegender Router) und die Antwort-Zeit live messen. Die Programme sind in jeder Linux Distribution enthalten, traceroute findet man im Internet auch in Windows-portierten Versionen.
Umfangreiche Listen öffentlicher NTP-Server:
NTP.org: Stratum-1, Stratum-2
CIS: Stratum-1, Stratum-2
Wenn sie in einem lokalen Netz arbeiten, dann sollte ihr PC unbedingt mit dem eigenen (NTP)-Server synchronisiert werden, nicht jedoch mit einem externen Zeitserver.

NTP-Pool

Projekt NTP-Pool

Im Jahr 2003 wurde das gemeinnützige Projekt gestartet. Es verfolgt das Ziel, NTP-Anfragen öffentlich und kostenlos auf alle verfügbaren NTP Zeitserver zu verteilen.

Eine ansehnliche Anzahl von Servern nimmt bereits daran teil (die Zahlen ändern sich !): Global ca.2000, Europa 1300, Österreich 42, Schweiz 55, Deutschland 280, ...

Vorteil für NTP-Server: Entlastung vor allem der prominenten Server durch zahlreiche kleinere aber geografisch gut verteilte Server.

Vorteil für AnwenderInnen (Clients): Man trägt in seine Zeitserver-Liste nur mehr 1..3 Pool-Adressen ein, die Anfrage wird automatisch an einen zufällig ausgewählten Server der geografischen Zone weitergeleitet.
Zuverlässige nahe liegende Zeitserver sind zu bevorzugen !
Pool-Server sollten nur dann befragt werden, wenn keine bekannten Zeitserver erreichbar sind.

Anwendung:

Der NTP-Pool ist für PC aller Betriebssysteme anwendbar, selbstverständlich auf Linux aber auch auf "Windows and even more exotic systems" ...
HowTo (en)
Man trägt einfach die Namen der Pool-Server in die Konfiguration der eigenen Software ein.
Details zur Zeit-Einstellung auf → Linux oder → Windows

Tipp: Löschen sie nicht die Namen der bisher verwendeten Server, sondern ergänzen sie die Liste am Ende mit einem oder mehreren Pool-Namen (Tabelle rechts).

Verwenden sie geografisch möglichst nahe liegende Server. In einiger Zeit wird der Pool hoffentlich noch in kleinere Einheiten (Bundesländer, Kantone) unterteilt. Alle anderen Namen funktionieren ebenfalls, die Anfrage dauert aber meist länger (10..30 min !) und belastet das Internet sinnlos.

Synchronisieren sie immer nur einen PC (den Server-PC) eines lokalen Netzwerks. Alle anderen PC des LAN sollten ihre Zeit von diesem Zeitserver beziehen - am besten rasch und unkompliziert mit dem ↑ DayTime oder ↑ Time Protokoll.
Auswahl einiger Namen von NTP Pool Servern:
(unverbindlich, sortiert nach Anzahl verfügbarer Server)
RegionNamen
Globalpool.ntp.org
Europaeurope.pool.ntp.org
Nordamerikanorth-america.pool.ntp.org
Asienasia.pool.ntp.org
Ozeanienoceania.pool.ntp.org
Südamerikasouth-america.pool.ntp.org
Afrikaafrica.pool.ntp.org
Mitteleuropa:
Deutschlandde.pool.ntp.org
Schweizch.pool.ntp.org
Österreichat.pool.ntp.org

Jedem Pool-Namen kann man eine Ziffer 0..3 voranstellen, z.B.
0.de.pool.ntp.org
1.de.pool.ntp.org
Jede Ziffer leitet zu einem anderen Server. So kann man bei technischen Problemen selbst einen anderen Server anwählen und muss nicht warten, bis der Pool (zufällig) zu einem anderen Server wechselt.

Telefon-Synchronisation

Telefon:

Einige internationale Zeit-Institute bieten ein Service zur Zeit-Synchronisation über Telefon / Modem.

Die deutsche PTB bietet die "Normalzeit" über das Festnetz (0049-0531-512038) an. Dabei ist sogar eine Live-Laufzeit-Messung möglich, und mit deren Hilfe eine sehr genaue Laufzeit-Korrektur der erhaltenen Signale.

Die Codierung der (deutschen) Telefon-Zeitsignale erfolgt entsprechend dem "Europäischen Telefonzeitkode":
Eine Folge von 80 ASCII-Zeichen (CET, UTC, Wochentag-Nr, Kalenderwoche, TagdesJahres-Nr).
Der Zugang ist mit jedem Standard-Modem möglich:
1200 baud vollduplex, parity=0, data=8, stop=1.
In den USA bietet u.a. USNO ein Telefon-Service:
Washington, DC: 202-762-1594 (DSN 762-1594)
Colorado Springs, CO: 719-567-6743 (DSN 560-6743)
 

ISDN-Synchronisation

Die ISDN-Zeitsignale können unter Linux für die Synchronisation der Systemzeit verwendet werden. Setzt bei der nächsten ISDN-Einwahl einmalig die Systemzeit:
# isdnlog -t 1

Setzt die Systemzeit bei jeder nachfolgenden ISDN-Einwahl
# isdnlog -t 2

Funk-Uhren

Funk-Uhren:

Einige Sender liefern ein normiertes Zeitsignal. Man benötigt für Empfang und Decodierung eigene Geräte oder Interface (radio clock). Diese Methode eignet sich wegen des Aufwands nur für Server und funktioniert unabhängig vom Internet.
Die Kurzzeit-Genauigkeit kann je nach Empfangsqualität um einige ms schwanken, durchschnittlich wird jedoch <1ms Abweichung erreicht.
Der bekannteste Zeitnormal-Sender Mitteleuropas ist DCF-77, der von der PTB Braunschweig auf Langwelle 77.5 kHz betrieben wird. Diese Wellenlänge erlaubt auch Innen-Antennen.
Standort ist Mainflingen bei Frankfurt (9.012° Ost, 50.019° Nord), Empfang bis ca. 2000km Entfernung.
Im Handel sind Interface, Geräte und Bausätze für DCF77-Module erhältlich, z.B. bei Conrad, Linum, Meinberg
Die häufigste Ursache angenommener DCF77-'Störungen' sind leere Batterien in den Empfängern. Im Nahbereich <1000km kann es durch Schwebungen zur zeitweisen Auslöschung des Signals kommen. Bei Gewitter und während der (seltenen) Wartungs-Arbeiten wird der Dienst zeitweise abgeschaltet. Derartige Probleme können bei PC-Synchronisation nicht auftreten, da keine Batterien verwendet werden, und die Empfänger lange genug messen, um Schwebungs-Perioden von einigen Minuten zu überbrücken.
NTP benutzt zur Kommunikation mit Funk-Uhren und GPS die Pseudo-IP-Adressen 127.127.8.n (0 <=n <=3) MSF ('Rugby') in England und WWVB in USA/Colorado senden auf 60kHz Langwelle.

Kurzwelle:

Zahlreiche Stationen weltweit bieten Standard-Zeitsignale auf Kurzwelle an, die sich auch zur Synchronisation eignen. Allerdings ist der Empfang selten wirklich stabil, daher funktioniert nicht jeder Versuch zur Synchronisation.
Für Funk-Amateure interessant, ansonsten wegen der geringen Zuverlässigkeit für Server kaum eingesetzt.
Mit zunehmender Nutzung von NTP über das Internet wurden die meisten derartigen Sender eingestellt.

Stichworte: Shortwave time signal
WWV (USA/Colorado) sendet auf 5,10,15,20 MHz, WWVH (USA/Hawai) auf 2.5,5,10,15 MHz.
CHU (Can/Ottawa) sendet auf 3.300, 7.335 und 14.670 MHz

Global Positioning System - GPS

Global Positioning System (GPS):

Dieses System beruht auf der Messung sehr kleiner Zeit-Differenzen zwischen den Signalen unterschiedlicher Satelliten. Daher ist GPS auf hochgenaue Uhren angewiesen.
Die hohe Kommunikations-Frequenz 1,57542 GHz erfordert direkte Sicht-Verbindung zu mindestens einem Satelliten. Die meisten Satelliten bewegen sich von Europa aus in südlicher Richtung. Deshalb sind nur Außen-Antennen mit freier Sicht nach Süden sinnvoll. Nebel, Regen oder Schneefall beeinträchtigt die Qualität der Verbindung.

GPS läßt sich dazu verwenden, um die PC-Zeit zu synchronisieren. Wie bei Funk-Uhren erfordert die Methode technischen und finanziellen Aufwand, funktioniert dafür unabhängig vom Internet und mit sehr hoher Genauigkeit (us).
USNO - GPS Timing
Metrologie.at (de)

Im Handel sind GPS Interface für PC erhältlich, z.B. von Meinberg
NTP benutzt zur Kommunikation mit Funk-Uhren und GPS die Pseudo-IP-Adressen 127.127.11.n

Galileo

Das europäische GPS-System Galileo wird die Genauigkeit und Verfügbarkeit bedeutend verbessern.
Außerdem ist Galileo ein ziviles System und damit zumindest theoretisch weniger vom US-Militär abhängig.
Galileo sollte zwar schon 2008 in Betrieb gehen, wird jedoch auf massiven US-Druck laufend verschoben.

Zeit aus Webseiten

HTTP-Header überwindet Firewall

Eine einfache, aber wenig bekannte Möglichkeit zur Zeit-Synchronisation ist der → HTTP-Header von Webseiten:

Jede Webseite (sogar eine Fehler-Meldung) beginnt mit einem HTTP-Header-Text, der vom Browser normalerweise nicht angezeigt wird. Darin ist die System-Zeit des Servers beim Absenden der Seite enthalten.

Selbst ein paranoid eingestellter Firewall lässt Webseiten passieren, mindestens von ausgewählten Servern. Man muss allerdings testen, ob der entfernte Server selbst mit der korrekten Zeit konfiguriert und synchronisiert ist.

Ein Browser zeigt zwar den erhaltenen HTTP-Header nicht an, mit Tricks kann man ihn jedoch trotzdem auswerten:

Es gibt Bowser-PlugIns zur Anzeige des HTTP-Headers

Man kann selbst ein einfaches Programm erstellen (z.B. mit → Perl oder → PHP) und die Server-Zeit nicht nur anzeigen, sondern auch zur Synchronisation des eigenen PC verwenden.

Die realistisch erreichbare Genauigkeit beträgt ca. 1 Sekunde.

Ausgewählte Links zum Thema 'NTP'

NTP-'Homepage' bei ntp.org
Dokumentation, FAQ, Download - Listen öffentlicher NTP-Server: Stratum-1, Stratum-2
Univ. Delaware (CIS) - Listen öffentlicher NTP-Server: Stratum-1, Stratum-2
NTP-Pool: Öffentliche Zeitserver in Europa und weltweit
Wikipedia: Zeitserver, DayTime, DCF77, Network Time Protocol (NTP), NTP-Pool,

uhrzeit.org (de)
wiki NTP webhome (en)
US Naval Observatory (USNO)
Metrologie.at (de)
Calendarzone
Aktuelle Zeit - Achtung, meist in Weltzeit UTC oder der lokalen Zeitzone!
PTB Braunschweig (de), NTP
uhrzeit.org (de)
BIPM (fr) auch für FTP - Protokoll
USNO (en) USA
NIST (en) Colorado, USA
Glossary of Frequency and Timing Terms
FAQs des NIST Colorado, USA
Yahoo Science:Measurements and Units:Time Links
U.S. Naval Observatory USNO
International Earth Rotation Service (IERS)
Network Time Protocol (NTP)
USENET sci.astro FAQs
Tondering Calendar FAQs
Univ. Delaware (EECIS)
SelfHTML: Daytime (RFC 867), Sockets und Perl Universität Wien: Time Services
Uni Konstanz - Linux NTP Client Konfiguration
Linux für alle - Zeitsynchronisation mit NTP
News:
comp.protocols.time.ntp
Meinberg: Hersteller von NTP-Hardware und -Software, viele interessante Daten und Artikel.

Letzte Änderung dieser Seite: 2011-11-30 00:34:29