21Aug

Kā NTP serveri pārvalda palikt tik precīzi?

Daudziem no mums ir bijusi gadījuma rakstura problēma ar mūsu datoriem un citām ierīcēm, saglabājot precīzus laika iestatījumus, bet ātra sinhronizācija ar NTP serveri atkal padara visu labu. Bet, ja mūsu ierīces var zaudēt precizitāti, kā NTP serveriem izdodas palikt tik precīzs?

Šodienas jautājums &Atbildes sesija mums priecājas par SuperUser - Stack Exchange, kas ir kopienas un Q & A tīmekļa vietņu grupa.

Foto pieklājīgi no LEOL30( Flickr).

Jautājums

SuperUser lasītājs Frank Thornton vēlas uzzināt, kā NTP serveri spēj palikt tik precīzi:

Es pamanīju, ka manos serveros un citās iekārtās pulksteņi vienmēr novirzās tā, lai tie būtu sinhronizēti, lai tie būtu precīzi. Kā NTP servera pulkstenis attur no dreifēšanas un vienmēr paliek tik precīzs?

Kā NTP serveri spēj saglabāt tik precīzu?

Atbilde

SuperUser atbalstītājam Michael Kjorling mums ir atbilde:

NTP serveri paļaujas uz ļoti precīziem pulksteņiem, lai nodrošinātu precizitātes laika kontroli. Centrālo NTP serveru kopējais laika avots ir atomiskie pulksteņi vai GPS uztvērēji( atcerieties, ka GPS pavadoņiem ir atomiskie pulksteņi).Šie pulksteņi ir definēti kā precīzi, jo tie nodrošina ļoti precīzu laika atskaites rādītāju.

Nav nekā burvju par GPS vai atomu pulksteņus, kas viņiem padara precīzi precīzi, kad tas ir. Tā kā atomu pulksteņi darbojas, viņi vienkārši ir ļoti labi, kad kādreiz ir teicis, kad tas ir laiks, saglabājot precīzu laiku( jo otrais tiek noteikts ar atomu efektiem).Faktiski ir vērts atzīmēt, ka GPS laiks atšķiras no UTC, kuru mēs esam vairāk izmantojuši, lai redzētu.Šie atomu pulksteņi savukārt ir sinhronizēti pret Starptautisko Atomisko Laiku vai TAI, lai ne tikai precīzi norādītu laika pagājušo laiku, bet arī

laiku .

Kad jums ir precīzs laiks vienai sistēmai, kas savienota ar tīklu, piemēram, internetu, tas ir protokola inženierijas jautājums, kas ļauj pārsūtīt precīzus laikus starp saimniekiem pa neuzticamu tīklu.Šajā ziņā 2. strata( vai tālāk no faktiskā laika avota) NTP serveris neatšķiras no darbvirsmas sistēmas sinhronizācijas pret NTP serveru kopumu.

Līdz tam laikam, kad jums ir vairāki precīzi laiki( kā iegūti no NTP serveriem vai citur), un zināt jūsu vietējā pulksteņa attīstību( ko ir viegli noteikt), jūs varat aprēķināt savu vietējo pulksteņa dreifa ātrumu attiecībā pret "ticētoprecīzs "laika pagājis. Pēc tam, kad tas ir bloķēts, šo vērtību pēc tam var izmantot, lai nepārtraukti pielāgotu vietējo pulksteni, lai ziņojuma vērtības būtu ļoti tuvas precīzam laika periodam, pat ja vietējais reāllaika pulkstenis pats par sevi ir ļoti neprecīzs. Kamēr jūsu vietējais pulkstenis nav ļoti nepareizs , tam vajadzētu ļaut paturēt precīzu laiku kādu laiku, pat ja jūsu avota laika avots kāda iemesla dēļ kļūst nepieejams.

Daži NTP klienta implementācijas( iespējams, lielākā daļa ntpd dēmonu vai sistēmas pakalpojumu implementācijas) to dara, un citi( piemēram, ntpd pavadonis ntpdate, kas vienkārši vienu reizi iestata pulksteni) nav. Parasti to sauc par drift failu , jo tā pastāvīgi saglabā pulksteņa dreifa mērījumus, bet, stingri sakot, tas nav jāuzglabā kā konkrēts fails diskā.

NTP ietvaros Stratum 0 pēc definīcijas ir precīzs laika avots. Stratums 1 ir sistēma, kas kā laika avotu izmanto Time Stratum 0 laika avotu( un tādējādi ir nedaudz precīzāka nekā Stratum 0 laika avots).Stratums 2 atkal ir nedaudz precīzāks par Stratum 1, jo tas sinhronizē savu laiku pret Stratum 1 avotu un tā tālāk. Praksē šis precizitātes zudums ir tik mazs, ka tas ir pilnīgi niecīgs visos gadījumos, izņemot ārkārtējos gadījumus.

Vai kaut kas jāpievieno paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem?Šeit skatiet pilnu diskusiju pavedienu.