Automaticky seřizovat čas na PC lze pomocí dvou k tomu určených protokolů: staršího Time a novějších NTP a SNTP .
Časové servery v Internetu používají k seřízení nejpřesnějšího ze všech, tedy NTP , a synchronizují se s globálním jednotným časem UTC ( Universal Coordinated Time ). NTP servery tvoří hierarchii strojů, mezi kterými je čas synchronizován. Stroje jsou rozděleny do vrstev. Nejvyšší prioritu má vrstva (tzv. stratum ) 1 - tyto stroje si synchronizují čas pomocí signálu z GPS satelitu nebo pomocí radiového signálu z atomových hodin, a jsou proto vybaveny rádiovým nebo satelitním přijímačem. Stroje ve vrstvě 2 se pak už prostřednictvím sítě synchronizují podle serverů vrstvy 1 atd., čímž se vytváří ona hierarchická struktura. Vrstva tedy vyjadřuje důvěryhodnost serveru.
Klient si jako svůj zdroj času zvolí takový server, který má co nejnižší číslo vrstvy (je nejdůvěryhodnější), ale současně musí být dobře dostupný. Pokud tedy budeme mít na výběr ze dvou serverů, z nichž jeden je z vrstvy 1 a druhý z vrstvy 2 , neznamená to, že si klient vybere jako zdroj synchronizace vždy server z vrstvy 1 . Pokud bude výrazně hůře dostupný (odezva sítě bude delší či nestabilnější) než server z vrstvy 2 , může si klient vybrat jako zdroj synchronizace ten druhý. Proto v konfiguraci klienta se doporučuje zadávat několik NTP serverů.
Prakticky dosažitelná přesnost času vůči UTC na úrovni koncových klientských PC vrstvy 3 je několik milisekund. Dosažitelná přesnost seřízení hodin v závislosti na operačním systému je podle studií společnosti OSC uvedena v následující tabulce ( http://www.osc.cz/Produkty/syncasu/syncasu.asp ):
Operační systém | Přesnost synchronizace [ ms ] |
QNX | ± 0,002 |
Unixové OS, LINUX | ± 1 |
Windows NT , Windows 2000 | ± 5 |
Windows 95/98/Me | ± 500 |
Tab.1: Přesnost synchronizace pomocí NTP/SNTP
Podrobný popis protokolů lze nalézt v těchto dokumentech:
NTP : RFC-1305 ( http://www.faqs.org/rfcs/rfc1305.html )
SNTP : RFC-2030 ( http://www.faqs.org/rfcs/rfc2030.html )
Time : RFC-868 ( http://www.faqs.org/rfcs/rfc868.html ).
Službu přesného času ve FZÚ poskytují stroje tik.fzu.cz a tak.fzu.cz . Server tik.fzu.cz se nachází v Cukrovarnické a tak.fzu.cz na Slovance. Oba stroje patří k vrstvě 2 .
V zásadě existují dva způsoby použití. První je jednodušší, druhý je přesnější:
spouštět synchronizaci času pravidelně jako naplánovanou úlohu systému
zařídit nepřetržitě běžící proces (jako systémová služba / démon), který bude neustále dolaďovat hodiny až k největší dosažitelné přesnosti.
NTP klient |
operační systém | způsob seřízení |
cmdtime.exe | Windows 9x | a |
NetTime | všechny Win32 | a |
“čas v Internetu“ | Windows XP | a |
xntpd , ntpdate | všechny Unixy | a, b |
Všichni popisovaní klienti pro Windows jsou k dispozici na ústavním ftp serveru v adresáři /pub/pc/time/ .
Program cmdtime používá protokol SNTP , je jednoduchý, nemá žádné konfigurační soubory a jména NTP serverů se definují jako parametry v povelové řádce. Nejvhodnější způsob spouštění je zadat ho jako úlohu v Plánovači úloh ( Scheduler ). Nová úloha pojmenovaná „Nařízení hodinek" se konfiguruje podle následujících obrázků.
Jiná možnost je vytvořit jednořádkový dávkový soubor, např. cas.bat , který spolu s volaným programem umístíte do adresáře C:\Program Files\ , obsahující tuto řádku:
C:\Program Files\cmdtime.exe tik.fzu.cz tak.fzu.cz
Pak v editoru nabídky Start | Nastavení | Hlavní panel a nabídka Start... | Vlastní | Upřesnit je třeba do složky Programy\Po spuštění přidat odkaz na C:\Program Files\cas.bat .
Program NetTime umí pracovat s oběma protokoly Time ( rfc868 ) a SNTP , pohodlně se konfiguruje a obsahuje již v sobě prostředky plánovaného spuštění.
Po spouštění instalačního procesu NetTime budete tázáni, zda program se má spouštět jako službu, tj. proces trvale běžící na pozadí. Odpovězte kladně (ve Windows NT/XP se pak v seznamu správce úloh vyskytuje pod jménem NeTmSvNT.exe ). Konfigurace programu může vypadat takto:
Windows XP již obsahují prostředek pro nařízení systémových hodin s použitím SNTP . Je velice jednoduchý. Má jen tu nevýhodu, že pokud jste k Internetu připojeni nepřetržitě, dochází k synchronizaci hodin jen jednou týdně v definovaný okamžik. Pokud v tento okamžik bude váš počítač zrovna vypnutý, synchronizace neproběhne vůbec (ani po zapnutí). Další nevýhodou je možnost zadání pouze jediného časového serveru.
Konfigurace je dosažitelná dvojklikem na hodiny v dolním rohu, a zvolením záložky Čas v Internetu , nebo přes menu Start | Nastavení Datum a čas | Vlastnosti | Čas v Internetu .
Pro synchronizací hodin využitím prostředků Windows XP zaškrtněte Automaticky synchronizovat s časovým serverem v Internetu . Políčko Server bude obsahovat jméno jednoho z NTP serverů, tedy tik pro Cukrovarnickou nebo tak pro Slovanku. Toto políčko musí být zaškrtnuto také tehdy, budete-li chtít změnit časový server Internetu nebo hodiny synchronizovat okamžitě, klepnutím na tlačítko Aktualizovat .
Většina současných distribucí Linuxu již obsahuje implicitně instalovaný balík ntp či xntp , v Solarisu je to balík SUNWntpu .
Pro občasnou synchronizaci, jako u výše popsaných klientů ve Windows , se hodí program /usr/sbin/ntpdate , jehož spouštění lze provést ručně či zadat v crontabu :
12 02,12 * * * /usr/sbin/ntpdate tik tak
(samozřejmě místo uvedeného rozvrhu „denně v 2:12 a 12:12“ si čas synchronizace volí každý sám).
Pro nepřetržitou synchronizaci slouží démon /usr/sbin/ntpd . Ten se spouští pří startu systému (skriptem /etc/init.d/ntpd ) pokud má platný konfigurační soubor. V Linuxu je to /etc/ntp.conf , v Solarisu /etc/inet/ntp.conf . Obsah klientského konfiguračního souboru bude následující:
restrict default ignore
restrict 127.0.0.1
server tik.fzu.cz
server tak.fzu.cz
driftfile /etc/ntp/drift
Je vhodné zkontrolovat, zda démon běží a je-li spouštěn po startu. K tomuto účelu má každý Unix své prostředky, např. RedHat má nástroj serviceconf , SuSE má YaST atd. Po nějakém čase po spuštění lze přesnost synchronizace zkontrolovat povelem
/usr/sbin/ntptrace -v localhost
Klientský software na ústavním ftp serveru:
ftp://ftp.fzu.cz/pub/pc/time/
NTP pro Linuxy všeho druhu:
http://www.rpmfind.net/linux/rpm2html/search.php?query=ntp
Pokud hledáte synchronizační software pro jiný OS ,
doporučujeme stránku:
http://www.cis.udel.edu/~ntp/software/index.html
Domácí stránka projektu NTP :
http://www.ntp.org