Mantenere il tempo con il protocollo Network Time

Se vuoi sincronizzazione del tempo di rete, Network Time Protocol (NTP) è di gran lunga il protocollo software più utilizzato. Se si tratta di mantenere una rete di centinaia o migliaia di macchine sincronizzate, o mantenere una sola macchina in esecuzione, NTP offre la soluzione. Senza NTP e il Server NTP, molte delle attività che eseguiamo su Internet, dalla spesa al banking online, semplicemente non sarebbero possibili.

La sincronizzazione è vitale per le reti che operano su Internet. Senza sincronizzazione, ci sarebbe il caos. Immagina di ricevere un'email da qualcuno cinque minuti prima che fosse inviata o di trasferire denaro a un utente la cui macchina dice che il denaro è rimasto prima del suo arrivo.

Coordinated Universal Time

Per evitare tutti questi problemi, viene utilizzata un'unica scala cronologica universale su Internet, che è la stessa indipendentemente dal fuso orario in cui si trova una macchina. Coordinated Universal Time (UTC) è governato da orologi atomici, quindi è altamente preciso e stabile.

Per le reti di computer per ricevere UTC, utilizzano i server NTP, che ricevono la sorgente oraria dalla rete GPS (Global Positioning System), trasmissioni radio o dalla stessa Internet. Una volta ricevuto, spetta a NTP prendere la master time source e distribuirla su una rete per garantire la sincronicità.

Spiegazione del protocollo temporale della rete

NTP è uno dei protocolli più vecchi in informatica. Risale a quando Internet era ancora agli inizi, ma è stato modificato e adattato per garantire che sia ancora rilevante. In sostanza, NTP è un algoritmo progettato per giudicare i tempi sui singoli computer e confrontarli con la sorgente dell'orario UTC. Se NTP trova e discrepanze, regola l'orologio sul dispositivo incriminato per assicurarsi che corrisponda. NTP fa questo con tale precisione che una rete di un migliaio di macchine può essere sincronizzata in pochi millisecondi l'una dall'altra.

NTP adotta un sistema gerarchico. Piuttosto che controllare ogni dispositivo su una rete con il server NTP e la sua origine ora UTC, il protocollo consente alle macchine più vicine al server di essere utilizzate come riferimento per le macchine più in basso. Ciò evita l'afflusso di traffico verso il server NTP e consente a un singolo dispositivo di mantenere la sincronizzazione in una rete di centinaia o persino migliaia di dispositivi.

Secondi Leap

Una delle maggiori sfide che l'NTP deve affrontare nell'usare l'UTC come sorgente del tempo è che questo tempo universale è occasionalmente regolato per mantenere la sua correlazione con la rotazione della Terra. Poiché il pianeta rallenta sempre di più, gli orologi atomici che regolano l'UTC sono moiré accurati rispetto al pianeta stesso, quindi un secondo occasionale viene aggiunto una o due volte l'anno per garantire che non vi sia alcuna deriva dal giorno alla notte (sebbene tale processo richiederebbe milioni di anni).

Questi cambiamenti incrementali sono noti come Salto secondi e sono identificati nei segnali inviati alla maggior parte dei server NTP. Quando NTP scopre che è stato aggiunto un secondo intercalare, regola automaticamente tutti i dispositivi su una rete ripetendo un secondo. La mancata regolazione per questi secondi bisestili comporterebbe il progressivo allontanamento della rete da UTC e la conseguente mancata sincronizzazione con il resto della comunità Internet.

Questo post è stato scritto da

Richard Williams N

Richard N Williams è un autore tecnico e specialista nel settore della sincronizzazione server NTP e ora. Richard Williams N su Google+

Lettura correlata