SNTP (Simple Network Time Protocol): il protocollo semplificato per la sincronizzazione degli orologi di sistema
Con la crescente diffusione delle reti e dei processi intersistemici si è resa necessaria una soluzione uniforme ed efficace per la sincronizzazione degli orologi di sistema. Il Network Time Protocol (NTP), che utilizza vari algoritmi per correggere le deviazioni e sfrutta il tempo coordinato universale come orologio di riferimento, è diventato lo standard ufficiale. All'inizio degli anni '90 è nata una variante semplificata chiamata Simple Network Time Protocol (SNTP), più adatta alla potenza di calcolo ancora molto scarsa dei computer di allora, ma attualmente meno utilizzata rispetto al protocollo di base.
Che cos'è l'SNTP?
Il Simple Network Time Protocol (SNTP) è un protocollo di sincronizzazione temporale, che fa parte dei protocolli TCP/IP. Si basa sul protocollo UDP (User Datagram Protocol) e può essere utilizzato su tutti i dispositivi che lo supportano per la sincronizzazione degli orologi di sistema nelle reti IP (IPv4 e IPv6). Alla base vi è una struttura client-server in cui i singoli client ottengono le informazioni sull'orario da un time server selezionato nella stessa rete. Qualora non fosse disponibile, vi sono altri time server che fungono da backup. La prima versione dell'SNTP risale al 1992 ed è specificata nell’RFC 1361. In esso il protocollo è descritto, tra l'altro, come variante semplificata del Network Time Protocol (NTP), anch'esso utilizzato per la regolazione dell'orario di sistema nelle reti.
Dopo varie revisioni, il protocollo, sviluppato da un gruppo di lavoro dell'Università del Delaware, è ora disponibile nella quarta versione (SNTPv4), che è stata pubblicata dall'Università nel 2006 nell’RFC 4330.
Il Simple Network Time Protocol, in breve SNTP, è un protocollo della famiglia di protocolli Internet utilizzato per sincronizzare l'orario di sistema nelle reti. La versione attualmente valida, SNTPv4, supporta sia le reti IPv4 che quelle IPv6 ed è descritta nell’ RFC 4330. Per regolare l'orario, i client SNTP utilizzano un time server precedentemente selezionato.
Come funziona la sincronizzazione SNTP?
Come l'NTP, l'SNTP viene utilizzato per sincronizzare facilmente l'orario di sistema di tutti i dispositivi di una rete. A questo scopo viene utilizzato un modello client-server, mentre il tempo coordinato universale ("Coordinated Universal Time") funge da orario di riferimento. I cosiddetti time server funzionano come dei "distributori" di tempo per i client SNTP, ovvero i rispettivi dispositivi il cui orario di sistema deve essere sincronizzato tramite il Simple Network Time Protocol. I pacchetti IP necessari a questo scopo vengono eseguiti sulla porta UDP 123. Poiché l'SNTP è fondamentalmente molto simile all'NTP, i comuni server NTP sono spesso utilizzati per il processo di sincronizzazione.
La trasmissione dei pacchetti può essere effettuata sia tramite semplici connessioni dirette (unicast) tra un client e un server, che tramite connessioni multipunto tra un server e più client (broadcast e multicast).
Qual è la differenza tra SNTP e NTP?
Le differenze tra l'SNTP e l'NTP possono sostanzialmente essere riassunte nei due punti seguenti:
- numero di server utilizzati per il processo di sincronizzazione
- numero di algoritmi utilizzati per compensare gli scostamenti temporali e fornire risultati il più accurati possibile
La sincronizzazione SNTP è spesso basata su un unico time server
A differenza del più complesso protocollo NTP, il Simple Network Time Protocol mira ad una comunicazione semplificata con il server. In particolare, la specifica SNTP raccomanda di ottenere le informazioni sull'orario da un singolo server, evitando ulteriori dipendenze client-server. Inoltre, l'utilizzo lato server dell'SNTP è previsto solo nel caso in cui non sia disponibile nessun'altra sorgente di sincronizzazione. La sincronizzazione tramite NTP, invece, si basa su un’architettura complessa di server diversi che trasmettono le informazioni secondo un sistema gerarchico a strati. A seconda del loro posizionamento 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 utilizzati di default nella specifica NTP. Questi algoritmi hanno lo scopo di compensare le deviazioni dell'orologio di sistema locale, in modo da essere sempre in grado di fornire la migliore corrispondenza possibile con il tempo coordinato mondiale. Di conseguenza, l'SNTP offre un grado di precisione più basso rispetto all'NTP, motivo per cui il protocollo semplificato non è adatto per applicazioni e processi che richiedono valori temporali particolarmente precisi. Tuttavia, grazie alla combinazione di meno algoritmi e alla comunicazione client-server, la sincronizzazione SNTP richiede molto meno risorse, il che è particolarmente vantaggioso per dispositivi semplici o per sistemi integrati con bassa potenza di calcolo.
Grazie alla maggiore potenza di calcolo dei PC moderni, il protocollo SNTP non viene più utilizzato nella sincronizzazione temporale. Infatti vengono utilizzati di default i protocolli più complessi, come l'NTP, che non influiscono più in alcun modo sulle prestazioni.