Cos'è l'NTP? Una guida per principianti al Network Time Protocol
L’NTP è un protocollo Internet utilizzato per sincronizzare gli orologi sulle reti di computer entro pochi millisecondi dell'ora UTC (Universal Coordinated Time). Consente ai dispositivi di richiedere e ricevere UTC da un server che, a sua volta, riceve l'ora precisa da un orologio atomico.
Perché è importante la sincronizzazione dell'ora?
Che cos'è l'UTC e come viene deciso?
Come sincronizzare la tua rete con un server NTP interno
Cos'è l'NTP?
“Un uomo con un orologio sa che ore sono. Un uomo con due orologi non è mai sicuro."
La legge di Segal prende in giro la persona che non fa alcuno sforzo per verificare che abbia ragione, sottolineando la complessità di ricevere informazioni da più di una fonte.
Quando si tratta di sincronizzare le operazioni, il protocollo NTP (Network Time Protocol) risolve entrambi i problemi, fornendo agli utenti la certezza dell'ora esatta su un'intera rete di dispositivi.
Come qualsiasi protocollo di rete, l’NTP è un insieme di regole, o convenzioni, che stabiliscono come i dispositivi su una rete devono trasmettere, ricevere e comprendere i dati. Pensalo come un linguaggio condiviso, che consente ai dispositivi di comunicare, in questo caso, sul tempo.
L’NTP consente ai dispositivi in rete, come orologi, telefoni e computer, di richiedere e ricevere l'ora da un server che, a sua volta, riceve l'ora precisa da una fonte dell'ora definitiva, come un orologio atomico.
L’NTP è stato sviluppato negli anni '80 ed ora siamo alla sua quarta versione. Sin dal suo rilascio, è stato utilizzato per sincronizzare i sistemi critici di aziende, organizzazioni e governi di tutto il mondo.
Perché è importante la sincronizzazione dell'ora?
Man mano che la vita diventa digitalizzata e automatizzata, l'ora esatta è sempre più importante:
- L'industria delle telecomunicazioni fa affidamento od orari precisi per il trasferimento di grandi quantità di dati.
- Le società di servizi utilizzano la sincronizzazione dell'ora per gestire la distribuzione dell'energia.
- I servizi finanziari hanno bisogno dell'ora esatta per contrassegnare la data e l'ora delle transazioni e garantire la tracciabilità delle registrazioni.
- La navigazione satellitare dipende dalla precisione dell'ora, con una differenza di un microsecondo che causa un errore di posizionamento di 300 metri. 1
- CCTV e autovelox richiedono un marcatore temporale accurato per essere ammissibili come prova.
- Innumerevoli aziende si affidano all'ora esatta per gestire i propri processi quotidiani, come la sincronizzazione dei sistemi di timbratura.
Per le organizzazioni di qualsiasi dimensione, l’NTP è un metodo economico, affidabile e facile da usare per distribuire l'ora precisa in tutta una rete, consentendo agli utenti di aumentare la produttività, migliorare il servizio clienti, migliorare la sicurezza e altro ancora.
Inoltre, utilizzando l’NTP per sincronizzarsi con l'ora UTC, uno standard temporale globale, le organizzazioni e i governi sono in grado di coordinare le operazioni internazionali.
Che cos'è l'UTC e come viene deciso?
L'UTC è lo standard mondiale concordato come base per l'ora civile. È il risultato di un processo decennale di invenzione, revisione e collaborazione, durante il quale lo standard è passato dal Greenwich Mean Time (GMT), all’ Atomic Time (TAI), all’ UTC.
È importante sottolineare che l’UTC è uno standard orario, non un fuso orario, il che significa che è lo stesso in tutto il mondo e non è influenzato dall'ora legale. Infatti, i fusi orari sono espressi in base alla loro differenza rispetto all'UTC (+/- il numero di ore). L'ora UTC viene mantenuta confrontando più di 200 orologi atomici situati in tutto il mondo. Il Bureau International des Poids et Measures (BIPM), in Francia, è responsabile della raccolta di questi dati e della generazione dell'ora UTC definitiva.
Come funziona l’NTP?
L’NTP rende l’UTC disponibile a un'organizzazione prendendo il segnale orario da uno o più orologi atomici e distribuendolo ai dispositivi in rete.
Nella sua forma più elementare, una rete NTP è composta dai dispositivi da sincronizzare (noti come client) e da un server NTP, che riceve l'ora UTC e la fornisce ai client.
I client e il server comunicano in una serie di richieste e risposte:
- Il client invia un pacchetto di richiesta NTP al time server, contrassegnando l'ora mentre lo fa (il timestamp o marca temporale di origine).
- Il server contrassegna l'ora in cui viene ricevuto il pacchetto di richiesta (il timestamp o marca temporale di ricezione).
- Il server contrassegna nuovamente l'ora quando invia un pacchetto di risposta al client (il timestamp o marca temporale di trasmissione).
- Il client contrassegna l'ora in cui viene ricevuto il pacchetto di risposta (il timestamp o marca temporale di destinazione).
Questo processo può richiedere solo microsecondi, ma i timestamp (marca temporale) consentono al client di tenere conto del ritardo di andata e ritorno e di calcolare la differenza tra il suo tempo interno e quello fornito dal server, regolandosi se necessario e mantenendo la sincronizzazione.
Gerarchia NTP: spiegazione dei livelli di strato
Su reti di grandi dimensioni, potrebbero esserci così tanti client che il server non è in grado di gestire le richieste provenienti da tutti. In questi casi, server e client sono disposti in una gerarchia di livelli chiamati strati.
I server Stratum 1 hanno una connessione diretta, tramite un segnale radio o GPS, con la fonte dell'ora primaria e forniscono quell'ora ai client su Stratum 2 tramite una connessione di rete.
A loro volta, i dispositivi dello stratum 2 possono funzionare come un server fornendo l’ora ai client sullo stratum 3, e quelli sullo stratum 3 possono fornirlo a quelli sullo stratum 4, e così via. In questo modo, i dispositivi di stratum 1 non vengono sovraccaricati da troppe richieste.
Sono possibili un totale di 15 livelli di stratum sincronizzati (lo stratum 16 è per i client non sincronizzati), ma ognuno di questi introduce un altro livello di ritardo di rete, causando una diminuzione della precisione. Per combattere ciò, i client NTP possono essere configurati per richiedere l'ora a più server per aiutarli a determinare l'ora corretta il più fedelmente possibile.
Che cos'è l’SNTP e in cosa differisce?
L’SNTP (Simple Network Time Protocol) è esattamente ciò che suggerisce il nome: una versione ridotta di NTP adatta a piccole reti e computer con capacità di elaborazione limitata.
L’SNTP e l’NTP hanno diverse simililarità. Ad esempio, i pacchetti di dati scambiati tra i client e il time server sono identici, rendendo qualsiasi time server compatibile con entrambi.
Tuttavia, l’SNTP non dispone dei numerosi algoritmi che l’NTP utilizza per determinare e mantenere la sincronizzazione.
In pratica, ad esempio, l’NTP calcola il tasso di deriva di un dato orologio dall'ora reale e regola tale tasso per mantenere la sincronizzazione dell'orologio. L’SNTP invece consente all'orologio di andare alla deriva e quindi di saltare l'ora in avanti o indietro, per corrispondere all'ora reale a determinati intervalli.
Tra questi intervalli, è possibile che l'orologio non sia sincronizzato, rendendo l’SNTP inadatto per applicazioni che richiedono i massimi livelli di precisione.
L’SNTP differisce anche nel numero di server che utilizza per la sincronizzazione. Mentre l’NTP consente ai client sullo stratum 1 di agire come server per i client su quello successivo, l’SNTP si basa su un'unica relazione server-client.
Time server addizionali possono essere indicati come backup, ma l’SNTP, a differenza dell’NTP, non è in grado di comunicare con diversi server per discernere quale sia il più accurato. L’SNTP è stato rilasciato all'inizio degli anni '90 per adattarsi alla capacità di elaborazione limitata dei computer dell'epoca. Oggigiorno sono pochi i casi in cui l’NTP non possa essere utilizzato, tuttavia l’SNTP può essere comunque utile per applicazioni semplici che non richiedono il livello di precisione più elevato fornito da un NTP.
Server NTP pubblici e server NTP locali
Esistono due tipi di server NTP che puoi utilizzare per fornire l'ora UTC alla tua rete: server pubblici e server locali.
Un time server pubblico è di proprietà e gestito da una terza parte che lo rende disponibile per l'uso su Internet. Il progetto NTP Pool fornisce una directory online di server pubblici, che ti consente di indirizzare i tuoi clienti a uno di questi, gratuitamente.
I server NTP locali (ovvero interni) sono quelli che possiedi tu stesso e installi nei tuoi locali, stabilendo una connessione di rete fisica tra i tuoi server e client.
Se l'ora sincronizzata è fondamentale per le tue operazioni, i time server interni sono l'opzione più sicura e affidabile. Forniscono una maggiore precisione e un maggiore controllo evitando i vari inconvenienti dei server pubblici:
Time server pubblici | Time server locali |
---|---|
Di proprietà di terzi, che li gestiscono. La disponibilità non è garantita. | Di proprietà e sempre sotto il controllo dell’utente. |
La sincronizzazione necessita di una connessione internet affidabile. | La sincronizzazione viene mantenuta se viene interrotta la connessione internet. |
Richiedono un punto di accesso nel firewall, rendendo la rete vulnerabile. | Sono protetti dal firewall, quindi mantengono sicura la rete. |
Si verificano congestioni quando accede un gran numero di utenti. | Vengono usati solo dall’utente, quindi sono accessibili 24 ore su 24, 7 giorni su 7. |
Possono comportare lunghi ritardi negli scambi, diminuendo la precisione dei client SNTP che non sono in grado di tener conto dei ritardi di rete. | Ritardi minimi negli scambi, rendendo i server locali più precisi per chi usa l’SNTP. |
Possono essere soggetti a limiti di frequenza, cioè limitazioni al numero di richieste dell’orario che i client possono fare al server. Se si eccede il limite, si rischia il bando. | Consentono all’utente di impostare i propri limiti di frequenza e di usare quanti client si vuole. L’ideale per le reti grandi. |
Come sincronizzare la tua rete con un server NTP interno
Per configurare una rete NTP con un time server interno, hai bisogno di una serie di cose:
- Una sorgente di tempo di riferimento che definisce e trasmette l'ora reale.
- Un ricevitore orario, sotto forma di antenna radio o GPS.
- Un server NTP, che riceve l'ora dall'antenna e la invia a una rete.
- I dispositivi/client da sincronizzare.
Orologi di Riferimento
Un orologio di riferimento è la fonte oraria primaria che definisce e fornisce l'ora UTC. Gli orologi atomici sono il tipo più accurato di orologio di riferimento, fornendo livelli di precisione quasi inconcepibili.
Ad esempio, l’NIST-F2, creato dal National Institute of Standards and Technology degli Stati Uniti, misura la vibrazione di un atomo di cesio per definire un secondo (9.192.631.770 vibrazioni al secondo). Se funzionasse senza interruzioni, l'orologio non guadagnerebbe né perderebbe un secondo in 300 milioni di anni.
Per fortuna, non è necessario installare un orologio atomico nella stanza del server per ricevere l'ora esatta. Questi vengono installati nel sistema di posizionamento globale dei satelliti e sono mantenuti nei laboratori delle agenzie nazionali di normalizzazione in tutto il mondo. Gli orologi di questo tipo trasmettono segnali orari che puoi raccogliere e utilizzare per sincronizzare la tua rete.
Ricevitori di Tempo
Ogni satellite GPS trasmette un segnale orario che chiunque può ricevere con un'antenna GPS. Il sistema di posizionamento globale è progettato in modo tale che almeno quattro satelliti siano costantemente disponibili in qualsiasi parte del mondo, rendendolo una fonte altamente affidabile per la ricezione di un orario assolutamente preciso.
In alternativa, le antenne radio ricevono un segnale orario da uno dei numerosi orologi atomici sulla terra. La portata di questi segnali è localizzata, quindi gli utenti devono considerare quale stazione fornisce il segnale più forte e utilizzare un'antenna impostata su quella frequenza.
I segnali orari GPS sono i più accurati e hanno il vantaggio di essere disponibili a livello globale. Tuttavia l'antenna richiede una visione del cielo a 360°, che non sempre è disponibile.
I segnali orari radio, d'altra parte, possono essere ricevuti attraverso le finestre, rendendoli una buona opzione per quei locali che non godono di una visuale libera del cielo.
Tuttavia, un segnale orario radio può essere influenzato dalla topografia e dai tempi di inattività, che lo rende meno affidabile e non ideale per la sincronizzazione di sistemi molto critici.
In entrambi i casi, il ricevitore si collega a un server NTP interno tramite un cavo che può essere lungo fino a 1.000 metri, se utilizzato con un amplificatore di potenza, offrendo alle aziende molta flessibilità in termini di installazione.
Server NTP interni
Il tipo di server che scegli dipenderà da una serie di fattori.
Indipendentemente dal fatto che tu stia utilizzando un GPS o una fonte oraria radio, devi considerare:
- Quanti client vuoi sincronizzare
- Se desideri fornire tempo a più reti o no
- Quale sistema operativo vuoi usare
- Come desideri installare fisicamente il server
Scegli un time server radio o GPS, a seconda di quale di tra queste fonti orarie sia la migliore per te. In alternativa, i dual time server sono una valida scelta per quel tipo di applicazioni che richiedono il massimo livello di affidabilità. Questi server utilizzano un'antenna radio e GPS per ricevere l'ora da entrambi, consentendo al server di prelevare l'ora dalla sorgente più forte e tornare automaticamente all'altra in caso di perdita di un segnale.
Per evitare di spendere soldi per funzionalità che non ti servono, dovresti abbinare il tuo time server alle dimensioni della tua rete.
Il Galleon Systems NTS-4000 sincronizza una singola rete ed è ideale per le piccole imprese. L'NTS-6002 è in grado di sincronizzare due reti indipendenti, il che lo rende un'ottima scelta per le organizzazioni con personale separato e reti di clienti.
Per le applicazioni più impegnative, l'NTS-8000 può sincronizzare fino a sei reti, ideale per fornire l'ora esatta a reti indipendenti su diversi piani di un edificio.
Ciascuno di questi time server è in grado di sincronizzare migliaia di client e sono tutti disponibili in configurazione radio, GPS o doppia.
I time server possono essere applicati su diversi sistemi operativi, ma qualsiasi client può accedere a un server in esecuzione su qualsiasi sistema operativo. Ad esempio, i client che eseguono MacOS possono comunicare con un time server Windows utilizzando il loro software client NTP integrato.
Infine, scegli un server che soddisfi i requisiti fisici del tuo spazio. Molti time server sono disponibili in formato rack, consentendoti un’integrazione con l'hardware IT già esistente. In alternativa, puoi ottenere le stessa funzionalità utilizzando un server autonomo, montabile su qualsiasi superficie piana.
NTP Client
I client sono i dispositivi che connetti al tuo time server per essere sincronizzati. Praticamente qualsiasi dispositivo può essere un client se soddisfa tre condizioni:
- Ha un orologio incorporato
- Può essere collegato a una rete tramite una connessione Ethernet
- È in grado di eseguire software client NTP/SNTP
I possibili client includono computer, telefoni, orologi, sistemi TVCC, sistemi di timbratura, terminali di pagamento e altro ancora.
Molti dispositivi dispongono di un software client NTP integrato. In caso contrario, il software TimeSync è facile da installare sui dispositivi Windows, consentendo di sincronizzare una gamma di client per una varietà di scopi.
Cos'è l'NTP? Conclusione
L’NTP offre alle aziende e alle organizzazioni un metodo di sincronizzazione dell'ora affidabile, conveniente e facile da usare.
È uno dei protocolli Internet più antichi ancora in uso e sebbene siamo ora alla sua quarta versione, conserva molti dei principi che lo hanno reso così popolare nei suoi primi anni.
Collegando i tuoi dispositivi in rete a un time server, che riceve un segnale da una fonte di tempo definitiva, puoi godere dei vantaggi di un orario preciso in qualsiasi luogo, aumentando la produttività, migliorando il servizio ai clienti e sincronizzando le tue operazioni.
Per una chiacchierata senza impegno sull'implementazione di un NTP nella tua organizzazione, contatta Galleon Systems: +44 (0)121 608 7230, oppure +39 06 657487381.
_________________
1Thales Group