Sokunknak alkalmanként felmerült a problémája azzal, hogy számítógépeink és más eszközeink megtartották a pontos időbeállításokat, de az NTP-kiszolgálóval történő gyors szinkronizálás ismét mindent jól hoz. De ha a saját eszközeink elveszíthetik a pontosságukat, hogyan tudnak az NTP szerverek ilyen pontosak maradni?
A mai Kérdések és válaszok ülés a SuperUser jóvoltából érkezik hozzánk - a Stack Exchange alosztályához, amely a Q & A webhelyek közösségvezérelt csoportosulása.
Fotó jóvoltából LEOL30 (Flickr) .
A kérdés
Frank Thornton, a SuperUser olvasója tudni akarja, hogyan képesek az NTP szerverek ilyen pontosak maradni:
Észrevettem, hogy a szervereimen és más gépeimen az órák mindig úgy sodródnak, hogy szinkronizálódniuk kell, hogy pontosak maradjanak. Hogyan tartják az NTP szerver órák a sodródást és mindig olyan pontosak maradnak?
Hogyan tudnak az NTP szerverek ilyen pontosak maradni?
A válasz
Michael Kjorling, a SuperUser közreműködője válaszol ránk:
Az NTP szerverek a precíz időméréshez nagyon pontos órákra támaszkodnak. A központi NTP szerverek általános időforrása az atomórák vagy a GPS-vevők (ne feledje, hogy a GPS-műholdak atomtámogatással rendelkeznek). Ezeket az órákat pontosakként definiálják, mivel nagyon pontos időre vonatkoznak.
Nincs semmi varázslat a GPS-ben vagy az atomórákban, ami arra készteti őket, hogy pontosan megmondják, mennyi az idő. Az atomórák működése miatt egyszerűen nagyon jók, ha egyszer elmondták nekik, hogy mennyi az idő, megtartása pontos idő (mivel a másodikat atomi hatások alapján határozzuk meg ). Valójában érdemes megjegyezni ezt A GPS idő eltér az UTC-től hogy inkább megszoktuk látni. Ezek az atomórák viszont szinkronban vannak egymással Nemzetközi Atomi Idő vagy TAI annak érdekében, hogy ne csak pontosan meg lehessen mondani az idő múlását, hanem azt is a idő.
Miután pontos ideje van egy hálózathoz, például az internethez csatlakozó rendszeren, protokolltervezési kérdésről van szó, amely lehetővé teszi a pontos idők átadását a gazdagépek között megbízhatatlan hálózaton keresztül. Ebben a tekintetben a Stratum 2 (vagy a tényleges időforrástól távolabb) NTP szerver nem különbözik az asztali rendszertől, amely szinkronizál egy sor NTP szerverrel.
Mire meglesz néhány pontos idő (amit az NTP szerverekről vagy máshonnan szereztek be), és ismeri a helyi óra előrehaladásának sebességét (ami könnyen meghatározható), kiszámíthatja a helyi óra sodródási sebességét a „vélt pontosnak”. ”Az idő múlása. Ha be van zárva, ez az érték felhasználható a helyi óra folyamatos beállítására, hogy az az idő pontos múlásához nagyon közel álló értékeket adjon meg, még akkor is, ha maga a helyi valós idejű óra nagyon pontatlan. Mindaddig, amíg a helyi óra nem magas akadozó , ennek lehetővé kell tennie a pontos idő megtartását egy ideig, még akkor is, ha az upstream időforrás bármilyen okból elérhetetlenné válik.
Néhány NTP kliens megvalósítás (valószínűleg a legtöbb ntpd démon vagy rendszerszolgáltatás megvalósítás) ezt teszi, mások (például az ntpd kísérője az ntpdate, amely egyszerûen egyszerûen beállítja az órát) nem. Ezt általában a drift file mert folyamatosan tárolja az óra sodródásának mértékét, de szigorúan véve nem kell külön fájlként tárolni a lemezen.
Az NTP-ben a Stratum 0 definíció szerint pontos időforrás. A Stratum 1 egy olyan rendszer, amely a Stratum 0 időforrást használja időforrásként (és így kissé kevésbé pontos, mint a Stratum 0 időforrás). A Stratum 2 megint valamivel kevésbé pontos, mint a Stratum 1, mert szinkronizálja az idejét a Stratum 1 forrással és így tovább. A gyakorlatban ez a pontosságvesztés olyan kicsi, hogy a legszélsőségesebb esetek kivételével teljesen elhanyagolható.
Van valami hozzáfűzhető a magyarázathoz? Hang a kommentekben. Szeretne további válaszokat olvasni más, hozzáértő Stack Exchange-felhasználóktól? Nézze meg a teljes vitafonalat itt .