L’expansion crois­sante des réseaux et des processus inter-systèmes a nécessité l’invention d’une solution uniforme et per­for­mante pour la syn­chro­ni­sa­tion des heures système. Le Network Time Protocol (NTP) s’est imposé comme standard officiel. Il a notamment recours à dif­fé­rents al­go­rithmes pour corriger les écarts et utilise le temps universel officiel comme heure de référence. La variante sim­pli­fiée, publiée en 1990 sous le nom de Simple network time protocol (SNTP), est due en premier lieu à la puissance de calcul encore très inégale des or­di­na­teurs dis­po­nibles à l’époque. Dans le cas du SNTP, la puissance de calcul est en effet nettement moins mise à con­tri­bu­tion pour la syn­chro­ni­sa­tion qu’avec le protocole de base.

Le SNTP : qu’est-ce que c’est ?

Le Simple network time protocol (SNTP) est un protocole de syn­chro­ni­sa­tion des heures ap­par­te­nant à la suite des pro­to­coles TCP/IP. Il est basé sur User Datagram Protocol (UDP) sans connexion et peut être utilisé sur tous les appareils sup­por­tant ce protocole pour la syn­chro­ni­sa­tion des heures système dans les réseaux IP (IPv4 et IPv6). Ce protocole repose sur une structure client/serveur dans laquelle les dif­fé­rents clients ac­quiè­rent les in­for­ma­tions tem­po­relles à partir d’un serveur de temps sé­lec­tionné dans le même réseau. Des serveurs de temps de secours sont prévus dans l’hypothèse où ce serveur ne serait pas dis­po­nible. La première version du SNTP date de 1992 et est spécifiée dans la RFC 1361. Le protocole y est notamment décrit comme une version sim­pli­fiée du Network Time Protocol, le NTP, qui peut également être utilisée pour réajuster l’heure système dans les réseaux.

Après avoir subi dif­fé­rentes révisions, ce protocole développé par un groupe de travail de l’Uni­ver­sité du Delaware en est aujourd’hui à sa quatrième version (SNTPv4). L’uni­ver­sité a publié cette dernière version en 2006 dans la requête RFC 4330.

Dé­fi­ni­tion
Le Simple network time protocol, abrégé en SNTP, est un protocole de la suite des pro­to­coles Internet utilisé pour la syn­chro­ni­sa­tion des heures système dans les réseaux. La version actuelle SNTPv4 supporte aussi bien les réseaux IPv4 que IPv6 et est décrite dans la RFC 4330. Pour ajuster l’heure, les clients SNTP ont recours à un serveur de temps préa­la­ble­ment sé­lec­tionné.

Comment fonc­tionne la syn­chro­ni­sa­tion SNTP ?

À l’instar du NTP, le SNTP sert à syn­chro­ni­ser de façon simple les heures système de tous les appareils au sein d’un réseau. Pour y parvenir, le protocole s’appuie sur un modèle client/serveur et utilise l’heure uni­ver­selle of­fi­cielle (« Coor­di­na­ted Universal Time ») comme heure de référence. Les serveurs de temps jouent alors un rôle de « ré­par­ti­teur » de l’heure pour les clients SNTP, c’est-à-dire les appareils dont l’heure système doit être syn­chro­ni­sée à l’aide du Simple network time protocol. Les paquets IP utilisés à cet effet passent par le port UDP 123. La dif­fé­rence entre le SNTP et le NTP étant très faible, les serveurs NTP habituels sont souvent utilisés pour le processus de syn­chro­ni­sa­tion.

La trans­mis­sion des paquets peut aussi bien se dérouler à travers de simples con­nexions directes (unicast) entre un client et un serveur qu’à travers des con­nexions mul­ti­points entre un serveur et plusieurs clients (broadcast et multicast).

Dif­fé­rence entre le SNTP et le NTP

Les dif­fé­rences entre le SNTP et le NTP portent prin­ci­pa­le­ment sur les deux points suivants :

  • le nombre de serveurs utilisés pour le processus de syn­chro­ni­sa­tion et,
  • le nombre d’al­go­rithmes utilisés pour comparer les écarts de temps et assurer ainsi des résultats aussi précis que possible.

La syn­chro­ni­sa­tion SNTP est souvent basée uni­que­ment sur un serveur de temps unique

Con­trai­re­ment au protocole NTP, plus complexe, le Simple network time protocol place la sim­pli­fi­ca­tion de l’in­ter­ro­ga­tion serveur au premier plan. En pratique, la spé­ci­fi­ca­tion SNTP re­com­mande d’acquérir les in­for­ma­tions tem­po­relles d’un seul serveur tout en évitant, dans la mesure du possible, toute dé­pen­dance client/serveur sup­plé­men­taire. Par ailleurs, l’uti­li­sa­tion de SNTP côté serveur est uni­que­ment prévue si aucune autre source de syn­chro­ni­sa­tion n’est dis­po­nible. A contrario, la syn­chro­ni­sa­tion via NTP repose sur un ensemble complexe de dif­fé­rents serveurs trans­met­tant les in­for­ma­tions dans un système de couches hié­rar­chiques. Les systèmes impliqués dans le processus peuvent alors être aussi bien client que serveur selon leur position dans la chaîne.

Le Simple network time protocol comporte un nombre moins important d’al­go­rithmes

Le SNTP abandonne certains al­go­rithmes prévus par défaut dans la spé­ci­fi­ca­tion NTP. Ces al­go­rithmes servent à compenser les écarts de l’heure système locale afin de toujours fournir la meilleure cor­res­pon­dance avec l’heure uni­ver­selle. Par con­sé­quent, le SNTP offre un degré de précision inférieur à celui du NTP et ne convient donc pas aux ap­pli­ca­tions et processus né­ces­si­tant des valeurs tem­po­relles par­ti­cu­liè­re­ment précises. Grâce à un nombre moins important d’al­go­rithmes et à une com­mu­ni­ca­tion client/serveur, la syn­chro­ni­sa­tion SNTP nécessite toutefois des res­sources nettement moins im­por­tantes, ce qui se révèle tout par­ti­cu­liè­re­ment avan­ta­geux pour les appareils simples ou les systèmes intégrés disposant d’une puissance de calcul in­fé­rieure.

Note
En raison de la puissance de calcul fortement accrue des PC modernes courants, le protocole SNTP n’est plus utilisé pour la syn­chro­ni­sa­tion des heures sur ce type d’appareils. Des pro­to­coles plus complexes, comme le NTP, cons­ti­tuent ici la norme et peuvent être utilisés sans ré­per­cus­sion sensible sur la per­for­mance.
Aller au menu principal