Time Sync

Time Sync

Time Sync nei DC e on-premise

La sincronizzazione temporale è fondamentale nei Data Center e nelle infrastrutture cloud, in quanto garantisce la coerenza degli orologi di sistema, indispensabile per la sicurezza, la registrazione degli eventi e il corretto funzionamento di applicazioni distribuite. In ambienti complessi come GCP, Azure, AWS, dove risiedono numerosi servizi, una gestione accurata del tempo è un aspetto critico per evitare disallineamenti e problemi di autenticazione.

Una corretta sincronizzazione dell’orologio:

·        Garantisce la coerenza dei log: eventi e transazioni vengono registrati con timestamp accurati, facilitando il troubleshooting e la correlazione degli eventi.

·        Supporta i protocolli di sicurezza: sistemi di autenticazione (come Kerberos o quelli basati su certificati) richiedono orari affidabili per evitare errori di validazione.

Riferimento temporale nei data center

Nei data center moderni, la sincronizzazione temporale dei server è un aspetto cruciale e viene garantita attraverso l'uso di dispositivi chiamati Master Clocks. Questi dispositivi forniscono un riferimento temporale estremamente preciso, ottenuto tramite la connessione a reti GPS. A loro volta, le reti GPS basano il proprio riferimento temporale sul National Institute of Standards and Technology (NIST), che utilizza orologi atomici al stronzio con una precisione di 1x10^-11.

1.00

Sincronizzazione temporale nel data center

La distribuzione del tempo all'interno di un data center avviene principalmente tramite il Precision Time Protocol (PTP). L'implementazione del PTP richiede l'uso di adattatori di rete specializzati per garantire la massima precisione. Il tempo utilizzato è il Coordinated Universal Time (UTC), lo stesso impiegato nei Syslogs.

Comparazione dei protocolli di sincronizzazione

·        PTP (Precision Time Protocol): Questo protocollo consente ai dispositivi di calcolare la latenza della rete e di adeguare il tempo di conseguenza, offrendo una precisione molto elevata, adatta per applicazioni critiche come il trading finanziario. Funziona principalmente a livello hardware.

·        NTP (Network Time Protocol): Nato per la sincronizzazione dei dispositivi attraverso internet e reti non stabili, il NTP fornisce una precisione di circa 50 ms. Server NTP interni possono raggiungere precisioni tra 1-3 ms, a seconda del numero di hop necessari. Sebbene adeguato per la sincronizzazione dei Syslogs, il NTP non è sufficientemente preciso per applicazioni finanziarie sensibili.

Implementazioni di cloud provider

I Cloud Provider garantiscono la sincronizzazione interna dei loro server con l'UTC, esponendo sia il protocollo PTP che il NTP. Tuttavia, non specificano se la sincronizzazione avviene al microsecondo o al nanosecondo. Per la stragrande maggioranza delle applicazioni, la precisione offerta è ampiamente sufficiente, superando le esigenze del 99,999% degli scenari.

In sintesi, la scelta tra PTP e NTP dipende dalle specifiche esigenze di precisione dell'applicazione, con PTP che offre una soluzione più precisa per ambienti critici e NTP che rappresenta una soluzione versatile per la maggior parte delle applicazioni.

Come sincronizzare un private Data Center

Per sincronizzare efficacemente i log in un data center privato, è consigliabile utilizzare il Network Time Protocol (NTP). NTP è progettato per la sincronizzazione temporale su reti di varia stabilità e offre una precisione sufficiente per la maggior parte delle esigenze di logging. Ecco un piano dettagliato:

Implementazione di server NTP interni

·        Configurare uno o più server NTP interni alla LAN. È importante assicurarsi che siano configurati per ottenere il riferimento temporale da una sorgente precisa e stabile, come un server GPS o un server NTP di livello superiore (ad esempio da Azure time.windows.com).

Configurazione dei dispositivi client

·        Configurare tutti i dispositivi all'interno del data center (inclusi server, switch di rete e dispositivi di archiviazione) per sincronizzare il loro orologio con i server NTP interni.

Precisione e controllo della latenza

·        Garantire che la latenza di rete tra i server NTP e i dispositivi client sia minima. Idealmente, la precisione sarà di 1-3 ms, sufficiente per la sincronizzazione dei log.

Ridondanza e affidabilità

·        Implementare server NTP ridondanti per garantire la continuità del servizio in caso di guasti. Posizionare i server in diverse parti della rete per migliorare l'affidabilità.

Monitoraggio e manutenzione

·        Monitorare regolarmente la sincronizzazione dei dispositivi per assicurarsi che tutti rimangano sincronizzati e per individuare eventuali problemi di latenza o precisione.

Vantaggi dell'utilizzo di NTP per la sincronizzazione dei log

·        Semplicità: L'implementazione e la gestione di NTP sono relativamente semplici e non richiedono hardware specializzato.

·        Versatilità: NTP è ampiamente supportato da molti sistemi operativi e dispositivi di rete.

·        Affidabilità: Con una configurazione corretta, NTP può fornire una sincronizzazione temporale stabile e precisa, sufficiente per la maggior parte delle esigenze di logging.

Per esigenze di precisione maggiore o requisiti di rete specifici, si potrebbe considerare l'uso del Precision Time Protocol (PTP).

Un discorso a parte è da fare per tutti i data center che eseguono applicazioni finanziarie con trading on-line automatizzato. Tali data center necessitano di 2 elementi fondamentali:

Un time Sync molto preciso: l'NTP non va più bene per queste applicazioni.

Bassissima latenza: In alcune tipologie di transazioni finanziarie il primo che arriva "acquista" al valore in quell'istante. Questo viene ottenuto mettendo i data center più vicini possibile al centro stella internet nazionale o collegati ad essi con una dark-net privata.