Comprendre les horloges informatiques avec NTP
posté par Richard N Williams on Septembre 8th, 2008
La façon dont un ordinateur traite le temps est totalement différente de la façon dont les humains l'ont perçue. Nous organisons le temps en secondes, minutes, heures, jours, semaines, mois et années, tandis que les ordinateurs, d'autre part, organisent l'heure en tant que numéro unique représentant les secondes qui ont passé d'un seul point dans le temps, connu comme l'époque principale.
La plupart des ordinateurs utilisent NTP (Network Time Protocol) pour traiter le temps et les réseaux, beaucoup sont synchronisés à l'aide d'un serveur de temps NTP dédié. NTP ne sait rien sur les jours, les années ou les siècles, à seulement quelques secondes de l'époque principale. Cette époque principale est définie (pour la plupart des systèmes) à minuit au tournant du siècle XX siècle pour qu'un être humain soit enregistré comme quelque chose comme: 00: 00 - 01,01,1900.
Les ordinateurs, cependant, comptent le temps comme le nombre de secondes après ce point. Si un ordinateur était autour de 1900, son horodatage à minuit Janvier 1 serait 0 alors que dans 1972 à la même date, l'horodatage serait 2,272,060,800, ce qui représente le nombre de secondes depuis 1900.
Les horodatages redémarrent chaque année 136 avec la prochaine envolée due à 2036, cela a causé de l'inquiétude parmi certains qui craignent un scénario de type Millennium Bug, bien que le plus douteux que de tels événements se produiraient, cependant, lorsqu'un enveloppement de l'horodatage se produit L'ère entier sera ajouté (+ 1), pour permettre aux ordinateurs de faire face à des délais couvrant plus d'un enveloppement. Si les ordinateurs et NTP doivent faire face au temps qui s'étend avant l'époque principale, un nombre entier négatif est utilisé (pour l'année 1500 a -3 sera utilisé pour représenter trois cycles d'années 136).
Les horodateurs sont utilisés dans presque toutes les transactions que les ordinateurs modernes sont chargés de faire, tels que l'envoi d'emails, le débogage et la programmation. Étant donné que le temps est linéaire, un ordinateur sait que chaque horodatage est toujours supérieur à celui précédent et, par conséquent, les ordinateurs et NTP ont du mal à faire face aux inexactitudes dans le temps, en particulier lorsque le temps semble apparaître soudainement.
Cela peut se produire si les ordinateurs ne sont pas synchronisés en même temps. Si un courrier électronique est envoyé à une machine avec une horloge plus lente, il apparaît que l'ordinateur a été reçu avant d'être envoyé. Le manque de synchronisation peut poser de sérieux problèmes et peut même laisser un système vulnérable aux attaques malveillantes et même à la fraude.
Pour cette raison, la plupart des réseaux informatiques sont synchronisés avec UTC (Temps universel coordonné). UTC est un calendrier global et le même pour tout le monde, c'est basé sur le temps indiqué par les horloges atomiques qui sont très précis, ne gagnant ni perdant une seconde en millions d'années.
La plupart des réseaux informatiques utilisent une Serveur de temps NTP Pour recevoir une heure UTC pour synchroniser leurs ordinateurs aussi. UTC est disponible sur Internet (bien que non sécurisé), via le réseau GPS (Système de positionnement global), ou en recevant des transmissions de temps et de fréquence nationales par ondes longues.
NTP synchronise un ordinateur en vérifiant l'heure UTC reçue et en ajoutant ou en retenant l'horodatage d'un ordinateur jusqu'à ce qu'il corresponde parfaitement à UTC. En utilisant un serveur de temps NTP dédié, UTC peut être maintenu sur un réseau à quelques millisecondes d'heure UTC.