Ce document fournit des informations sur la façon de dépanner 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 NTP.
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. Elle fournit des précisions généralement inférieures à une milliseconde sur les réseaux locaux et pouvant atteindre 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 peut encore mieux fonctionner sur les LAN. Les serveurs de temps NTP fonctionnent au sein de la suite TCP/IP et dépendent du port 123 du protocole UDP (User Datagram Protocol).
Les serveurs NTP sont normalement des périphériques NTP dédiés qui utilisent une référence temporelle unique à 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 spécialisées à ondes longues ou sur 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é d'avance ou de recul de l'horloge système ou réseau. Le protocole NTP analyse les valeurs d’horodatage, la fréquence des erreurs et leur stabilité. Un serveur NTP conserve une estimation de la qualité des horloges de référence et de lui-même.
Cette section répertorie quelques problèmes courants pouvant être rencontrés avec NTP et fournit des solutions pour chacun d'eux.
Lorsque les routeurs Cisco sont configurés pour utiliser les serveurs NTP placés dans Active Directory, ils ne reçoivent aucun paquet NTP du serveur NTP. Ce problème se produit parce que les routeurs Cisco utilisent le protocole NTP et que 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 filtrage et de contrôle des erreurs fournies par NTP. Les routeurs et commutateurs Cisco utilisent le protocole NTP et prennent en charge toutes les fonctions de filtrage et de vérification des erreurs fournies par NTP v3.
Windows W32Time montre qu'il s'agit d'une implémentation SNTP interne (au lieu de se revendiquer NTP). Cisco IOS-NTP, qui tente de se synchroniser avec W32Time, obtient sa propre valeur de dispersion de racine qu'il envoie à W32Time et cela s'avère coûteux pour Cisco IOS-NTP de se synchroniser. Comme la valeur de dispersion racine de Cisco IOS-NTP dépasse 1000 ms, elle se désynchronise (procédure de sélection d’horloge). Comme les routeurs basés sur Cisco IOS exécutent l'implémentation RFC complète de NTP, ils ne se synchronisent pas avec un serveur SNTP. Dans ce cas, le résultat 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 à 1000 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 être en mesure de 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. Les 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 ne permettent pas aux paquets du port UDP 123 de passer
Une mauvaise configuration dans les routeurs, telle que les commandes clock timezone et clock summer-time sont absentes sur les routeurs
Le serveur de temps public est en panne
Le logiciel serveur NTP sous NT ou UNIX est mal configuré
Plus de trafic se trouve sur le routeur et plus de trafic sur le chemin vers le serveur
Le maître NTP perd la synchronisation et le routeur perd périodiquement la synchronisation
Utilisation CPU élevée
Décalage élevé et plus encore entre le serveur et le routeur (utilisez la commande show ntp association detail pour vérifier ceci)
Ce message d'erreur s'affiche lorsque le capteur tente de se synchroniser avec un serveur qui signale sa strate comme 15. En effet, une valeur de strate de serveur de 15 rend la valeur de strate de capteur 16, ce qui est illégal. Par conséquent, le capteur rejette le serveur et affiche le message d'erreur Strata too high - too many indirections from sensor to master NTP server.
Le protocole NTP utilise le concept de strate pour décrire le nombre de sauts NTP à 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 1 et 15 qui indique la distance entre le serveur et une horloge de référence de précision. Généralement, les systèmes qui sont directement synchronisés avec une horloge atomique indiquent leur strate comme une. 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 successive de serveurs ayant une strate qui est une plus élevée que son parent.
Si vous utilisez un hôte Linux comme serveur NTP, codez en dur 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 en dur la strate. Le serveur signale toujours à ses clients une valeur de strate supérieure d'une unité à la valeur de contournement.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
07-Oct-2008 |
Première publication |