Pagina principala » HOWTO » Cum gestionează serverele NTP să rămână atât de precis?

    Cum gestionează serverele NTP să rămână atât de precis?

    Mulți dintre noi au avut o problemă ocazională cu computerele și alte dispozitive care păstrează setările de timp exacte, însă un sincronizare rapidă cu un server NTP se face din nou bine. Dar, dacă propriile noastre dispozitive pot pierde precizia, cum reușesc serverele NTP să rămână atât de exacte?

    Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.

    Fotografie prin amabilitatea LEOL30 (Flickr).

    Intrebarea

    Cititorul super-utilizator Frank Thornton dorește să știe cum serverele NTP pot rămâne atât de precise:

    Am observat că pe serverele și alte mașini, ceasurile sunt mereu în derivă, astfel încât acestea să se sincronizeze pentru a rămâne exacte. Cum păstrează ceasurile serverului NTP de la drift și rămân mereu atât de precise?

    Cum reușesc serverele NTP să rămână atât de exacte?

    Răspunsul

    Contribuabilul SuperUser Michael Kjorling are răspunsul pentru noi:

    Serverele NTP 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. Din cauza modului în care funcționează ceasurile atomice, ei sunt pur și simplu foarte buni, după ce li s-au spus cândva, păstrare timpul exact (deoarece al doilea este definit în termeni de efecte atomice). De fapt, este 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ă exact trecerea timpului, dar și timp.

    Odată ce aveți un timp exact pe un sistem conectat la o rețea, cum ar fi Internetul, este vorba despre o inginerie de protocol care permite transferul de timpuri precise între gazde pe o rețea nesigură. În acest sens, un server NTP Stratum 2 (sau mai mult de la sursa reală de timp) 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 momente corecte (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 " " trecerea timpului. După ce este 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 local nu este foarte bun neregulat, acest lucru ar trebui să permită păstrarea timpului exact de ceva timp, chiar dacă sursa de timp în amonte devine indisponibilă din orice motiv.

    Unele implementări ale clientului NTP (probabil cele mai multe ntpd implementări de daemon sau serviciu de sistem) fac acest lucru, iar altele (cum ar fi ntpdate-ul companionului ntpd care setează doar ceasul o dată) nu. Aceasta este denumită în mod obișnuit a drift file deoarece stochează constant o măsură a drift-ului de ceas, dar, strict vorbind, 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 astfel 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.


    Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.