Horloges maîtresses et solutions de synchronisation
La précision de la synchronisation est essentielle pour la défense, les industries commerciales et l’alimentation des opérations essentielles du réseau. Safran propose des serveurs de temps en réseau et des solutions pour une synchronisation précise, la sécurité, la conformité et l’adhésion aux meilleures pratiques en matière de synchronisation. Lorsque la précision, la sûreté, la sécurité et la fiabilité sont essentielles, Safran ouvre la voie.
Pourquoi avez-vous besoin d’un serveur de temps NTP ?
Ce qui rend la synchronisation du temps en réseau sûre, fiable et précise
Niveaux et précision de la strate NTP
Qu’est-ce que le NTP (network time protocol) ?
Bien qu’il existe une variété de services de temps à utiliser pour la synchronisation du temps du réseau, le protocole le plus largement utilisé et le mieux établi est connu sous le nom de protocole de temps du réseau ou NTP. NTP est un protocole UDP pour les réseaux IP. L’Internet Engineering Task Force a formalisé la norme actuelle de NTP (version 4) dans le RFC 5905. Le protocole SNTP (Simple Network Time Protocol), la dernière norme formalisée dans la RFC 4330, utilise une implémentation client moins complexe.
Une solution de synchronisation du temps nécessite un logiciel client pour lire les paquets NTP générés par un serveur NTP et synchroniser l’horloge locale. La fonction de serveur de temps est la même pour NTP ou SNTP, la seule différence se situe au niveau du logiciel client.
Comment configurer les clients NTP ?
Le logiciel client pour le protocole de temps réseau est largement disponible pour une variété de systèmes d’exploitation et est généralement préinstallé dans les serveurs, les stations de travail, les pare-feu et les routeurs. La configuration d’un client NTP ou SNTP est simple. Vous trouverez de l’aide sur ce site et sur de nombreux autres pour configurer les services temporels de Windows tels que W32time. Des logiciels tiers sont disponibles pour améliorer la fonctionnalité de l’application client NTP. Nous proposons une suite de logiciels NTP pour les clients Windows appelée PresenTense. PresenTense améliore considérablement la gestion et la fiabilité de l’application de synchronisation temporelle grâce à l’utilisation de la surveillance en temps réel, de l’enregistrement exhaustif, des alertes par courrier électronique, de la redondance intégrée et d’une plus grande précision.
Pourquoi ne pas utiliser un serveur de temps Internet ?
Des serveurs de temps basés sur l’internet et gérés par des universités et des organisations gouvernementales sont à la disposition du public. Cependant, NTP nécessite un port ouvert (port UDP 123) dans le pare-feu pour que les paquets NTP puissent passer. Les ports ouverts dans le pare-feu constituent un risque de sécurité pour vous, en tant qu’opérateur de réseau, et peuvent affecter la fiabilité et la précision des serveurs de temps publics, car ils sont facilement exploités dans des attaques par “déni de service”, même si elles sont involontaires.
En mai 2003, un serveur de temps Internet exploité par l’Université du Wisconsin à Madison a fait l’objet d’un afflux continu de trafic à grande échelle, ce qui a eu pour effet de réduire considérablement la disponibilité du serveur pendant plusieurs mois. La source de l’”attaque” était basée sur un bogue de programmation dans le micrologiciel des routeurs bon marché destinés aux particuliers et aux petites entreprises.
La précision est une autre préoccupation des serveurs de temps Internet. La dernière étude du réseau de serveurs de temps NTP réalisée par le MIT a mis en évidence deux problèmes : le nombre de mauvais serveurs de temps sur l’internet et le déséquilibre de la charge. Seuls 28 % des serveurs temporels, indiqués comme strate 1, se sont révélés utiles.
Un autre problème affectant la précision est celui de l’usurpation d’identité (spoofing). Le spoofing est l’acte d’un tiers qui crée des paquets IP en utilisant l’adresse IP de quelqu’un d’autre. Ne prenez pas le risque d’utiliser de faux paquets NTP pour la synchronisation de votre réseau.
NTP ou SNTP : quelle est la différence ?
NTP (Network Time Protocol) et SNTP (Simple Network Time Protocol) sont des protocoles TCP/IP similaires en ce sens qu’ils utilisent le même paquet de temps provenant d’un message de serveur de temps pour calculer l’heure exacte. La procédure utilisée par le serveur de temps pour assembler et envoyer un horodatage est exactement la même, que l’on utilise NTP (c’est-à-dire l’implémentation complète de NTP) ou SNTP.
La différence entre NTP et SNTP est importante dans le programme de synchronisation du temps qui s’exécute côté client sur chaque système. Le programme de synchronisation du temps, qu’il s’agisse d’un programme intégré à Windows comme W32Time (qui utilise le protocole SNTP) ou d’un module complémentaire tiers, détermine le protocole utilisé, et non le serveur de temps. La différence entre NTP et SNTP réside dans le contrôle des erreurs et dans l’algorithme de correction de l’heure elle-même.
L’algorithme NTP est beaucoup plus complexe que l’algorithme SNTP. NTP utilise normalement plusieurs serveurs de temps pour vérifier l’heure, puis contrôle la vitesse de balayage du système. L’algorithme détermine si les valeurs sont exactes en utilisant plusieurs méthodes, y compris des facteurs de correction et l’identification des serveurs de temps qui ne sont pas en accord avec les autres serveurs de temps. Il accélère ou ralentit ensuite la vitesse de dérive de l’horloge du système de sorte que (1) l’heure du système soit toujours correcte et (2) qu’il n’y ait pas de sauts temporels ultérieurs après la correction initiale.
Contrairement à NTP, SNTP utilise généralement un seul serveur de temps pour calculer l’heure, puis “saute” l’heure du système à l’heure calculée. Il peut toutefois disposer de serveurs de temps de secours au cas où l’un d’entre eux ne serait pas disponible. Pendant chaque intervalle, il détermine si l’heure est suffisamment décalée pour effectuer une correction et, si c’est le cas, il applique la correction.
Prenons l’exemple de la comparaison et de l’ajustement d’une montre-bracelet par rapport à une horloge murale. La montre-bracelet est analogue à l’appareil “client” (comme un PC) et l’horloge murale est le serveur de temps. Avec SNTP, vous regardez toujours l’horloge à des intervalles prédéterminés. Disons un par heure. (Pour l’anecdote, l’acte de comparaison de l’heure de synchronisation des ordinateurs est appelé “sondage”). Lorsque vous pensez qu’il est 12:00:00, l’horloge affiche 11:59:57. Reculez votre montre de trois secondes et ne faites rien avant 1:00:00. Vous regardez à nouveau l’horloge pour voir qu’il est 12:59:57, c’est-à-dire trois secondes plus tôt, donc vous reculez la montre de trois secondes. Toutes les heures, la montre est remise à zéro pendant 3 secondes pour être synchronisée avec l’horloge murale. Du point de vue de l’erreur, vous êtes le plus précis immédiatement après le sondage et vous vous dégradez progressivement. L’erreur maximale se produit immédiatement avant le scrutin, lorsqu’un ajustement soudain se produit, par exemple lorsque l’heure passe de 12:59:57 à 12:59:58 à 12:59.59 à 1:00:00 à 12:59:57.
Si une erreur maximale de trois secondes et la discontinuité de l’échelle de temps vous dérangent, considérez le cas du NTP. Réagissez en sachant que votre montre gagne trois secondes toutes les heures, vous n’avez donc pas besoin de changer souvent. Il suffit de compenser la dérive en utilisant vos mesures d’erreur en fonction du temps. Il n’est pas nécessaire d’utiliser toujours la même période de mesure. Tout ce que vous devez savoir, c’est le taux et la direction du changement.
Après avoir compris la dérive, programmez la montre pour qu’elle s’ajuste en temps réel. Procédez à de petits ajustements, de sorte qu’à tout moment, vous soyez en phase avec l’horloge accrochée au mur sans la regarder. Bien entendu, le taux de dérive peut changer au fil du temps, c’est pourquoi vous devez continuellement interroger l’horloge et appliquer la meilleure correction. Votre montre-bracelet restera alors synchronisée.
Lequel vous faut-il ?
Tout dépend de votre application, mais en général, les clients SNTP ne devraient être utilisés que lorsque la synchronisation du temps n’est pas critique pour vos systèmes. Pour tous les autres clients, et pour les systèmes qui serviront également à d’autres systèmes, vous devez utiliser des implémentations NTP complètes comprenant des algorithmes de sélection de référence et de pilotage de l’horloge afin de maintenir la précision sur l’ensemble du chemin de synchronisation.
En ce qui concerne les serveurs de temps eux-mêmes, la sélection d’un serveur de temps qui utilise SNTP ou NTP pour servir le temps uniquement doit se concentrer sur la question de savoir si ce serveur de temps se synchronisera jamais sur NTP comme référence primaire ou secondaire — dans ce cas, seul NTP complet doit être utilisé. Pour simplifier les choses, SNTP ne devrait être utilisé qu’au début ou à la fin du chemin de synchronisation du réseau, et seulement à la fin du chemin de synchronisation du réseau où la synchronisation du temps n’est pas critique pour vos systèmes.