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 Hardwareversionen beschränkt.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps zu Konventionen von Cisco).
Network Time Protocol (NTP) wird häufig verwendet, um einen Computer mit Internet-Zeitservern oder anderen Quellen zu synchronisieren, z. B. einem Radio- oder Satellitenempfänger oder Telefonmodem-Diensten. Sie bietet eine Genauigkeit von in der Regel weniger als einer Millisekunde in LANs und bis zu einigen Millisekunden in WANs. Typische NTP-Konfigurationen verwenden mehrere redundante Server und unterschiedliche Netzwerkpfade, um eine hohe Genauigkeit und Zuverlässigkeit zu erreichen.
NTP verwendet den Algorithmus von Marzullo, um die Zeit mit der aktuellen Version von NTP zu synchronisieren. Die Zeit über das Internet kann über das Internet auf bis zu 10 Millisekunden gehalten werden, und die Leistung kann über LANs sogar noch verbessert werden. NTP-Zeitserver arbeiten in der TCP/IP-Suite und basieren auf dem UDP-Port 123 (User Datagram Protocol).
NTP-Server sind normalerweise dedizierte NTP-Geräte, die einen einmaligen Verweis verwenden, mit dem sie ein Netzwerk synchronisieren können. Diese Zeitreferenz ist meistens eine koordinierte UTC-Quelle (Universal Time). UTC ist eine globale Zeitskala, die von atomaren Uhren über das Internet, über spezielle Langwellen-Funkübertragungen oder über das GPS-Netzwerk (Global Positioning System) verteilt wird. Dedizierte NTP-Server sind für Sicherheit, Schutz, Genauigkeit, Legalität und Kontrolle erforderlich.
Der NTP-Algorithmus verwendet diese Zeitreferenz, um die Menge zu bestimmen, die für die Weiterleitung oder Zurücksetzung der System- oder Netzwerkuhr erforderlich ist. NTP analysiert die Zeitstempelwerte, die Häufigkeit von Fehlern und deren Stabilität. Ein NTP-Server erstellt eine Schätzung der Qualität sowohl der Referenzuhren als auch selbst.
In diesem Abschnitt werden einige häufige Probleme aufgelistet, die mit NTP auftreten können, und es werden Lösungen für jedes Problem bereitgestellt.
Wenn Cisco Router für die Verwendung der im Active Directory abgelegten NTP-Server konfiguriert sind, erhalten die Cisco Router keine NTP-Pakete vom NTP-Server. Dieses Problem tritt auf, weil Cisco Router NTP und Active Directory-Domänen den W32Time-Dienst verwenden. W32Time verwendet zur Zeitsynchronisierung das Simple Network Time Protocol (SNTP), eine Teilmenge von NTP. SNTP und NTP verwenden dasselbe Netzwerkpaketformat. Der Hauptunterschied zwischen SNTP und NTP besteht darin, dass SNTP nicht die Funktionen zur Fehlerprüfung und -filterung bietet, die NTP bietet. Router und Switches von Cisco verwenden NTP und ermöglichen alle von NTP v3 bereitgestellten Fehlerprüfungs- und Filterfunktionen.
Windows W32Time zeigt, dass es sich um eine SNTP-Implementierung innerhalb von Windows handelt (anstatt NTP zu beanspruchen). Cisco IOS-NTP, das versucht, eine Synchronisierung mit W32Time vorzunehmen, erhält seinen eigenen Root-Dispersion-Wert, den es an die W32Time sendet. Dies erweist sich als kostspielig für die Synchronisierung von Cisco IOS-NTP. Da der Root-Dispersion-Wert von Cisco IOS-NTP mehr als 1000 ms beträgt, wird die Synchronisierung selbst aufgehoben (Verfahren zur Zeitauswahl). Da die Cisco IOS-basierten Router die vollständige RFC-Implementierung von NTP ausführen, werden sie nicht mit einem SNTP-Server synchronisiert. In diesem Fall zeigt die Ausgabe des Befehls show ntp connections, dass der Server als wahnsinnig, ungültig markiert ist. Der Streuungswert liegt über 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 nicht mit einem NTP-Server synchronisiert werden, wenn es sich um ein Windows-System handelt, das den W32Time-Dienst ausführt. Wenn der Server nicht synchronisiert ist, können die Router keine Pakete vom Server übertragen und 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 ein 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 Computer im Netzwerk können dann den NTP-Server verwenden, um ihre Zeit zu synchronisieren.
Dies sind die möglichen Gründe dafür, dass Router nicht mit den Zeitservern synchronisiert werden können:
Zugriffskontrolllisten, die das Durchlaufen von UDP-Port 123-Paketen nicht zulassen
Auf den Routern gibt es keine Fehlkonfiguration der Router, z. B. Zeitzone und -Befehle zur Sommerzeit
Der öffentliche Zeitserver ist ausgefallen.
NTP-Serversoftware auf NT oder UNIX ist falsch konfiguriert.
Mehr Datenverkehr auf dem Router und mehr Datenverkehr auf dem Weg zum Server
Der NTP-Master hat die Synchronisierung unterbrochen und der Router verliert regelmäßig die Synchronisierung.
Hohe CPU-Auslastung
Hoher Offset und mehr zwischen Server und Router (verwenden Sie den Befehl show ntp zuordnungsdetails, um dies zu überprüfen)
Diese Fehlermeldung wird angezeigt, wenn der Sensor versucht, eine Synchronisierung mit einem Server durchzuführen, der seine Schicht als 15 meldet. Der Grund hierfür ist, dass ein Stratum-Wert von 15 den Stratum-Wert 16 des Sensors ergibt, der illegal ist. Daher lehnt der Sensor den Server ab und zeigt die Strata zu hoch an - zu viele Umleitungen vom Sensor zum Master-NTP-Server.
NTP verwendet das Konzept einer Schicht, um zu beschreiben, wie viele NTP-Hops ein System von einer maßgeblichen Zeitquelle entfernt ist. Diese Fehlermeldung weist darauf hin, 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 einer Precision-Reference-Uhr entfernt ist. Im Allgemeinen melden Systeme, die direkt mit einer Atomuhr synchronisiert sind, ihre Schicht als Einheit. Ein Host, der mit einem Schicht-1-NTP-Server synchronisiert wird, aber auch als NTP-Server für andere Hosts dient, meldet diesen Hosts seine Schicht als zwei, wobei jede nachfolgende Schicht von Servern eine höhere Schicht als ihre übergeordnete Schicht hat.
Wenn Sie einen Linux-Host als NTP-Server verwenden, sollten Sie die Schicht, die er meldet, hartcodieren, anstatt die Schicht automatisch berechnen zu lassen. Wenn es sich um eine Linux- oder UNIX-Box handelt, wird der NTP-Server von der Datei /etc/ntp.conf konfiguriert, und der Fudge-Befehl wird verwendet, um die Schicht zu programmieren. Der Server meldet seinen Clients immer einen Stratum-Wert, der höher ist als der Fudge-Wert.