Potřeba znalosti přesného času je zejména v rámci počítačových sítí nesmírně důležitá. Na základě znalosti času můžeme stanovit postupný sled událostí, což je klíčová potřeba pro celou řadu oborů a činností. Namátkou můžeme zmínit právní a finanční transakce, systém řízení dopravy, spravování databází a jiné. Právě pro synchronizaci a udržování správných hodnot času v rámci počítačové sítě byl vytvořen Network Time Protocol (NTP), jehož autorem je David Mills (University of Dellaware).
NTP využívá protokolu TCP/IP (konrétně jeho nespojovou vrstvu UDP) a jeho hlavní a jedinou činností je synchronizace hodin v rámci hostitelských ("klientských") PC. Jedná se tedy o protokol pro synchronizaci vnitřních hodin počítačů po paketové síti s proměnným zpožděním, který byl navržen tak, aby odolával následku proměnlivého zpoždění v doručování paketů.[1] V rámci PC sítí WAN dokáže NTP zajistit přesnost času na desetiny milisekund, u sítí LAN se jedná až o mikrosekundy.[2] Jako součást softwaru byl NTP zabudován do téměř všech počítačových platforem a serverů dostupných v současné době.
Kromě NTP existuje i jeho jednodušší forma s označením Small Network Time Protocol (SNTP). Od NTP se liší především absencí určitých funkcí a méně sofistikovanými metodami synchronizace. [3]
NTP nepracuje na principu vzájemné synchronizace všech počítačů dohromady (tedy na principu jakéhosi zprůměrování), ale snaží se o to, aby dostal všechny počítače v dané síti co nejblíže k jednotnému času. Takový čas se označuje jako UCT (Coordinated Universal Time) a technologicky vyspělé země si vytvářejí etalonovou stupnici UCT(i) samy. Časové informace jsou potom odvozovány přímo z této stupnice, přičemž v České republice je za její tvorbu zodpovědný Ústav radiotechniky a elektroniky AV ČR. Ten má na starost uchovávání a rozvoj státního etalonu času. [4]
NTP funguje na systému hierarchie. Tento systém pracuje s různými úrovněmi,
které se jinak označují také jako "strata". Na vrcholu stojí stratum 0 - samotné
referenční hodiny (zdroj UCT jako např. atomové hodiny nebo GPS přijímač). Servery nižší
úrovně - tedy strata 1, 2, 3 atd. - pak synchronizují svůj čas s časem
referenčních hodin. Servery zahrnuté do strata 2 poté budou tuto informaci přejímat
od strata 1, servery ze strata 3 budou jako zdroj informace využívat stratum 2 atd. Každá
z těchto vrstev jednak přijímá informace o správném čase z vrstvy nadřazené a
zároveň je zodpovědná za rozšíření této informace do vrstev k ní podřízených.
Na každé úrovni hierarchického uspořádání je tak tato síť více a více propojená.
Obr. 1: Clock strata
V praxi dojde k tomu, že na pozadí každého klientského operačního systému běží program, který v periodických intervalech zasílá nadřazenému serveru žádost o přesný čas. Tyto žádosti jsou zasílány zhruba každých 15 minut a NTP přitom každému z odeslaných a přijatých paketů přiděluje "časové razítko" (time stamp). Tento proces zpravidla zahrnuje 4 kroky: ke značkování času pomocí časového razítka dojde v chvíli, kdy klient odešle žádost určenou NTP serveru. Ten označí čas ve chvíli, kdy obdržel od klienta odeslaný paket a další značkování proběhne ve chvíli, kdy server klientovi zašle paket s odpovědí. Na závěr dojde k označení času ve chvíli, kdy klient obdrží datový paket s odpovědí. NTP paket se tak skládá ze 4 časových razítek, která klientský počítač využije k tomu, aby stanovil rozdíl mezi lokálním časem a UCT a na základě toho upravil lokální čas tak, aby odpovídal UCT.[5]
Prostřednictvím těchto časových razítek a komunikace se servery v nadřazených a podřízených vrstvách (strata) je počítač schopen bránit rozdílům v časových údajích mezi jednotlivými prvky sítě, čímž je zabráněno nejen selhání časové koordinace, nýbrž i četným problémům, jež by s oním selháním mohly souviset.
Další informace o NTP můžete najít například zde.
Na začátek stránky
Zpět na téma "clock strata"