NTP | |
---|---|
název | Network Time Protocol |
Úroveň (podle modelu OSI ) | Aplikovaný |
Rodina | TCP/IP |
Vytvořeno v | 1985 |
Port/ID | 123/ UDP |
Účel protokolu | Synchronizace hodin |
Specifikace | RFC 5905 |
NTP ( Network Time Protocol ) je síťový protokol pro synchronizaci vnitřních hodin počítače pomocí sítí s proměnnou latencí . Protokol vyvinul David L. Mills , profesor na University of Delaware , v roce 1985. Verze pro rok 2015 je NTPv4 [1] .
NTP, založený na algoritmu Marzullo , využívá ke své činnosti protokol UDP a zohledňuje dobu přenosu. Systém NTP je extrémně odolný vůči změnám v latenci médií . Ve verzi 4 je schopen dosáhnout přesnosti 10 ms (1/100 s) při práci přes internet a až 0,2 ms (1/5000 s) a lepší v rámci lokálních sítí [2] .
Protokol NTP je nejrozšířenější pro synchronizaci serverů přesného času. Pro maximální přesnost je vhodnější vždy spouštět software NTP v režimu systémové služby . V rodině operačních systémů Microsoft Windows je to služba W32Time [3] , Linux je démon Ntpd [ 4] nebo chronyd.
Jednodušší implementace tohoto algoritmu je známá jako SNTP , Simple Network Time Protocol. Používá se ve vestavěných systémech a zařízeních, které nevyžadují vysokou přesnost, a také v zakázkových časových programech [5] .
Struktura balíčku je popsána v RFC 5905 [1] . Paket se skládá z celého čísla 32bitových slov.
Údaje v záhlaví se budou pro různé provozní režimy lišit. Například klient v polích hodinová vrstva , identifikátor zdroje , čas začátku a čas příjmu by měl psát nuly.
Odrážka | Oktet | 0 | jeden | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oktet | Bit | 0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
0 | 0 | IR | Verze | Režim | hodinová vrstva | Interval dotazování | Přesnost | ||||||||||||||||||||||||||
čtyři | 32 | Zpoždění | |||||||||||||||||||||||||||||||
osm | 64 | Disperze | |||||||||||||||||||||||||||||||
12 | 96 | ID zdroje | |||||||||||||||||||||||||||||||
16 | 128 | Aktualizovat čas | |||||||||||||||||||||||||||||||
dvacet | 160 | ||||||||||||||||||||||||||||||||
24 | 192 | Doba spuštění | |||||||||||||||||||||||||||||||
28 | 224 | ||||||||||||||||||||||||||||||||
32 | 256 | Čas přijetí | |||||||||||||||||||||||||||||||
36 | 288 | ||||||||||||||||||||||||||||||||
40 | 320 | Doba odeslání | |||||||||||||||||||||||||||||||
44 | 352 |
Význam | Popis |
---|---|
0 | Žádné varování |
jeden | Poslední minuta dne obsahuje 61 sekund |
2 | Poslední minuta dne obsahuje 59 sekund |
3 | Neznámý (čas není synchronizován) |
Význam | Popis |
---|---|
0 | Rezervováno |
jeden | Symetrický aktivní režim |
2 | Symetrický pasivní režim |
3 | Klient |
čtyři | Server |
5 | Režim vysílání |
6 | Řídicí zpráva NTP |
7 | Vyhrazeno pro soukromé použití |
Význam | Popis |
---|---|
0 | Není definováno nebo je neplatné |
jeden | Primární server |
2-15 | Sekundární server využívající NTP |
16 | Nesynchronizováno |
17-255 | Rezervováno |
ID | Zdroj |
---|---|
JDE | Geostacionární družice systému monitorování a pozorování životního prostředí |
GPS | Globální Polohovací Systém |
gal | Polohovací systém "Galileo" |
PPS | Obecný rádiový signál s dobou trvání pulsu rovnou 1 sekundě |
IRIG | Telemetry Standards Group , USA |
WWVB | Nízkofrekvenční rádiový vysílač, 60 kHz, Fort Collins Colorado, USA |
DCF | Nízkofrekvenční rádiový vysílač, 77,5 kHz, DCF77 , Mainflingen, Německo |
HBG | Nízkofrekvenční rádiový vysílač, 75 kHz, Prangins , Švýcarsko |
Lékaři bez hranic | Nízkofrekvenční rádiový vysílač, 60 kHz, Anthorn , Velká Británie |
JJY | Nízkofrekvenční rádiový vysílač, 40 kHz, Fukušima, 60 kHz , Saga, Japonsko |
LORC | Středofrekvenční rádiový vysílač, 100 kHz, radionavigace, LORAN-C |
TDF | Středofrekvenční rádiový vysílač, 162 kHz, Allouis Francie |
CHU | HF vysílač, Ottawa, Ontario Kanada |
WWV | Vysokofrekvenční rádiový vysílač, Fort Collins, Colorado , USA |
WWVH | Vysokofrekvenční rádiový vysílač, Kauai, Hawaii , USA |
NIST | telefonní modem US National Institute of Standards and Technology |
ZÁKONY | telefonní modem US National Institute of Standards and Technology |
USNO | Telefonní modem americké národní observatoře |
PTB | Telefonní modem Národního metrologického institutu Německa |
Pro vrstvu 0 , která je považována za nedefinovanou nebo neplatnou, lze pole Source Identifier použít k doručování zpráv, které fungují jako data stavu systému a řízení přístupu. Takové zprávy se nazývají "Kiss-o'-Death" [Poznámka 1] (KoD) a ASCII data, která doručují, se nazývají "kiss codes" (kódy nápovědy). Seznam aktuálně akceptovaných „nápovědních“ kódů je uveden v tabulce níže [6] .
Příjemci zpráv KoD jsou povinni je zkontrolovat a provést následující akce [1] :
Kód | Popis |
---|---|
ACST | Virtuální připojení vytvořené serverem unicast |
AUTH | Ověření serveru se nezdařilo |
AUTO | Autokey sekvence je nesprávná |
BCST | Virtuální připojení navázané serverem vysílání |
CRYP | Kryptografické ověření nebo identifikace se nezdařilo |
ODMÍTNOUT | Vzdálený server odepřen přístup |
POKLES | Ztráta vzdáleného časového serveru v symetrickém režimu |
RSTR | Přístup odepřen kvůli místní bezpečnostní politice |
INIT | Virtuální připojení se napoprvé nezdařilo |
MCST | Virtuální synchronizační připojení vytvořené dynamicky zjištěným serverem |
NKEY | Klíč nebyl nalezen (buď nebyl nikdy předtím načten, nebo je nespolehlivý) |
HODNOTIT | Rychlost překročena. Server dočasně odepřel přístup, protože klient překročil práh rychlosti |
RMOT | Změna virtuálního připojení ze vzdáleného hostitele IP přímo pomocí protokolu NTP |
KROK | Došlo k iteraci změny systémového času, připojení virtuální synchronizace nebylo navázáno |
NTP používá hierarchickou síť, kde každá úroveň má své vlastní číslo, nazývané vrstva ( angl. stratum ). Vrstva 1 – Primární servery, které jsou přímo synchronizovány s národními časovými službami přes satelit, rádiový nebo telefonní modem. Vrstva 2 – sekundární servery, synchronizace s primárními servery atd. Klienti NTP a servery s relativně malým počtem klientů se obvykle nesynchronizují s primárními servery. Na vyšších vrstvách běží několik stovek veřejných sekundárních serverů. Jsou preferovanou volbou [7] .
Čas je v systému NTP reprezentován 64bitovým číslem (8 bajtů ) skládajícím se z 32bitového čítače sekund a 32bitového čítače zlomkových sekund, což umožňuje přenos času v rozsahu 2-32 sekund s teoretická přesnost 2-32 sekund. Protože se NTP časové měřítko opakuje každých 232 sekund (136 let), musí příjemce alespoň zhruba znát aktuální čas (do 68 let [8] ). Je třeba také poznamenat, že čas se počítá od půlnoci 1. ledna 1900 a ne od roku 1970, takže od času NTP je třeba odečíst 70 let (včetně přestupných let), aby se čas správně sladil se systémy Windows nebo Unix. [7] [9] .
Formát krátkého času
Bit | 0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Sekundy | Zlomky sekund |
Normální formát času
Bit | 0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Sekundy | |||||||||||||||||||||||||||||||
čtyři | Zlomky sekund |
Formát data
Bit | 0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Číslo éry | |||||||||||||||||||||||||||||||
čtyři | éra odrážka | |||||||||||||||||||||||||||||||
osm | akcie | |||||||||||||||||||||||||||||||
12 |
protokoly TCP /IP podle vrstev modelu OSI | Základní|
---|---|
Fyzický | |
odvedeny | |
síť | |
Doprava | |
zasedání | |
Zastoupení | |
Aplikovaný | |
Uplatněno jiné | |
Seznam portů TCP a UDP |