21Aug
Mulți dintre noi au avut o problemă ocazională cu computerele și alte dispozitive care păstrează setările de timp exacte, însă o sincronizare rapidă cu un server NTP se face din nou bine. Dar, dacă propriile noastre dispozitive pot pierde precizia, cum pot gestiona serverele NTP să rămână atât de exacte?
Întrebarea de astăzi &Sesiunea de răspuns vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.
Fotografie de curtoazie a LEOL30( Flickr).
Cititorul de întrebări
SuperUser Frank Thornton dorește să știe cum serverele NTP sunt capabile să rămână atât de precise:
Am observat că pe serverele și alte mașini ceasurile sunt întotdeauna derivează astfel încât să se sincronizeze pentru a rămâne exacte. Cum păstrează ceasurile serverelor NTP de la drift și rămân mereu atât de exacte?
Cum reușesc serverele NTP să rămână atât de exacte?
Răspunsul
Contribuitorul SuperUser Michael Kjorling are răspunsul pentru noi: serverele NAS
se bazează pe ceasuri foarte precise pentru ceasuri de precizie. O sursă de timp comună pentru serverele centrale NTP sunt ceasurile atomice sau receptoarele GPS( amintiți-vă că sateliții GPS au ceasuri atomice la bord).Aceste ceasuri sunt definite ca fiind precise, deoarece oferă o referință de timp foarte exactă.
Nu există nimic magic despre GPS sau ceasuri atomice care să-i facă să vă spună exact ce moment este. Datorită modului în care funcționează ceasurile atomice, ei sunt pur și simplu foarte buni, după ce au fost informați despre ce oră este, menținând timpul precis( de la al doilea este definit în termeni de efecte atomice).De fapt, este demn de remarcat faptul că timpul GPS este diferit de UTC pe care suntem mai obișnuiți să îl vedem. Aceste ceasuri atomice sunt, la rândul lor, sincronizate cu Timpul Atomic Internațional sau TAI, pentru a nu numai să spună cu exactitate trecerea timpului, dar și timpul pentru timpul .
Odată ce aveți un timp exact pe un sistem conectat la o rețea precum Internetul, este vorba de o inginerie de protocol care permite transferul de timpuri precise între gazde printr-o rețea nesigură.În acest sens, un server NTP Stratum 2( sau mai departe de sursa de timp efectivă) nu se deosebește de sistemul de desktop care se sincronizează cu un set de servere NTP.
Până când aveți câteva vremuri precise( obținute de la serverele NTP sau în altă parte) și cunoașteți viteza de avansare a ceasului local( care este ușor de determinat), puteți calcula rata de deviație a ceasului local relativ la "exactă "trecere a timpului. Odată blocat, această valoare poate fi apoi utilizată pentru reglarea continuă a ceasului local pentru a face ca valorile să fie raportate foarte aproape de trecerea exactă a timpului, chiar dacă ceasul local în timp real este foarte inexact. Atâta timp cât ceasul dvs. local nu este foarte erratic , acest lucru ar trebui să permită păstrarea timpului exact pentru o perioadă de timp, chiar dacă sursa de timp din amonte devine indisponibilă din orice motiv.
Unele implementări ale clientului NTP( probabil cele mai multe ntpd implementări ale daemonului sau ale serviciului de sistem) fac acest lucru, iar altele( cum ar fi ntpdate-ul companionului ntpd care setează doar ceasul o dată) nu. Acest lucru este denumit în mod obișnuit un fișier de drift deoarece stochează constant o măsură a drift-ului de ceas, dar în mod strict nu trebuie să fie stocat ca un fișier specific pe disc.
În NTP, Stratum 0 este, prin definiție, o sursă de timp precisă.Stratul 1 este un sistem care utilizează o sursă de timp Stratum 0 ca sursă de timp( și este deci puțin mai precisă decât sursa de timp Stratum 0).Stratul 2 este din nou puțin mai precis decât Stratum 1, deoarece se sincronizează timpul cu sursa Stratum 1 și așa mai departe.În practică, această pierdere de precizie este atât de mică încât este complet neglijabilă în toate cazurile decât cele extreme.
Trebuie să adăugați ceva la explicație? Sunați în comentarii. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.