Zeitsynchronisation in Netzwerken
Nahezu überall spielt das Datum und die Uhrzeit eine wichtige Rolle. Jede Datei hat ein Datum und Uhrzeit der Erstellung und letzten Änderung. E-Mails passieren die Netzwerke und Zeitzonen und protokollieren die Stationen im Kopf der Nachricht mit.
Wenn viele Systeme zusammen arbeiten, dann ist eine korrekte Einstellung der Uhrzeit nicht nur hilfreich sondern teilweise absolut notwendig. Einige System (z.B. NetWare NDS) sind ohne Zeitsynchronisation nicht betriebsfähig, und auch das Active Directory benutzt Zeitstempel, um bei Konflikten bei der Replikation die aktuellsten Daten zu übernehmen. Auch die Autorisierung mittels Kerberos nutzt Gültigkeitszeiten, so dass Computer die mehrere Stunden daneben liegen, Probleme bekommen.
Aber auch wir als Administratoren profitieren von einer synchronen Uhrzeit, da viele Probleme nicht auf ein System bezogen werden können und die Auswertung von Protokolldateien, Ereignisprotokollen (Eventlog) etc. sehr viel einfacher möglich ist, wenn alle Systeme die gleiche Uhrzeit haben.
Auch für Anwender ist die korrekte Uhrzeit notwendig und sinnvoll, damit z.B.
das Datum einer Mail korrekt ist und damit Termineinladungen als auch die
Erinnerungen daran richtig erfolgen. Sobald über diesen Weg auch Termine
abgesprochen werden, muss die Zeitzone mit berücksichtigt werden. Da 9:00 in
Berlin eben nicht 9:00 Uhr in London bedeutet.
Daher ist neben einer genauen und synchronen Zeit auch die korrekte Einstellung
der Zone notwendig. Aber was ist eigentlich die "richtige Zeit" ?
Zeitzonen
Ein Wort vorab. Es gibt keine absolute Zeit. Zeit ist immer etwas relatives. Ich möchte gar nicht so weit gehen, wie der Physiker Einstein mit der Relativitätstheorie, dass die Zeit sogar unterschiedlich schnell läuft, abhängig von der eigenen Geschwindigkeit, aber die Erde ist rund und dreht sich und für jeden Menschen steht mittags die Sonne im Zenit. Die Folge davon ist, dass es auf unserer Erde mehrere Zeitzonen gibt. (24 Stück und einige Sonderzonen), welche unterschiedliche Uhrzeiten anzeigen. Demnach ist 12 Uhr Mittag nicht überall auf der Welt 12 Uhr Mittag. So einleuchtend diese Trivialität ist, so tief greifend ist die Bedeutung für die IT-Branche.
Aus diesem Grunde hat sich die Menschheit darauf geeinigt, die Uhrzeit ein Greenwich, England als Basis zu nutzen. Dies ist die Zeitzone 0 oder auch GMT (Greenwich Meantime) bezeichnet. Alle anderen Zeitzonen sind relativ dazu zu sehen. Jede Zeitzone hat dazu eine dreistellige Abkürzung. MET steht für „midle european time“ und ist immer eine Stunde der GMT voraus, Der Faktor beträgt also +0100.
Aus der Uhrzeit 08:00 GMT wird bei der Anzeige auf einem System in Deutschland die Uhrzeit 09:00 MET. Zumindest währen der Winterzeit. Entsprechend gilt dies auch für andere Zeitzonen auf unserer Welt. Neben den 24 Zonen gibt es einige Sonderzonen, z.B.: Inseln und besondere Staaten, die sich eine eigene Zeitzone gegeben haben und um eine halbe Stunde vor oder nachlaufen. Auch sind die Zeitzonen nicht alle gleich verteilt. Einige Zeitzonen sind breiter, um die Ländergrenzen einzuschließen. Nur auf den Ozeanen verlaufen die Zeitzonen nahezu gerade von Pol zu Pol
Sommerzeit und Winterzeit
Weil dies
nicht schon genug Aufwand bedeutet, wurden nun bei einigen Zonen auch noch die
Sommerzeit eingeführt. Auf Gründen der Energieeinsparung wurde versucht, das
Arbeitsleben an die Sonnenscheindauer anzupassen, damit der Bedarf an Energie
für Beleuchtung etc. reduziert wird. Daher ändern einige Staaten zweimal im Jahr
ihre Uhrzeit. Sie ändern dabei nicht ihre Zeitzone, sondern verstellen nur die
Uhr. Das Ergebnis ist, dass unsere Zeitzone in Europa gerne als MET-1MEST
bezeichnet wird. Im Sommer verstellen wir unsere Uhr zusätzlich um eine Stunde.
Auf dieser Information geht aber nicht hervor, wann diese Umstellung erfolgt.
Und je nach Betriebssystem, Version, Patchlevel oder Einstellung des
Administrators sind die Werte eventuell falsch. Weiterhin wurde die Umschaltzeit
von Sommerzeit auf Winterzeit vor einigen Jahren geändert, so dass die
Umschaltzeiten bei älteren Systemen falsch eingetragen sind. Als Quintessenz
müssen wir daher darauf achten:
- Korrekte Zeitzoneneinstellung
- Aktivierung der Umschaltung Sommerzeit und Winterzeit
- Korrekte Parameter der Umschaltzeiten
Systeme ohne automatische Umstellung bedürfen der manuellen Anpassung der Uhrzeit als auch der Anpassungsparameter der Zone. Ein Beispiel hierzu ist der Mailserver Mercury.NLM (SMTP-Server als NLM für NetWare), welchem manuell korrigiert werden muss.
Änderung der Zeitzone
Nun könnte man nahe legen, dass eine falsche Zeitzone einfach wieder geändert
werden kann und alles ist in Ordnung. Dies stimmte auch für alle Ereignisse, die
ab diesem Zeitpunkt eintreffen.
Aber vorherige Ereignisse könnten sich ungeplant verschieben. Immer dann
nämlich, wenn die Software nicht die lokale Zeit speichert, sondern die GMT-Zeit
intern zum Speichern verwendet. Dies macht z.B. das NTFS-Dateisystem genauso wie
Outlook für die Speicherung von Terminen. Wird nun die Zeitzone verändert,
verschieben sich die Termine ebenso. Dies ist durchaus gewollt, wenn ein
Mitarbeiter um die halbe Welt reist und auf den Notebook die Zeitzone anpasst.
Dann ist es normal, dass ein Termin, der in Europa nachmittags stattfindet, im
Kalender plötzlich früh morgens angezeigt wird. Schließlich muss ich frühmorgens
in den USA nach Deutschland anrufen, da dort schon später Abend ist. Wird die
Zeitzone aber anhand einer falschen Einstellung korrigiert, dann ist die
Verschiebung der Termine nicht gewünscht. Darauf ist zu achten.
Die Einstellung der Zeitzone ist stark vom Betriebssystem abhängig und dort nachzulesen. In der Regel wird die Zeitzone eingetragen oder aus einer Liste ausgewählt:
- Zeitzone in Europa: MET-1MEST (Normalzeit)
- Umschalten von Winter auf Sommerzeit: letzter Sonntag im März um 2:00 plus 1 h
- Umschalten von Sommerzeit auf Winterzeit: letzter Sonntag im Oktober um 3:00 minus 1
Je nach Betriebssystem erfolgt dies automatisch oder manuell.
Achtung: eine korrekte Zeitzone ist auch für den Betrieb mit Outlook sehr wichtig
Die korrekte Uhrzeit
Nachdem wir nun die Zeitzone der Systeme korrekt gesetzt haben, können wir sicher sein, dass alle Systeme die gleiche relative Uhrzeit nutzen. Nun fehlt noch ein Weg, allen Systemen die "richtige" Uhrzeit zu gegeben, denn gegen eine falsch laufende Uhr helfen auch korrekte Zeitzonen nicht. Daher müssen wir uns erst einmal die Uhrzeit besorgen. Dazu gibt es mehrere Quellen:
- Armbanduhr des Administrator
Jeder Administrator kann die Uhrzeit seines Servers von Hand aktualisieren. Sicher nicht optimal aber ein Anfang. Abweichungen von einigen Minuten sind nicht immer kritisch, solange alle Systeme gleich "falsch" gehen. - Funkuhr (DCF-77)
Diverse Produkte erlauben es, die amtliche deutsche Uhrzeit per Kurzwellenfunk zu erhalten und an den Computer weiter zu leiten. - Funkuhr (GPS)
Das globale Positionierungssystem basierte darauf dass der Empfänger von mehreren Satelliten eine "genaue" Uhrzeit erhält und er anhand der Verzögerung durch die unterschiedlichen Entfernungen zum Satellit seine Position berechnet. Auch diese Uhrzeit kann genutzt werden, da sie sehr genau und weltweit verfügbar ist. - Internet Uhren (NTP)
Viele genaue Uhren (z.B. auch die Funkuhrquelle) sind über das Internet zu erreichen (NTP). Zwar verhindern hier die unterschiedlichen Laufzeiten der Pakete eine hochgenaue Übernahme, aber wenn Sie eine Abweichung von vielleicht 10 Millisekunden nicht stört, ist die ein praktikabler Weg, vor allem wenn Funkuhren aufgrund der Abschirmung ihres Rechenzentrums nicht funktionieren.
Gerade der Bezug der Zeit über Internet ist heute hinreichend genau und ohne weitere Kosten möglich, da viele Provider für ihre Kunden entsprechende Zeitserver anbieten. Selbst wenn der Provider keinen "nahen" Server anbietet, gibt es jede Menge frei erreichbare Server. Einige Betreiber wünschen sich vorab eine Information, wer ihren Server hier denn abfragt.
-
http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers
Liste von Zeitservern - Zeitserver einiger Provider:
ntp.web.de
ntp1.freenet.de
ntp0.ewetel.de - Windows Standard Server
time.windows.com - Offizieller Zeitserver der PTB
ptbtime2.ptb.de
Hier gibt es in Deutschland die PTB als offizielle Quelle. Die offizielle Uhrzeit ist von den Servern PTBTIME1.PTB.DE und PTBTIME2.PTB.DE zu beziehen. Siehe auch http://www.ptb.de/de/org/q/q4/q42/ntp/ntp_main.htm

Über diesen Weg sollte auf jeden Fall ihr PDC-Emulator der Root-Domäne eine korrekte Uhrzeit erhalten. Auf dem Bild sehen Sie aber schon, dass auch andere DCs in der gleichen Domäne, Mitgliedsserver und andere DCS von anderen Domänen in diesem Forest ihre Uhrzeit beziehen. Auch die erfolgt über das Protokoll NTP.
Verteilen der Zeit - NTP
Nun geht es darum, diese Zeit allen Systemen im LAN bereitzustellen. Auch wenn viele Hersteller eigene Protokolle und Techniken entwickelt haben (Angefangen bei der Integration in den NetWare Client bis zum Aufruf von "NET TIME \\server /SET /YES" per AT-Jobs) so gibt es heute nur noch eine sinnvolle Möglichkeit, die Uhrzeit im Netzwerk zu verteilen:
Das Network Time Protokoll (NTP) bzw. die vereinfachte Version SNTP (Simple NTP) erlaubt es, über wenige IP-Pakete (genaugenommen Protokoll UDP Port 123) die Uhrzeit von einem NTP-Server zu beziehen. Bleiben also nur noch die Fragen:
- Welche Struktur der Verteilung muss ich bereithalten
- Wie komme ich sicher an einen NTP Server durch meine Firewall
- Wie mache ich meinen Server zum NTP Server ?
- Wie mache ich meine Clients zum NTP Client ?
Infrastruktur
Inwieweit sie mehrere Zeitserver an verschiedenen Standorten ihres Unternehmens bereitstellen um die Belastung des WAN zu reduzieren und eine Fehlerredundanz und Lastverteilung zu erreichen, kann ich ihnen in wenigen Sätzen nicht beschreiben. Allerdings sollten Sie ab einer bestimmten Größe auch mehrere NTP-Server zentral bereitstellen, die z.B. per DNS mit dem gleichen Namen erreichbar sind. (Round Robin). Auf der anderen Seite bedeutet ein Client, der alle 6 Stunden seine Zeit abfragt, gerate mal 128 Byte Netzwerklast, so dass sie auch sehr viele Clients über WAN anbinden können. Die Belastung durch Broadcasts, WINS, DNS-Abfragen, Routingprotokolle etc. ist um ein vielfaches höher. Daher eher weniger Server, die dann aber kontrolliert werden anstelle vieler lokaler Server, die aufwändiger zu kontrollieren sind.
Achtung bei der Einführung eines Active Directory. Mit dem AD kommt automatisch eine funktionierende Zeitsynchronisation mit, bei der Domain Controller als NTP Server dienen, die sich ihre Zeit vom PDC Emulator holen welche ihre Zeit von der übergeordneten Domäne bzw. dem Forrest Master holen. Aber dies ist alles konfigurierbar.
Server
Lesen Sie die Dokumentationen zu ihrem Server und sie werden feststellen, dass die meisten Server heute sowohl als NTP Client als auch NTP-Server dienen können. Dies trifft auf die aktuellen Versionen von Windows 2000 ebenso zu wie auf NetWare 5.x und eigentlich alle Derivate von UNIX und LINUX. Ältere Versionen wie NetWare 3.x 4.x und Windows NT 4.0 können mit Drittsoftware (kostenfrei) NTP-tauglich gemacht werden, z.B. mit dem W32TIME-Dienst für Windows NT 4.0.
Client
Bei den Clients sieht es etwas anders aus. Clients müssen nur die Uhrzeit von einem vertrauenswürdigen Server beziehen. Dies muss nicht unbedingt per NTP geschehen. Verschiedene Systeme haben eigene Wege hierzu implementiert. So wird in einer Umgebung mit NetWare Client die Uhrzeit automatisch an die Zeit des Servers angepasst. Gerade mit Windows NT haben aber normale Anwender überhaupt nicht mehr das Recht, die Uhrzeit des Computers zu ändern, so dass alle Hilfsprogramme im Anmeldeskript fehlt schlagen. Aber Anmeldeskripte sind auch keine Hilfe, da sie nicht immer und regelmäßig ausgeführt werden. Daher muss die Uhrzeitkorrektur Bestandteil des Kernsystems werden und unabhängig von Anwendern sein.
- DOS und Windows 3.1 Clients
Hier gibt es keine Rechte aber auch lange Zeit kein TCP/IP. Daher sind auch keine Funktionen für NTP eingebaut. Auch Hintergrundprogramme und Dienste sind aufgrund Speicherüberlegungen nicht sonderlich hilfreich Tipp: Nutzen Sie hier weiterhin Anmeldeskripte und Programme wie NETTIME (NetWare), NET TIME (Microsoft) oder eine der vielen Freeware Tools zur Zeitsynchronisation (Siehe Links) - Windows 9x Clients
Auch wenn Windows 95 neuer ist und TCP/IP zum Standard gehört, ist NTP nicht eingebaut. Auch hier: Anmeldeskript oder Drittprogramme. - Windows NT4 Workstation
Installieren und konfigurieren Sie den W32TIME-Dienst aus dem Ressource Kit oder dem Link unten und sie haben einen sorgenfreien kleinen Dienst mehr, der die Uhrzeit aktuell hält - Windows 2000 Professional
Der Windows Zeitdienst ist schon Bestandteil und aktiv. Ohne ein Active Directory finden Sie seine regelmäßigen Warnungen im Eventlog. Sie können den Dienst mit der Kommandozeile NET TIME /SETSNTP:name_des_timeservers darüber informieren, woher er sich die Uhrzeit holen soll. - Unix / Linux
Einfach mal MAN NTP eingeben oder einen der vielen Links und Hinweise lesen. Es sollte kein Problem darstellen, den NTP-Prozess zu konfigurieren und zu starten. - Macintosh
Die meisten MAC Systeme können von hause aus NTP. Es muss nur konfiguriert werden. Hier einige Hinweise:
Mac OS 8.5.x: "Network time server did not respond" http://docs.info.apple.com/article.html?artnum=30936
Mac OS X: How to Set the Date and Time Automatically http://docs.info.apple.com/article.html?artnum=61273
Hier möchte ich die Abhandlung der Thematik Zeitsynchronisation beenden. Ich
hoffe die ein oder anderen Hinweise und Tipps gegeben zu haben. Nutzen Sie auch
die Linksliste für weitergehende Informationen . Eine umfassendere Aufarbeitung
des Themas unter Berücksichtigung anderer Betriebssysteme finden Sie hier:
Netzwerkzeitsynchronisation
NTP Einstellungen unter Windows 2000 und 2003
Normalerweise holen Sich sowohl Windows 2000, WindowsXP und Windows 2003 ihre Uhrzeit anhand des Active Directory vom "richtigen" Server. Aber der PDC-Emulator der obersten Domäne muss trotzdem die Uhrzeit irgendwo her bekommen. Selbst wenn eine Atomuhr die Systemzeit setzt, muss Windows wissen, dass "seine" Zeit richtig ist, damit der Server diese an Clients weiter gibt. Meist wird aber das "Internet" per NTP befragt. Auch das ist zu konfigurieren. Dazu dient der W32TIME-Service
Bei Windows 2000 können Sie einfach mit NET TIME die IP-Adresse des Servers angeben. Führen Sie in einer DOS-Box dazu folgende Befehle aus:
net stop w32time net time /setsntp:xxx.xxx.xxx.xxx net start w32time w32tm.exe /once
Bei Windows 2003 hat sich der Aufruf der Konfiguration geändert.
w32tm /config /syncfromflags:manual /manualpeerlist:time.firma.tld /update /reliable:YES
Diese Zeile setzt den Zeitserver auf "Manuelles Update" von "time.firma.tld" und gibt sich dann als "zuverlässiger" Zeitserver aus und holt sich sofort die Zeit.
Seit Windows 2003 ist es auch möglich, ein Debuglog für den W32TIME-Dienst zu aktivieren. Speichern Sie einfach folgende Zeilen als REG-Datei und importieren Sie diese
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
"FileLogName"="c:\\temp\\ntp.log"
"FileLogSize"=dword:01000000
"FileLogEntries"="0-116"
Vergessen Sie am Ende nicht, das Diagnoseprotokoll wieder abzuschalten. Bei Windows 2000 können Sie die "w32tm /once" eine interaktive Verbindung zum NTP-Server in der Konsole beobachten. Auch im Systemeventlog hinterlässt W32TIME entsprechende Meldungen, wenn ein Fehler auftritt.
Autoritativer Zeitserver
Wenn es nun keinem ihrer Domänencontroller möglich ist, eine Zeit von einer vertrauenswürdigen NTP-Quelle zu bekommen, dann sollten Sie natürlich einen DC zur maßgeblich Zeitquelle deklarieren und dort sicherstellen, dass dessen Uhrzeit möglichst genau geht. Dies könnte dann eine Hardwareuhr (DCF77 o.ä.) sein, die einfach die lokale Uhr immer wieder korrigiert.
Um einen Windows Server nun zu einer "Referenz" zu deklarieren, müssen Sie per Regedit zwei Schlüssel setzen. Speichern Sie einfach diesen text z.B. als "W32HWTime.reg und importieren diesen auf dem PDC-Emulator der Stammdomäne
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
"LocalNTP"=dword:00000001
"ReliableTimeSource"=dword:00000001
Danach müssen Sie den Windows Zeitdienst einmal durchstarten (net stop w32time && net start w32time). Sorgen Sie dann noch dafür, dass alle Clients und anderen Server die Zeit neu holen (z.B.: durch Eingabe von "w32tm -s" und kontrollieren Sie das Eventlog.
- 216734 How to configure an authoritative time server in Windows 2000
Andere Weg der Zeitsynchronisation
Für den Fall, dass Sie keine Zugriffe per NTP nach außen zulassen oder der Provider dies, warum auch immer, sperrt, können Sie immer noch eine eigene ATOM-Uhr einsetzen. Sie können aber auch HTTP-Anfragen nutzen, da die meisten Webserver mit ihrer Antwort auch eine "Zeit" mit liefern. Hier ein Mitschnitt einer Abfrage der Startseite von Google und die Antwort.

Im HTTP-Response steht hier auch eine Uhrzeit samt Zeitzone drin. Natürlich muss man noch etwas Grips rein stecken und z.B. die Laufzeit eines großen HTTP-Pakets gegenüber einem kleinen UDP-Paket relativieren. Auch könnten Provider Antworten "Cachen", so dass man auch dies prüfen muss. Und natürlich sollte der angefragte Webserver auch einen halbwegs aktuelle Zeit bereit stellen. Der Administrator erwartet schließlich nicht, dass sein Webserver als "Zeitquelle" genutzt wird. Windows selbst unterstützt diese Art der "Zeitquelle" nicht.
Weiterhin gibt es spezielle Webseiten, die auf einen HTTP-Get einen Zeitstempel zurückliefern wie z.B. ebay und http://www.uhrzeit.org/sys/synchro.php, wobei ich keine Liste von Webseiten und deren Qualität der Zeit habe. Entsprechende Zusatzsoftware kann solche Server abfragen wie z.B.
- PTBSync
http://netcult.ch/elmue/ElmueSoft-de.htm
Fragt 160 NTP Server und eben auch die HTTP-Services von ebay und urhzeit.org ab.
Weitere Links
- TerminPatch
- Q307897 How To Synchronize the Time with the Windows Time Service in Windows XP
- Q129574 Time Stamp Changes with Daylight Savings
- 816043 How to turn on debug logging in the Windows Time Service
- Q158588 Obtaining Universal Coordinated Time (UTC) from NTFS Files
- http://www.Microsoft.com/technet/network/ntp-nt.asp
- http://www.Microsoft.com/TechNet/prodtechnol/winntas/tips/techrep/ntp-nt.asp
- ftp.Microsoft.com/bussys/winnt/winnt-public/reskit/i386 W32TIME für Windows NT 4.0
- How Windows Time Service Works
http://technet2.Microsoft.com/WindowsServer/en/library/a0fcd250-e5f7-41b3-b0e8-240f8236e2101033.mspx?mfr=true - Windows Time Service Tools and Settings
http://technet2.Microsoft.com/WindowsServer/en/library/b43a025f-cce2-4c82-b3ea-3b95d482db3a1033.mspx?mfr=true - Offizielle Funkuhr der PTB, (Physikalisch technischen Bundesanstalt Braunschweig) per NTP http://www.ptb.de/de/org/q/q4/q42/ntp/ntp_main.htm
- Funkuhrseite (privat) http://www.heret.de/funkuhr/index.htm
- DCF-77 Homepage (privat) http://www.dcf77.de/index.htm
- PTB als Zeitserver http://www.ptb.de/deutsch/org/4/43/433/verb.htm
- Echtzeituhr oder Zeitschätzeisen?
http://www.robidu.de/linux/trickkiste/zeitsync.html - Informationen, wie die Zeiteinstellungen unter Windows durchgeführt
werden.
http://www.spectracomcorp.com/Support/Library/IntegrationGuides/SynchwithW32Time/tabid/164/Default.aspx - http://www.ntp.org Homepage von NTP
-
http://www.linum.com/de/produkte/software/zeitsynchronisation/dcf77/windows/2000/index.htm
Übersicht über W2K taugliche DCF-77 Uhren -
http://www.eecis.udel.edu/~ntp/ Beschreibung des NTP-Protokolls
http://www.eecis.udel.edu/~ntp/software.htm
http://www.eecis.udel.edu/~mills/ntp/servers.html NTP Server in der Welt
http://www.eecis.udel.edu/~mills/database/rfc/rfc1769.txt RFC zu NTP
http://www.eecis.udel.edu/~mills/ntp/clock1.htm Primäre NTP-Server. -
http://dcanet.softseek.com/Utilities/Clocks_Alarms_and_Reminders/System_Time_Synchronizers
Softseeks Übersicht zu Zeitsoftware -
http://www.tucows.de/syncnt.htm Tucows Übersicht über Zeitsync
Software
http://tucows.netsurf.de/sync95.html -
http://ftp.sunet.se/nonags/timec32.html
http://home.att.net/~Tom.Horsley/ntptime.html - http://www.winntmag.com/Articles/Content/522_01.html
-
PTBSync
http://netcult.ch/elmue/ElmueSoft-de.htm









