Mnogi od nas imali su povremeni problem s našim računalima i drugim uređajima koji zadržavaju točne postavke vremena, ali brza sinkronizacija s NTP poslužiteljem čini sve dobro. Ali ako naši vlastiti uređaji mogu izgubiti točnost, kako NTP poslužitelji uspijevaju ostati tako precizni?
Današnja pitanja i odgovori nam se javljaju zahvaljujući SuperUseru - podjele Stack Exchange-a, zajednice-driven grupiranja Q & A web stranica.
Fotografija ljubaznošću LEOL30 (Flickr).
SuperUser čitač Frank Thornton želi znati kako NTP poslužitelji mogu ostati tako precizni:
Primijetio sam da na mojim poslužiteljima i ostalim uređajima satovi uvijek driftaju tako da moraju sinkronizirati kako bi ostali točni. Kako satovi NTP poslužitelja čuvaju od splavarenja i uvijek ostaju toliko točni?
Kako NTP poslužitelji uspijevaju ostati toliko točni?
Michael Kjorling ima odgovor za nas:
NTP poslužitelji se oslanjaju na vrlo precizne satove za precizno mjerenje vremena. Zajednički izvor vremena za središnje NTP poslužitelje su atomski satovi ili GPS prijamnici (imajte na umu da GPS sateliti imaju atomske satove na brodu). Ovi satovi su definirani kao točni jer pružaju vrlo precizno vrijeme referenca.
Ne postoji ništa čarobno o GPS-u ili atomskim satovima koji im govore da je točno ono točno vrijeme. Zbog načina na koji atomski satovi rade, oni su jednostavno vrlo dobri, nakon što su jednom rekli koliko je sati, čuvanje Točno vrijeme (budući da je druga definirana u smislu atomskog učinka). U stvari, valja napomenuti da GPS vrijeme razlikuje od UTC da smo više koristi za vidjeti. Ovi atomski satovi su pak sinkronizirani s Međunarodnim atomskim vremenom ili TAI-om kako bi se ne samo točno objasnilo vremensko razdoblje, već i vrijeme.
Jednom kada imate točno vrijeme na jednom sustavu povezanom s mrežom poput Interneta, riječ je o protokolskom inženjerstvu koji omogućuje prijenos preciznih vremena između hostova preko nepouzdane mreže. U tom smislu Stratum 2 (ili dalje od stvarnog vremena izvora) NTP poslužitelj ne razlikuje se od vašeg stolnog sustava koji se sinkronizira sa skupom NTP poslužitelja.
Do vremena kada imate nekoliko točnih vremena (dobivenih od NTP poslužitelja ili negdje drugdje) i znate brzinu unapređenja vašeg lokalnog sata (što je lako odrediti), možete izračunati brzinu pomicanja vašeg lokalnog sata u odnosu na "vjerodostojnu točnost "Prolazak vremena. Nakon zaključavanja, ta se vrijednost može upotrijebiti za kontinuirano prilagođavanje lokalnog sata kako bi se vrijednost izvješća bila vrlo blizu točnog protoka vremena, čak i ako je lokalni sat u stvarnom vremenu vrlo neaktivan. Sve dok vaš lokalni sat nije visoko nepravilan, to bi trebalo omogućiti čuvanje točnog vremena za neko vrijeme čak i ako vaš uzlazni izvor vremena postaje nedostupan iz bilo kojeg razloga.
Neke implementacije NTP klijenta (vjerojatno većina ntpd demona ili implementacije sustava) to čine, a drugi (kao ntpdov pratitelj ntpdate koji jednostavno postavlja sat jednom) ne. To se obično naziva a drift datoteku jer neprekidno pohranjuje mjeru pomicanja sata, ali strogo se ne mora pohraniti kao specifična datoteka na disku.
U NTP, Stratum 0 je po definiciji točan vremenski izvor. Stratum 1 je sustav koji koristi vremenski izvor Stratum 0 kao svoj izvor vremena (i stoga je nešto manje točan nego kod vremena Stratum 0). Stratum 2 opet je nešto manje točan nego Stratum 1 jer sinkronizira svoje vrijeme s izvorom Stratum 1 i tako dalje. U praksi je taj gubitak točnosti tako malen da je potpuno zanemariv u svim, ali najstrašnijim slučajevima.
Imate li nešto za objašnjenje? Zvuči u komentarima. Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.