Ntpd

ntpd ( Network Time Protocol daemon ) je démon, který nastavuje a udržuje systémový čas a používá se k synchronizaci přesných časových serverů.

Popis

Program ntpd je démon operačního systému , který nastavuje a udržuje systémový čas v synchronizaci s časovými servery. Jedná se o plnou implementaci NTP verze 4, ale také zachovává kompatibilitu s verzí 3, jak je definována v RFC-1305 [1] a verzemi 1 a 2, jak je definována v RFC-1059 [2] a RFC-1119 [3]respektive. ntpd provádí většinu výpočtů pomocí 64bitové aritmetiky s pohyblivou řádovou čárkou a relativně dobře si vede v 64bitových operacích s pevnou řádovou čárkou pouze tehdy, když je vyžadována vysoká přesnost přibližně 232 pikosekund. Zatímco taková vysoká přesnost je dnes na konvenčních počítačích a sítích nedosažitelná, může být vyžadována pro budoucí gigahertzové CPU a gigabitové sítě.

xntpd  je NTP démon verze 3. "x" bylo přidáno k názvu, protože větev kódu, která by se nakonec stala NTPDv3, byla "experimentální". Název démona byl čtvrtou verzí změněn na počáteční „ntpd“, protože tvůrce NTP David Mills usoudil, že asi není možné, aby něco bylo dvacet let „experimentální“, aniž by za tu dobu prošlo nějakými výraznými změnami.

ntpd má dvě možnosti pro ukládání konfiguračních souborů:

Dalším důležitým souborem je soubor drift ,  který používá ntpd ke korekci hardwarových hodin, když není připojen k přesnějšímu časovému serveru, a je obvykle umístěn v /var/db/ntp.drift.

Jak to funguje

Přesný čas lze získat pomocí speciálního zařízení založeného na atomových hodinách . Existuje také metoda založená na GPS (Global Positioning System, globální polohový systém). Obě metody vyžadují specializovaný a drahý hardware, ale jejich majitelé (obvykle univerzity a výzkumné laboratoře) tento hardware připojují k počítačům, na kterých běží démon NTP. Často jsou tyto stejné stroje připojeny k internetu, což v konečném důsledku dává lidem možnost zjistit přesný čas zdarma.

ntpd komunikuje s jedním nebo více nakonfigurovanými servery v pravidelných intervalech. Při prvním nebo dalším spuštění si program musí s většinou těchto serverů několikrát vyměnit zprávy, aby algoritmy zpracování signálu a optimalizace mohly sbírat a připravovat data a nastavovat čas. Ve výchozím nastavení je interval 64 sekund, takže nastavení času může trvat několik minut. Počáteční zpoždění při nastavování hodin lze zkrátit použitím klíčového slova iburst s příkazem konfigurace serveru , jak je popsáno na stránce Možnosti konfigurace [4] .

Většina operačních systémů a hardwaru dnes používá vestavěný čip TOY (time-of-year) k udržení času, když je vypnuté napájení. Když je stroj zapnutý, čip se používá k inicializaci hodin operačního systému. Poté, co stroj synchronizuje své hodiny se serverem NTP, operační systém čas od času upraví hodiny čipu. V případě, že čip TOY chybí nebo se z nějakého důvodu čas na něm liší od času serveru o více než 1000 sekund, ntpd usoudí, že se něco pokazilo, a jedinou správnou akcí v takové situaci je zásah operátora a ruční nastavení hodin. V tomto případě se ntpd ukončí s chybovou zprávou v systémovém protokolu. Volba -g vám umožňuje ignorovat tuto kontrolu a nastavit čas serveru bez ohledu na čas na čipu.

Jakmile je NTP nakonfigurováno, bude udržovat přesnost času prováděním velmi malých úprav hodin, tak malých, že žádným způsobem neovlivní běžící aplikace.

Provozní režimy

Ve výchozím nastavení běží ntpd v nepřetržitém režimu, ve kterém je každý z několika externích serverů dotazován v intervalech určených složitým heuristickým algoritmem, který bere v úvahu jitter latence a chybu frekvence. Ve většině operačních systémů je počáteční interval obvykle 64 sekund a zvyšuje se v krocích až na 1024 sekund.

V některých případech nemusí být praktické používat ntpd v nepřetržitém režimu. Typickým řešením je spuštění ntpdate z cronu v naplánovanou dobu. ntpdate však nemá vestavěné algoritmy kontroly chyb a optimalizace. Pro tento případ je určena volba -q . Když to začne, ntpd nastaví čas pouze jednou a poté se ukončí.

Možnosti příkazového řádku

-čtyři

Použijte adresní prostor IPv4

-6

Použijte adresní prostor IPv6

-A

Vyžádejte si kryptografické ověření. Používá se ve výchozím nastavení.

-A

Nevyžadujte kryptografické ověření. Nedoporučeno.

-b

Umožňuje klientovi synchronizovat se servery vysílání.

-c conffile

Určuje název a cestu ke konfiguračnímu souboru, standardně /etc/ntp.conf

-d

Určuje režim ladění.

-D úroveň

Přímo určuje úroveň režimu ladění.

-f driftfile

Určuje název a cestu k souboru frekvence.

-G

Odstraňuje omezení rozdílu mezi serverovým a místním časem.

-l soubor protokolu

Určuje název a cestu k souboru protokolu.

-q

Zkopíruje akci programu ntpdate  - jednou provede synchronizaci hodin.

Historie

Program ntpd se poprvé objevil v OpenBSD 3.6

Poznámky

  1. D. Mills. Specifikace, implementace a analýza síťového časového protokolu (verze 3) . tools.ietf.org. Získáno 8. listopadu 2015. Archivováno z originálu 11. prosince 2019.
  2. D. L. Mills. Specifikace a implementace Network Time Protocol (verze 1) . tools.ietf.org. Získáno 8. listopadu 2015. Archivováno z originálu 2. listopadu 2015.
  3. D. L. Mills. Specifikace a implementace Network Time Protocol (verze 2) . tools.ietf.org. Získáno 8. listopadu 2015. Archivováno z originálu 16. listopadu 2015.
  4. Možnosti konfigurace . doc.ntp.org. Získáno 8. listopadu 2015. Archivováno z originálu 28. září 2015.

Odkazy