Како НТП сервери управљају тако да остану тако прецизни?
Многи од нас су повремено имали проблема са нашим компјутерима и другим уређајима који су задржали прецизна подешавања времена, али брза синхронизација са НТП сервером поново чини све добро. Али ако наши уређаји могу да изгубе тачност, како НТП сервери успевају да остану тако прецизни?
Данашња сесија питања и одговора долази нам захваљујући СуперУсер-у - подјела Стацк Екцханге-а, груписане од стране заједнице веб-локација за питања и одговоре.
Фотографија захваљујући ЛЕОЛ30 (Флицкр).
Питање
Читач СуперУсер Франк Тхорнтон жели да зна како НТП сервери могу да остану тако тачни:
Приметио сам да на мојим серверима и другим машинама, тактови увек падају, тако да морају да се синхронизују да би остали тачни. Како се сатови НТП сервера држе подаље и увек остају тако тачни?
Како НТП сервери успевају да остану тако прецизни?
Одговор
Сарадник СуперУсер-а Мицхаел Кјорлинг има одговор за нас:
НТП сервери се ослањају на високо прецизне сатове за прецизно мјерење времена. Уобичајени извор времена за централне НТП сервере су атомски сатови или ГПС пријемници (имајте на уму да ГПС сателити имају атомске сатове на броду). Ови сатови су дефинисани као тачни јер пружају веома прецизну временску референцу.
Не постоји ништа магично у вези ГПС-а или атомских сатова који би вас навели да вам тачно кажу колико је сати. Због начина на који атомски сатови функционишу, они су једноставно веома добри у томе што су једном рекли колико је сати, чување тачно време (пошто је друга дефинисана у смислу атомских ефеката). У ствари, вреди напоменути да се ГПС време разликује од УТЦ-а које смо више навикли да видимо. Ови атомски сатови су заузврат синхронизовани са Међународним атомским временом или ТАИ-јем како би не само тачно говорили о проласку времена, већ и тхе време.
Једном када имате тачно време на једном систему који је повезан са мрежом као што је Интернет, то је ствар израде протокола који омогућава пренос прецизних времена између домаћина преко непоуздане мреже. У том смислу, НТС сервер Нитра 2 (или даље од стварног извора времена) се не разликује од синхронизације десктоп система са скупом НТП сервера.
До времена када имате неколико тачних времена (добијених од НТП сервера или негде другде) и знате стопу напредовања вашег локалног сата (што је лако одредити), можете израчунати брзину дрифта локалног сата у односу на „веровану тачност“ " проток времена. Када се једном закључа, ова вредност се може користити за континуирано подешавање локалног сата како би се извештавало о вредностима које су веома близу тачном времену, чак и ако је локални сат реалног времена веома нетачан. Све док ваш локални сат није висок ерратиц, ово би требало да омогући да се неко време задржи тачно време чак и ако ваш извор времена за узлазни ток постане недоступан из било ког разлога.
Неке имплементације НТП клијента (вјероватно већина нтпд демона или имплементација системских сервиса) то раде, а друге (као нтпд-ов пратилац нтпдате који једноставно поставља сат једном) не. Ово се обично назива а дрифт филе зато што упорно чува меру заношења сата, али строго говорећи, не мора да се чува као специфична датотека на диску.
У НТП-у, Стратум 0 је по дефиницији тачан извор времена. Стратум 1 је систем који користи временски извор Стратум 0 као извор времена (и стога је нешто мање прецизан од временског извора Стратум 0). Стратум 2 је опет нешто мање прецизан од Стратума 1 јер синхронизује своје време са извором Стратума 1 и тако даље. У пракси, овај губитак прецизности је толико мали да је потпуно занемарљив у свим случајевима, осим у екстремним случајевима.
Имате ли нешто да додате објашњењу? Звучи у коментарима. Желите ли прочитати више одговора од других технолошки паметних Стацк Екцханге корисника? Погледајте цео дискусију овде.