Ce document fournit des informations sur la façon de résoudre les problèmes courants avec le protocole NTP (Network Time Protocol).
Cisco recommande que vous ayez une bonne compréhension du fonctionnement de NTP et une bonne connaissance du protocole Network Time Protocol.
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Le protocole NTP (Network Time Protocol) est largement utilisé pour synchroniser un ordinateur avec des serveurs de temps Internet ou d'autres sources, telles que des récepteurs radio ou satellite ou des services de modem téléphonique. Il fournit généralement des précisions inférieures à une milliseconde sur les réseaux locaux et jusqu’à quelques millisecondes sur les réseaux étendus. Les configurations typiques NTP utilisent plusieurs serveurs redondants et des chemins réseau divers afin de réaliser une grande précision et fiabilité.
NTP utilise l'algorithme de Marzullo afin de synchroniser l'heure avec la version actuelle de NTP. Il peut maintenir le temps sur l'Internet public à moins de 10 millisecondes et fonctionner encore mieux sur les réseaux locaux. Les serveurs de temps NTP fonctionnent dans la suite TCP/IP et dépendent du port 123 du protocole de datagramme utilisateur (UDP).
Les serveurs NTP sont généralement des périphériques NTP dédiés qui utilisent une seule référence temporelle à laquelle ils peuvent synchroniser un réseau. Cette référence temporelle est le plus souvent une source de temps universel coordonné (UTC). UTC est une échelle de temps mondiale distribuée par des horloges atomiques sur Internet, sur des transmissions radio longue onde spécialisées, ou avec le réseau GPS (Global Positioning System). Des serveurs NTP dédiés sont requis pour la sécurité, la protection, la précision, la légalité et le contrôle.
L'algorithme NTP utilise cette référence temporelle afin de déterminer la quantité à avancer ou à battre en retraite l'horloge système ou réseau. NTP analyse les valeurs d'horodatage et la fréquence des erreurs et leur stabilité. Un serveur NTP tient à jour une estimation de la qualité des horloges de référence et elle-même.
Cette section répertorie certains problèmes courants rencontrés avec NTP et fournit des solutions pour chacun d'entre eux.
Lorsque les routeurs Cisco sont configurés pour utiliser les serveurs NTP placés dans Active Directory, les routeurs Cisco ne reçoivent aucun paquet NTP du serveur NTP. Ce problème se produit car les routeurs Cisco utilisent NTP et les domaines Active Directory utilisent le service W32Time. W32Time utilise le protocole SNTP (Simple Network Time Protocol), un sous-ensemble de NTP, pour la synchronisation temporelle. Les protocoles SNTP et NTP utilisent le même format de paquet réseau. La principale différence entre SNTP et NTP est que SNTP ne fournit pas les fonctions de vérification des erreurs et de filtrage que NTP fournit. Les routeurs et commutateurs Cisco utilisent le protocole NTP et permettent toutes les fonctions de vérification et de filtrage des erreurs fournies par le protocole NTP v3.
Windows W32Time montre qu'il s'agit d'une implémentation SNTP interne (plutôt que de se revendiquer NTP). Cisco IOS-NTP, qui tente de se synchroniser avec W32Time, obtient sa propre valeur de dispersion racine qu'il envoie au W32Time, ce qui s'avère coûteux pour la synchronisation de Cisco IOS-NTP. La valeur de dispersion racine de Cisco IOS-NTP étant supérieure à 1 000 ms, elle se désynchronise (procédure de sélection d'horloge). Puisque les routeurs Cisco IOS exécutent l'implémentation RFC complète de NTP, ils ne se synchronisent pas avec un serveur SNTP. Dans ce cas, la sortie de la commande show ntp associations detail montre que le serveur est marqué comme fou, non valide. La valeur de dispersion racine est supérieure à 1 000 ms, ce qui entraîne le rejet de l'association par l'implémentation NTP de Cisco IOS. Les routeurs qui exécutent Cisco IOS peuvent ne pas pouvoir se synchroniser avec un serveur NTP s'il s'agit d'un système Windows qui exécute le service W32Time. Si le serveur n’est pas synchronisé, les routeurs ne peuvent pas transmettre et recevoir des paquets du serveur.
Afin de contourner ce problème et de synchroniser un routeur basé sur Cisco IOS, utilisez un serveur NTP faisant autorité sur Internet, une boîte UNIX qui exécute NTPD ou un GPS sur certaines plates-formes. Vous pouvez également choisir de ne pas exécuter le service W32Time sur le système Windows. À la place, vous pouvez utiliser NTP 4.x. Toutes les versions de Windows 2000 et ultérieures peuvent servir de serveur NTP. D'autres machines du réseau peuvent alors utiliser le serveur NTP pour synchroniser leur heure.
Voici les raisons possibles pour lesquelles les routeurs ne peuvent pas se synchroniser avec les serveurs de temps publics :
Listes de contrôle d'accès qui n'autorisent pas le passage de paquets du port UDP 123
Une configuration incorrecte dans les routeurs, comme les commandes clock timezone et clock Summer-time, est absente sur les routeurs
Serveur de temps public en panne
Le logiciel serveur NTP sous NT ou UNIX n'est pas configuré correctement
Plus de trafic est présent sur le routeur et plus de trafic sur le chemin vers le serveur
La synchronisation principale NTP a été perdue et le routeur perd régulièrement la synchronisation
Utilisation élevée du CPU
Décalage élevé et plus entre le serveur et le routeur (utilisez la commande show ntp association detail pour vérifier ceci)
Ce message d'erreur apparaît lorsque le capteur tente de se synchroniser avec un serveur qui signale sa strate sur 15. C'est parce qu'une valeur de strate de serveur de 15 fait la valeur de strate de capteur 16, ce qui est illégal. Par conséquent, le capteur rejette le serveur et affiche la Strata trop élevée - trop d'indirections du capteur au message d'erreur maître du serveur NTP.
NTP utilise le concept d'une strate pour décrire le nombre de sauts NTP éloignés d'une machine à partir d'une source temporelle faisant autorité. Ce message d'erreur indique que la strate NTP signalée par le serveur NTP est trop élevée. La strate est un nombre compris entre un et 15 qui indique la distance séparant le serveur d'une horloge de référence de précision. En règle générale, les systèmes qui sont directement synchronisés avec une horloge atomique signalent leur strate comme une seule. Un hôte qui est synchronisé avec un serveur NTP de strate 1 mais qui sert également de serveur NTP pour d’autres hôtes signale sa strate comme deux à ces hôtes, chaque couche de serveurs successifs ayant une strate supérieure à celle de son parent.
Si vous utilisez un hôte Linux en tant que serveur NTP, codez la strate qu'il signale plutôt que de la laisser calculer automatiquement. S'il s'agit d'une boîte Linux ou UNIX, le serveur NTP est configuré par le fichier /etc/ntp.conf, et la commande fudge est utilisée afin de coder la strate en dur. Le serveur signale toujours à ses clients une valeur de strate supérieure à la valeur de fudge.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
05-Nov-2008 |
Première publication |