Dieses Dokument enthält Informationen zur Behebung gängiger Probleme mit dem Network Time Protocol (NTP).
Cisco empfiehlt, sich mit der Funktionsweise von NTP vertraut zu machen und gute Kenntnisse des Network Time Protocol zu erwerben.
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Network Time Protocol (NTP) wird häufig verwendet, um einen Computer mit Internet-Zeitservern oder anderen Quellen wie einem Funk- oder Satellitenempfänger oder Telefonmodemdiensten zu synchronisieren. Die Genauigkeit von WANs liegt in der Regel bei weniger als einer Millisekunde und bei WANs bei einigen Millisekunden. Typische NTP-Konfigurationen nutzen mehrere redundante Server und verschiedene Netzwerkpfade, um eine hohe Genauigkeit und Zuverlässigkeit zu erreichen.
NTP verwendet den Marzullo-Algorithmus, um die Uhrzeit mit der aktuellen Version von NTP zu synchronisieren. So kann die Zeit über das öffentliche Internet auf 10 Millisekunden verkürzt und die Leistung über LANs sogar noch gesteigert werden. NTP-Zeitserver arbeiten innerhalb der TCP/IP-Suite und stützen sich auf den UDP-Port 123 (User Datagram Protocol).
NTP-Server sind normalerweise dedizierte NTP-Geräte, die eine einmalige Zeitreferenz verwenden, mit der sie ein Netzwerk synchronisieren können. Diese Zeitreferenz ist meistens eine UTC-Quelle (Coordinated Universal Time). UTC ist eine globale Zeitskala, die mithilfe von Atomuhren über das Internet, spezielle Langwellen-Funkübertragungen oder das GPS-Netzwerk (Global Positioning System) verteilt wird. Für Sicherheit, Schutz, Genauigkeit, Legalität und Kontrolle sind dedizierte NTP-Server erforderlich.
Der NTP-Algorithmus verwendet diese Zeitreferenz, um den Wert zu bestimmen, um den die System- oder Netzwerkuhr vor- oder zurückgestellt werden muss. Das NTP analysiert die Zeitstempelwerte, die Häufigkeit von Fehlern und deren Stabilität. Ein NTP-Server verwaltet eine Schätzung der Qualität sowohl der Referenzuhren als auch seiner selbst.
In diesem Abschnitt werden einige gängige Probleme im Zusammenhang mit NTP aufgeführt und entsprechende Lösungen vorgestellt.
Wenn Cisco Router so konfiguriert sind, dass sie die NTP-Server verwenden, die in Active Directory platziert sind, empfangen die Cisco Router keine NTP-Pakete vom NTP-Server. Dieses Problem tritt auf, weil Cisco Router NTP verwenden und Active Directory-Domänen den W32Time-Dienst verwenden. W32Time verwendet Simple Network Time Protocol (SNTP), eine Teilmenge von NTP, für die Zeitsynchronisierung. SNTP und NTP verwenden dasselbe Netzwerkpaketformat. Der Hauptunterschied zwischen SNTP und NTP besteht darin, dass SNTP nicht die vom NTP bereitgestellten Funktionen für Fehlerprüfung und Filterung bereitstellt. Die Router und Switches von Cisco verwenden NTP und ermöglichen alle Funktionen zur Fehlerüberprüfung und -filterung, die über NTP v3 bereitgestellt werden.
Windows W32Time zeigt, dass es sich um eine interne SNTP-Implementierung handelt (statt sich selbst als NTP zu bezeichnen). Cisco IOS-NTP, das eine Synchronisierung mit W32Time versucht, erhält seinen eigenen Root-Dispersionswert, den es an W32Time sendet. Die Synchronisierung mit Cisco IOS-NTP ist daher kostspielig. Da der Wert der Root-Dispersion von Cisco IOS-NTP über 1000 ms liegt, wird die Synchronisation selbst aufgehoben (Clock-Select-Verfahren). Da die Cisco IOS-basierten Router die vollständige RFC-Implementierung des NTP ausführen, erfolgt keine Synchronisierung mit einem SNTP-Server. In diesem Fall zeigt die Ausgabe des Befehls show ntp associations detail an, dass der Server als irrsinnig und ungültig gekennzeichnet ist. Der Wert der Root-Dispersion beträgt mehr als 1000 ms, was dazu führt, dass die Cisco IOS NTP-Implementierung die Zuordnung ablehnt. Router, auf denen Cisco IOS ausgeführt wird, können keine Synchronisierung mit einem NTP-Server durchführen, wenn es sich um ein Windows-System handelt, auf dem der W32Time-Dienst ausgeführt wird. Wenn der Server nicht synchronisiert ist, können die Router keine Pakete an den Server senden und von diesem empfangen.
Um dieses Problem zu umgehen und einen Cisco IOS-basierten Router zu synchronisieren, verwenden Sie einen autoritativen NTP-Server im Internet, eine UNIX-Box, die NTPD oder GPS auf bestimmten Plattformen ausführt. Alternativ können Sie den W32Time-Dienst auf dem Windows-System nicht ausführen. Stattdessen können Sie NTP 4.x verwenden. Alle Versionen von Windows 2000 und höher können als NTP-Server verwendet werden. Andere Systeme im Netzwerk können dann ihre Uhrzeit mithilfe des NTP-Servers synchronisieren.
Dies sind mögliche Gründe dafür, dass Router nicht mit den öffentlichen Zeitservern synchronisiert werden können:
Zugriffskontrolllisten, die das Durchlaufen von Paketen des UDP-Ports 123 nicht zulassen
Fehlerhafte Konfigurationen der Router, z. B. die Zeitzone der Uhr und die Sommerzeit-Befehle der Uhr fehlen auf den Routern.
Öffentlicher Zeitserver ist ausgefallen
NTP-Serversoftware unter NT oder UNIX falsch konfiguriert
Mehr Datenverkehr läuft auf dem Router und mehr Datenverkehr auf dem Weg zum Server
Synchronisierung beim NTP-Master unterbrochen, Synchronisierung beim Router regelmäßig unterbrochen
Hohe CPU-Auslastung
Hoher Offset und mehr zwischen Server und Router (überprüfen Sie dies mit dem Befehl show ntp association detail)
Diese Fehlermeldung wird angezeigt, wenn der Sensor versucht, eine Synchronisierung mit einem Server durchzuführen, der seine Schicht als 15 meldet. Dies liegt daran, dass der Sensorschichtwert 16 bei einem Serverschichtwert von 15 ungültig ist. Daher lehnt der Sensor den Server stattdessen ab und zeigt die Strata zu hoch an - zu viele Indirektionen von Sensor zu Master-NTP-Server-Fehlermeldung.
Das NTP nutzt das Konzept einer Schicht, um zu beschreiben, wie viele NTP-Hops ein Rechner von einer maßgeblichen Zeitquelle entfernt ist. Diese Fehlermeldung zeigt an, dass die vom NTP-Server gemeldete NTP-Schicht zu hoch ist. Bei der Schicht handelt es sich um eine Zahl zwischen 1 und 15, die angibt, wie weit der Server von einem Präzisions-Referenztakt entfernt ist. Im Allgemeinen weisen Systeme, die direkt mit einer Atomuhr synchronisiert sind, ihre Schicht als eine aus. Ein Host, der mit einer Schicht aus einem NTP-Server synchronisiert wird, aber auch als NTP-Server für andere Hosts dient, meldet seine Schicht als zwei Hosts, wobei jede aufeinander folgende Schicht aus Servern eine Schicht aufweist, die eine höher als die übergeordnete ist.
Wenn Sie einen Linux-Host als NTP-Server verwenden, programmieren Sie die Schicht, die gemeldet wird, fest, anstatt sie automatisch berechnen zu lassen. Wenn es sich um eine Linux- oder UNIX-Box handelt, wird der NTP-Server durch die Datei /etc/ntp.conf konfiguriert, und der Befehl fudge wird verwendet, um die Schicht fest zu codieren. Der Server meldet seinen Clients immer einen Stratum-Wert, der höher ist als der Fudge-Wert.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
07-Oct-2008 |
Erstveröffentlichung |