Con la crescente dif­fu­sio­ne delle reti e dei processi in­ter­si­ste­mi­ci si è resa ne­ces­sa­ria una soluzione uniforme ed efficace per la sin­cro­niz­za­zio­ne degli orologi di sistema. Il Network Time Protocol (NTP), che utilizza vari algoritmi per cor­reg­ge­re le de­via­zio­ni e sfrutta il tempo coor­di­na­to uni­ver­sa­le come orologio di ri­fe­ri­men­to, è diventato lo standard ufficiale. Al­l'i­ni­zio degli anni '90 è nata una variante sem­pli­fi­ca­ta chiamata Simple Network Time Protocol (SNTP), più adatta alla potenza di calcolo ancora molto scarsa dei computer di allora, ma at­tual­men­te meno uti­liz­za­ta rispetto al pro­to­col­lo di base.

Che cos'è l'SNTP?

Il Simple Network Time Protocol (SNTP) è un pro­to­col­lo di sin­cro­niz­za­zio­ne temporale, che fa parte dei pro­to­col­li TCP/IP. Si basa sul pro­to­col­lo UDP (User Datagram Protocol) e può essere uti­liz­za­to su tutti i di­spo­si­ti­vi che lo sup­por­ta­no per la sin­cro­niz­za­zio­ne degli orologi di sistema nelle reti IP (IPv4 e IPv6). Alla base vi è una struttura client-server in cui i singoli client ottengono le in­for­ma­zio­ni sul­l'o­ra­rio da un time server se­le­zio­na­to nella stessa rete. Qualora non fosse di­spo­ni­bi­le, vi sono altri time server che fungono da backup. La prima versione dell'SNTP risale al 1992 ed è spe­ci­fi­ca­ta nell’RFC 1361. In esso il pro­to­col­lo è descritto, tra l'altro, come variante sem­pli­fi­ca­ta del Network Time Protocol (NTP), anch'esso uti­liz­za­to per la re­go­la­zio­ne del­l'o­ra­rio di sistema nelle reti.

Dopo varie revisioni, il pro­to­col­lo, svi­lup­pa­to da un gruppo di lavoro del­l'U­ni­ver­si­tà del Delaware, è ora di­spo­ni­bi­le nella quarta versione (SNTPv4), che è stata pub­bli­ca­ta dal­l'U­ni­ver­si­tà nel 2006 nell’RFC 4330.

De­fi­ni­zio­ne

Il Simple Network Time Protocol, in breve SNTP, è un pro­to­col­lo della famiglia di pro­to­col­li Internet uti­liz­za­to per sin­cro­niz­za­re l'orario di sistema nelle reti. La versione at­tual­men­te valida, SNTPv4, supporta sia le reti IPv4 che quelle IPv6 ed è descritta nell’ RFC 4330. Per regolare l'orario, i client SNTP uti­liz­za­no un time server pre­ce­den­te­men­te se­le­zio­na­to.

Come funziona la sin­cro­niz­za­zio­ne SNTP?

Come l'NTP, l'SNTP viene uti­liz­za­to per sin­cro­niz­za­re fa­cil­men­te l'orario di sistema di tutti i di­spo­si­ti­vi di una rete. A questo scopo viene uti­liz­za­to un modello client-server, mentre il tempo coor­di­na­to uni­ver­sa­le ("Coor­di­na­ted Universal Time") funge da orario di ri­fe­ri­men­to. I co­sid­det­ti time server fun­zio­na­no come dei "di­stri­bu­to­ri" di tempo per i client SNTP, ovvero i ri­spet­ti­vi di­spo­si­ti­vi il cui orario di sistema deve essere sin­cro­niz­za­to tramite il Simple Network Time Protocol. I pacchetti IP necessari a questo scopo vengono eseguiti sulla porta UDP 123. Poiché l'SNTP è fon­da­men­tal­men­te molto simile all'NTP, i comuni server NTP sono spesso uti­liz­za­ti per il processo di sin­cro­niz­za­zio­ne.

La tra­smis­sio­ne dei pacchetti può essere ef­fet­tua­ta sia tramite semplici con­nes­sio­ni dirette (unicast) tra un client e un server, che tramite con­nes­sio­ni mul­ti­pun­to tra un server e più client (broadcast e multicast).

Qual è la dif­fe­ren­za tra SNTP e NTP?

Le dif­fe­ren­ze tra l'SNTP e l'NTP possono so­stan­zial­men­te essere riassunte nei due punti seguenti:

  • numero di server uti­liz­za­ti per il processo di sin­cro­niz­za­zio­ne
  • numero di algoritmi uti­liz­za­ti per com­pen­sa­re gli sco­sta­men­ti temporali e fornire risultati il più accurati possibile

La sin­cro­niz­za­zio­ne SNTP è spesso basata su un unico time server

A dif­fe­ren­za del più complesso pro­to­col­lo NTP, il Simple Network Time Protocol mira ad una co­mu­ni­ca­zio­ne sem­pli­fi­ca­ta con il server. In par­ti­co­la­re, la specifica SNTP rac­co­man­da di ottenere le in­for­ma­zio­ni sul­l'o­ra­rio da un singolo server, evitando ulteriori di­pen­den­ze client-server. Inoltre, l'u­ti­liz­zo lato server dell'SNTP è previsto solo nel caso in cui non sia di­spo­ni­bi­le nes­sun'al­tra sorgente di sin­cro­niz­za­zio­ne. La sin­cro­niz­za­zio­ne tramite NTP, invece, si basa su un’ar­chi­tet­tu­ra complessa di server diversi che tra­smet­to­no le in­for­ma­zio­ni secondo un sistema ge­rar­chi­co a strati. A seconda del loro po­si­zio­na­men­to nella catena, i sistemi coinvolti nel processo possono essere sia client che server.

Il Simple Network Time Protocol contiene meno algoritmi

L'SNTP fa a meno di alcuni algoritmi che vengono uti­liz­za­ti di default nella specifica NTP. Questi algoritmi hanno lo scopo di com­pen­sa­re le de­via­zio­ni del­l'o­ro­lo­gio di sistema locale, in modo da essere sempre in grado di fornire la migliore cor­ri­spon­den­za possibile con il tempo coor­di­na­to mondiale. Di con­se­guen­za, l'SNTP offre un grado di pre­ci­sio­ne più basso rispetto all'NTP, motivo per cui il pro­to­col­lo sem­pli­fi­ca­to non è adatto per ap­pli­ca­zio­ni e processi che ri­chie­do­no valori temporali par­ti­co­lar­men­te precisi. Tuttavia, grazie alla com­bi­na­zio­ne di meno algoritmi e alla co­mu­ni­ca­zio­ne client-server, la sin­cro­niz­za­zio­ne SNTP richiede molto meno risorse, il che è par­ti­co­lar­men­te van­tag­gio­so per di­spo­si­ti­vi semplici o per sistemi integrati con bassa potenza di calcolo.

N.B.

Grazie alla maggiore potenza di calcolo dei PC moderni, il pro­to­col­lo SNTP non viene più uti­liz­za­to nella sin­cro­niz­za­zio­ne temporale. Infatti vengono uti­liz­za­ti di default i pro­to­col­li più complessi, come l'NTP, che non in­flui­sco­no più in alcun modo sulle pre­sta­zio­ni.

Vai al menu prin­ci­pa­le