21Aug

Kaip NTP serveriai tvarko, kad būčiau taip tikslūs?

Daugelis iš mūsų kartais susidūrė su mūsų kompiuterių ir kitų įrenginių, išlaikančių tikslius laiko nustatymus, problema, tačiau greita sinchronizacija su NTP serveriu vėl daro viską.Bet jei mūsų įrenginiai gali prarasti tikslumą, kaip NTP serveriai sugeba išlaikyti tokį tikslumą?

Šiandienos klausimas &Atsakymų sesija ateina pas mus iš "SuperUser" - "Stack Exchange", bendruomenės pagrįstos "Q & A" svetainių grupės pasidalijimo.

Nuotrauka mandagumo LEOL30( "Flickr").

Klausimas

SuperUser skaitytojas Frank Thornton nori sužinoti, kaip NTP serveriai gali išlikti tokie tikslūs:

Aš pastebėjau, kad mano serveriuose ir kitose mašinose laikrodžiai visada dreifuojasi, todėl jie turi būti sinchronizuoti, kad išliktų tikslūs. Kaip NTP serverio laikrodžiai saugo nuo dreifo ir visada lieka tokie tikslūs?

Kaip NTP serveriai sugeba išlikti tokie tikslūs?

Atsakymas

SuperUser autorius Michael Kjorling atsakė mums:

NTP serveriai remiasi labai tiksliais laikrodžiais, kad būtų galima tiksliai nustatyti laiką.Pagrindinis centrinio NTP serverio laiko šaltinis yra atominiai laikrodžiai arba GPS imtuvai( atminkite, kad GPS palydovai turi atominius laikrodžius laive).Šie laikrodžiai yra apibrėžiami kaip tikslūs, nes juose pateikiama labai tikslia laiko nuoroda.

Nėra jokių stebuklų apie GPS arba atominius laikrodžius, kurie leidžia jiems tiksliai nurodyti, kiek laiko jis yra. Dėl to, kaip veikia atominiai laikrodžiai, jie yra labai gerai, kai kartą buvo pasakyta, kiek laiko jis yra, palaiko tikslų laiką( nes antrasis apibrėžiamas atominių efektų požiūriu).Tiesą sakant, verta paminėti, kad GPS laikas skiriasi nuo UTC, kurį dažniausiai naudojame matyti.Šie atominiai laikrodžiai, savo ruožtu, yra sinchronizuoti su Tarptautiniu Atominiu Laiku arba TAI, kad ne tik tiksliai pasakytų laiko praeinamumą, bet ir

laiko .

Kai tiksliai matysite vieną sistemą, prijungtą prie tokio tinklo kaip internetas, tai yra protokolo inžinerija, leidžianti perkelti tikslius laikus tarp kompiuterių per nepatikimą tinklą.Šiuo atžvilgiu "Stratum 2"( arba toliau nuo faktinio laiko šaltinio) NTP serveris nesiskiria nuo jūsų darbalaukio sistemos, sinchronizuojamos su NTP serverių rinkiniu.

Tuo metu, kai turite keletą tikslių laiko( kaip gaunama iš NTP serverių ar kitur) ir žinote savo vietinio laikrodžio pažangos lygį( kurį lengva nustatyti), galite apskaičiuoti savo vietinio laikrodžio dreifo greitį, palyginti su "manoma,tikslus "laiko praeitis. Kai užrakinta, ši vertė gali būti naudojama nuolatiniam vietos laikrodžio koregavimui, kad ataskaitos reikšmės būtų labai artimos tiksliai praleistam laikui, net jei vietinis realaus laiko laikrodis pats yra labai netikslus. Kol jūsų vietinis laikrodis nėra labai klaidingas , tai turėtų leisti išlaikyti tikslų laiką tam tikrą laiką, net jei jūsų ankstesnio laiko šaltinis tampa nepasiekiamas dėl kokios nors priežasties.

Kai kurie NTP kliento diegimai( tikriausiai dauguma ntpd daemon arba sistemos paslaugų diegimai) tai atlieka, o kiti( pvz., Ntpd kompanionas ntpdate, kuris paprastai vieną kartą nustato laikrodį), ne. Tai dažniausiai vadinama dreifo byla , nes ji nuolatos saugo laikrodžio dreifo matavimo priemonę, tačiau, griežtai sakant, ji neturi būti saugoma kaip konkreti diske esanti byla.

NTP sistemoje Stratum 0 pagal apibrėžimą yra tikslus laiko šaltinis. Stratum 1 - tai sistema, kuri laiko laiko šaltiniu naudoja Stratum 0 laiko šaltinį( taigi ji yra šiek tiek ne tokia tikslesnė kaip Stratum 0 laiko šaltinis).Stratum 2 vėl yra šiek tiek mažiau tikslūs nei Stratum 1, nes jis sinchronizuoja savo laiką su Stratum 1 šaltiniu ir pan. Praktiškai šis tikslumo praradimas yra toks mažas, kad jis yra visiškai nereikšmingas visais, išskyrus kraštutines bylas.

Ar ką nors pridėti prie paaiškinimo? Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų?Patikrinkite visą diskusijų temą čia.