SNTP
Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od
verze recenzované 22. března 2015; kontroly vyžadují
12 úprav .
SNTP |
název |
Jednoduchý síťový časový protokol |
Úroveň (podle modelu OSI ) |
Aplikovaný |
Rodina |
TCP/IP |
Port/ID |
123/ UDP |
Účel protokolu |
Synchronizace času |
Specifikace |
RFC 4330 |
SNTP ( anglicky Simple Network Time Protocol ) je protokol pro synchronizaci času přes počítačovou síť. Jedná se o zjednodušenou implementaci protokolu NTP . 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. Protokol SNTP je speciální případ protokolu NTP s určitými zjednodušeními. Klient SNTP tak může přistupovat k libovolnému serveru NTP, jako by to byl server SNTP.
Formát času
Protokol SNTP používá stejný formát času jako protokol NTP – 64bitové číslo sestávající z 32bitového čítače sekund a 32bitového čítače zlomků sekund. Hodnota počítadla času nula odpovídá nule hodin 1. ledna 1900, 18:28:16 7. února 2036 atd. Pro úspěšné fungování protokolu je nutné, aby klient znal svůj čas v rozmezí ±34 let od čas serveru.
Formát zprávy
Byte |
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-3 |
IR |
HB |
Režim |
Strata |
Interval dotazování |
Přesnost
|
4-7 |
Zpoždění
|
8-11 |
Disperze
|
12-15 |
ID zdroje
|
16-19 |
Aktualizovat čas
|
20-23
|
24-27 |
Doba spuštění
|
28-31
|
32-35 |
Čas přijetí
|
36-39
|
40-43 |
Doba odeslání
|
44-47
|
48-51 |
Identifikační klíč
|
52-55 |
Přehled zpráv
|
56-59
|
60-63
|
64-67
|
- Korekční indikátor (IR) zobrazuje varování o budoucím vložení nebo vymazání sekundy v poslední minutě dne:
IR |
Význam
|
0 |
Žádná oprava
|
jeden |
Poslední minuta bude mít 61 sekund
|
2 |
Poslední minuta bude mít 59 sekund
|
3 |
Čas není synchronizován
|
- Číslo verze (HB) je aktuální hodnota 4.
- režim:
Režim |
Význam
|
0 |
Rezervováno
|
jeden |
symetricky aktivní
|
2 |
Symetrická pasivní
|
3 |
Klient
|
čtyři |
Server
|
5 |
Přenos
|
6 |
Vyhrazeno pro řídicí zprávy NTP
|
7 |
Vyhrazeno pro soukromé použití
|
- Strat - pole je definováno pouze pro zprávy serveru:
Strata |
Význam
|
0 |
Kiss of Death (server nesmí být použit)
|
jeden |
Primární synchronizace
|
2-15 |
Sekundární synchronizace
|
16-255 |
Rezervováno
|
- Interval dotazování je celé číslo bez znaménka, jehož binární exponent udává maximální interval mezi po sobě jdoucími zprávami v sekundách. Definováno pouze pro zprávy serveru, platné hodnoty jsou 4 (16s) až 17 (asi 36h).
- Přesnost je celé číslo se znaménkem, jehož binární exponent udává přesnost systémových hodin. Definováno pouze pro zprávy serveru, typické hodnoty jsou -6 až -20.
- Zpoždění je podepsané číslo s pevnou čárkou mezi 15 a 16 číslicemi, které udává celkovou dobu zpáteční cesty, po kterou signál dosáhne zdroje hodin časového serveru. Definováno pouze pro zprávy serveru.
- Rozptyl je číslo bez znaménka s pevným bodem mezi 15 a 16 číslicemi, které ukazuje maximální chybu způsobenou nestabilitou hodin. Definováno pouze pro zprávy serveru.
- Source ID - zdroj synchronizace serveru, řetězec pro vrstvu 0 a 1, IP adresa pro sekundární servery. Definováno pouze pro zprávy serveru.
- Update Time – Čas posledního nastavení nebo úpravy systémových hodin.
- Čas zahájení, čas příjmu a čas odeslání jsou definovány níže.
- Identifikační klíč, výtah zprávy - nepovinná pole použitá pro autentizaci.
Klientské úlohy
Klient SNTP může pracovat v režimech unicast, broadcast a multicast. V režimu unicast klient odešle požadavek (režim 3) a čeká na odpověď (režim 4) ze serveru. V režimu vysílání klient neodesílá požadavky, ale čeká na zprávy (režim 5) z jednoho nebo více serverů. V režimu vícesměrového vysílání klient odešle požadavek (režim 3) na adresu vysílání a čeká na odpověď (režim 4) od jednoho nebo více serverů. První server, který odpoví, je použit pro následné požadavky unicast, ostatní odpovědi jsou ignorovány.
Pole
|
Single-multicast
|
Přenos
|
Žádost |
Odpovědět
|
Indikátor korekce |
0 |
0-3 |
0-3
|
Číslo verze |
1-4 |
z žádosti |
1-4
|
Režim |
3 |
čtyři |
5
|
Strata |
0 |
0-15 |
0-15
|
Interval dotazování |
0 |
ignoroval |
ignoroval
|
Přesnost |
0 |
ignoroval |
ignoroval
|
Zpoždění |
0 |
ignoroval |
ignoroval
|
Disperze |
0 |
ignoroval |
ignoroval
|
ID zdroje |
0 |
ignoroval |
ignoroval
|
Aktualizovat čas |
0 |
ignoroval |
ignoroval
|
Doba spuštění |
0 |
viz popis |
ignoroval
|
Čas přijetí |
0 |
viz popis |
ignoroval
|
Doba odeslání |
viz popis |
viz popis |
viz popis
|
Autentizace |
není nutné |
není nutné |
není nutné
|
Přehled zpráv |
není nutné |
není nutné |
není nutné
|
V režimu unicast a multicast klient vyplní pole "HV", "Mode" a volitelně "Send Time". Zbývající pole jsou vyplněna nulami. Server zkopíruje pole Čas odeslání na Čas zahájení a nastaví pole Čas příjmu a Čas odeslání. "Čas příjezdu" je pevně stanoven v době přijetí odpovědi ze serveru.
název |
Kód |
Při generování
|
Doba spuštění |
T1 |
Čas odeslání požadavku klientem
|
Čas přijetí |
T2 |
Čas, kdy server přijal požadavek
|
Doba odeslání |
T3 |
Doba odezvy serveru
|
Čas příjezdu |
T4 |
Doba odezvy klienta
|
Aktuální čas je nastaven na T4, opravený o místní časový posun. Místní časový posun t a zpoždění přenosu paketů d se vypočítají podle vzorců:
t = ((T2 - T1) + (T3 - T4)) / 2
d = (T4 - T1) - (T3 - T2)
V režimu vysílání klient neobdrží informace o zpoždění šíření a neprovede se žádná oprava.
Viz také
Odkazy
RFC 4330 – Simple Network Time Protocol (SNTP) verze 4