Cos'è il Network Time Protocol?
Il Network Time Protocol è un mezzo per sincronizzare con precisione l'ora tra più computer su una rete. La maggior parte degli orologi per computer perde almeno un secondo di tempo ogni giorno, il che non è così importante per l'utente medio. Molti sistemi di sicurezza e di registrazione degli eventi devono tenere traccia dei computer su diverse reti, incluso Internet. Questi sistemi si basano sulla sincronizzazione dell'orologio dei loro computer collegati con il Network Time Protocol. Questo protocollo aggiorna frequentemente l'ora esatta sui propri client dai server che mantengono lo standard internazionale dell'ora atomica.
Conosciuto anche con l'acronimo NTP, il Network Time Protocol è stato istituito come standard alla fine degli anni '80. Nel corso degli anni '90 sono state apportate diverse revisioni per migliorare l'autenticazione, gli algoritmi, la precisione e la sincronizzazione esterna. Nel 2010, la versione 4 di NTP è stata proposta dall'Internet Engineering Task Force (IETF) in Request For Comments (RFC) 5905. La versione 4 include crittografia a chiave pubblica, precisione dei nanosecondi e un metodo per localizzare automaticamente un time server. Include inoltre algoritmi e precisione migliorati, nonché supporto per nuovi clock di riferimento hardware e sistemi operativi.
Un utente su una piccola rete locale può essere leggermente infastidito solo quando i timestamp di modifica della posta elettronica o dei file sono fuori servizio. Tuttavia, le reti con molti utenti e le risorse condivise su Internet ne risentiranno in modo significativo. Per i database delle transazioni finanziarie, le applicazioni di controllo industriale e i software di monitoraggio della rete, i tempi precisi sono generalmente fondamentali, non solo sul sistema che registra la transazione, ma su tutti i computer che riportano i dati, 24 ore al giorno. Il Network Time Protocol e i time server internazionali che lo supportano possono rispondere a queste esigenze.
Un amministratore di rete può aggiornare l'ora quotidianamente su ciascun client manualmente da un server orario. I sistemi possono anche essere configurati per ricaricare il tempo ad ogni riavvio. La deriva temporale di ora in ora è significativa, tuttavia, a causa di molti fattori tra cui la temperatura e i problemi del sistema operativo. La soluzione migliore è di solito ripristinare automaticamente ogni clock con incrementi molto piccoli più volte al giorno con il Network Time Protocol. Usando questo metodo, i sistemi e gli utenti non sono "sorpresi" da balzi improvvisi relativamente grandi in avanti o indietro nel tempo.
Un client che utilizza Network Time Protocol può ottenere l'ora esatta da un server basato su Internet o da una fonte di tempo esterna cablata. Alla fine, entrambe le fonti ottengono il Coordinated Universal Time (UTC) da un time server internazionale. Una fonte cablata può riceverla direttamente o indirettamente tramite un segnale radio speciale. Un'origine di rete generalmente lo ottiene indirettamente attraverso diversi livelli di server che eseguono software NTP. Mentre ci sono solo pochi server collegati direttamente a orologi atomici, decine di migliaia di server in tutto il mondo trasmettono il tempo ai sistemi locali.
Il software relativo al tempo di rete in esecuzione su ciascun client NTP mantiene il suo orologio aggiornato con estrema precisione e regolarità. Quando un client non è connesso a Internet, gli algoritmi NTP stimano l'ora corrente in base alle prestazioni passate. I sistemi che non richiedono tutte le funzionalità di NTP possono utilizzare una versione ridotta denominata SNTP (Simple Network Time Protocol).