In che modo i server NTP gestiscono in modo accurato?
Molti di noi hanno avuto il problema occasionale con i nostri computer e altri dispositivi mantenendo impostazioni di tempo precise, ma una rapida sincronizzazione con un server NTP fa di nuovo bene. Ma se i nostri dispositivi possono perdere la precisione, in che modo i server NTP riescono a rimanere così precisi?
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.
Foto per gentile concessione di LEOL30 (Flickr).
La domanda
Il lettore SuperUser Frank Thornton vuole sapere come i server NTP sono in grado di rimanere così accurati:
Ho notato che sui miei server e su altre macchine, gli orologi vanno sempre alla deriva in modo che debbano sincronizzarsi per rimanere precisi. In che modo gli orologi del server NTP non si spostano e rimangono sempre così precisi?
Come fanno i server NTP a rimanere così accurati?
La risposta
Il collaboratore di SuperUser Michael Kjorling ha la risposta per noi:
I server NTP si basano su orologi altamente precisi per il cronometraggio di precisione. Una fonte di tempo comune per i server NTP centrali sono orologi atomici o ricevitori GPS (ricorda che i satelliti GPS hanno orologi atomici a bordo). Questi orologi sono definiti come accurati poiché forniscono un riferimento temporale estremamente preciso.
Non c'è nulla di magico nel GPS o negli orologi atomici che ti facciano dire esattamente che ore sono. A causa del modo in cui funzionano gli orologi atomici, sono semplicemente molto bravi, e una volta gli è stato detto che ore sono, conservazione tempo preciso (dal momento che il secondo è definito in termini di effetti atomici). In effetti, vale la pena notare che l'ora GPS è diversa dall'UTC che siamo più abituati a vedere. Questi orologi atomici sono a loro volta sincronizzati contro l'International Atomic Time o TAI per non solo dire con precisione il passare del tempo, ma anche il tempo.
Una volta che hai un tempo preciso su un sistema connesso a una rete come Internet, è una questione di ingegneria del protocollo che consente il trasferimento di tempi precisi tra host su una rete inaffidabile. A questo proposito, il server NTP di Stratum 2 (o più lontano dalla sorgente dell'orario attuale) non è diverso dalla sincronizzazione del sistema desktop con un gruppo di server NTP.
Nel momento in cui disponi di alcuni tempi precisi (ottenuti dai server NTP o altrove) e conosci il tasso di avanzamento del tuo orologio locale (che è facile da determinare), puoi calcolare il tasso di deriva del tuo orologio locale rispetto a "ritenuto accurato" "Passaggio di tempo. Una volta bloccato, questo valore può quindi essere utilizzato per regolare continuamente l'orologio locale in modo da riportare valori molto vicini al passaggio preciso di tempo, anche se l'orologio locale in tempo reale è molto impreciso. Finché il tuo orologio locale non è altamente irregolare, questo dovrebbe consentire di mantenere un tempo preciso per un po 'di tempo anche se l'origine dell'origine upstream non è più disponibile per qualsiasi motivo.
Alcune implementazioni client NTP (probabilmente la maggior parte del demone ntpd o implementazioni di servizi di sistema) fanno questo, e altre (come ntpdate di ntpd che semplicemente imposta l'orologio una volta) non lo fanno. Questo è comunemente chiamato a file di deriva perché memorizza in modo persistente una misura della deriva del clock, ma in senso stretto non deve essere memorizzato come un file specifico sul disco.
In NTP, Stratum 0 è per definizione un'origine temporale precisa. Lo Stratum 1 è un sistema che usa una sorgente temporale di Stratum 0 come sorgente temporale (ed è quindi leggermente meno precisa della sorgente temporale di Stratum 0). Lo Stratum 2 è di nuovo leggermente meno preciso dello Stratum 1 perché sta sincronizzando il suo tempo con la sorgente Stratum 1 e così via. In pratica, questa perdita di precisione è così piccola che è completamente trascurabile in tutti i casi tranne i più estremi.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.