21Aug

Ako sa servery NTP podarí zostať tak presné?

Mnohí z nás mali príležitostný problém s našimi počítačmi a inými zariadeniami, ktoré si zachovali presné nastavenie času, ale rýchla synchronizácia s NTP serverom je všetko dobre. Ale ak naše vlastné zariadenia môžu stratiť presnosť, ako NTP servery dokážu zostať tak presné?

dnešná otázka &Odpoveď na zasadnutie nám príde s láskavým dovolením SuperUser - subdivíziu Stack Exchange, komunitne riadeného zoskupenia webových stránok Q & A.

Foto s láskavým dovolením LEOL30( Flickr).

Otázka Otázka

SuperUser čítačka Frank Thornton chce vedieť, ako NTP servery dokážu zostať tak presné:

Všimol som si, že na mojich serveroch a iných strojoch hodiny vždy unášajú, aby sa museli synchronizovať, aby zostali presné.Ako sa hodiny NTP servera udržiavajú od unášania a stále zostávajú tak presné?

Ako spravujú servery NTP tak presné?

Odpovedačka

SuperUser Michael Kjorling má pre nás odpoveď: Servery NTP

sa spoliehajú na vysoko presné hodiny na presné časovanie. Spoločným zdrojom času pre centrálne servery NTP sú atómové hodiny alebo prijímače GPS( pamätajte, že satelity GPS majú atómové hodiny na palube).Tieto hodiny sú definované ako presné, pretože poskytujú veľmi presný časový údaj.

Nie je nič čarovné o GPS alebo atómových hodinách, ktoré by im umožnili presne povedať, aký je čas. Vzhľadom na to, ako atómové hodiny pracujú, sú jednoducho veľmi dobré, pretože raz sa dozvedeli, čo to je, udržiava presný čas( od druhého je definovaný z hľadiska atómových efektov).V skutočnosti je potrebné poznamenať, že čas GPS sa líši od času UTC, ktorý sme viac zvyknutí vidieť.Tieto atómové hodiny sú zase synchronizované s Medzinárodným Atómovým časom alebo TAI, aby nielen presne povedali o prechode času, ale aj čas .

Akonáhle máte presný čas na jednom systéme pripojenom na sieť, ako je internet, je to záležitosť inžinierstva protokolu umožňujúceho preniesť presné časy medzi hostiteľmi cez nespoľahlivú sieť.V tomto ohľade sa NTP server Stratum 2( alebo vzdialenejšie od aktuálneho zdroja času) nelíši od vášho desktopového systému, ktorý sa synchronizuje so sériou serverov NTP.

V čase, keď máte niekoľko presných časov( získaných z NTP serverov alebo inde) a poznáte rýchlosť postupu vašich miestnych hodín( čo je ľahké určiť), môžete vypočítať drift rate vášho miestneho času v porovnaní s "veriacimpresný "časový úsek. Po uzamknutí môže byť táto hodnota potom použitá na trvalé nastavenie miestnych hodín tak, aby sa hodnoty hlásenia veľmi blížili presnému času, a to aj vtedy, keď miestne hodiny v reálnom čase sú veľmi nepresné.Pokiaľ vaše miestne hodiny nie sú vysoko nepravidelné , malo by to umožniť udržanie presného času na nejaký čas, aj keď váš zdrojový časový zdroj nebude z akéhokoľvek dôvodu k dispozícii.

Niektoré implementácie klientov NTP( pravdepodobne väčšina ntpd démonov alebo implementácií systémových služieb) to robia a iné( ako ntpd ntpd spoločník ntpdate, ktorý jednoducho nastaví hodiny raz) nie. Toto sa bežne označuje ako driftový súbor , pretože neustále ukladá mieru posunu hodín, ale prísne povedané, nemusia byť uložené ako špecifický súbor na disku.

V NTP je Stratum 0 definíciou presným časovým zdrojom. Stratum 1 je systém, ktorý používa časový zdroj Stratum 0 ako svoj časový zdroj( a preto je o niečo menej presný ako časový zdroj Stratum 0).Stratum 2 je opäť o niečo menej presný ako Stratum 1, pretože synchronizuje svoj čas so zdrojom Stratum 1 atď.V praxi je táto strata presnosti taká malá, že je úplne zanedbateľná vo všetkých, ale najúspornejších prípadoch.

Musíte niečo doplniť k vysvetleniu? Znížte komentáre. Chcete si prečítať viac odpovedí od iných používateľov technológie Stack Exchange? Pozrite sa na celý diskusný príspevok tu.