NTP | |
---|---|
Nume | Network Time Protocol |
Nivel (conform modelului OSI ) | Aplicat |
Familie | TCP/IP |
Creat în | 1985 |
Port/ID | 123/ UDP |
Scopul protocolului | Sincronizarea ceasului |
Specificație | RFC 5905 |
NTP ( Network Time Protocol ) este un protocol de rețea pentru sincronizarea ceasului intern al computerului folosind rețele cu latență variabilă . Protocolul a fost dezvoltat de David L. Mills , profesor la Universitatea din Delaware , în 1985. Versiunea pentru 2015 este NTPv4 [1] .
NTP, bazat pe algoritmul Marzullo , folosește protocolul UDP pentru funcționarea sa și ia în considerare timpul de transfer. Sistemul NTP este extrem de robust la modificările latenței media . În versiunea 4, este capabil să obțină o precizie de 10 ms (1/100 s) atunci când lucrează pe Internet și până la 0,2 ms (1/5000 s) și mai bine în rețelele locale [2] .
Protocolul NTP este cel mai utilizat pentru sincronizarea serverelor de timp exacte. Pentru o precizie maximă, este de preferat să rulați întotdeauna software-ul NTP în modul de service de sistem . În familia de sisteme de operare Microsoft Windows , acesta este serviciul W32Time [3] , Linux este demonul Ntpd [ 4] sau chronyd.
O implementare mai simplă a acestui algoritm este cunoscută sub numele de SNTP , Protocolul de timp al rețelei simple. Este utilizat în sisteme și dispozitive încorporate care nu necesită o precizie ridicată, precum și în programele de timp personalizate [5] .
Structura pachetului este descrisă în RFC 5905 [1] . Un pachet este format dintr-un număr întreg de cuvinte de 32 de biți.
Datele din antet vor fi diferite pentru diferite moduri de operare. De exemplu, clientul în câmpurile stratul oră , identificatorul sursei , ora de începere și ora recepției ar trebui să scrie zerouri.
indentare | Octet | 0 | unu | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Octet | Pic | 0 | unu | 2 | 3 | patru | 5 | 6 | 7 | opt | 9 | zece | unsprezece | 12 | 13 | paisprezece | cincisprezece | 16 | 17 | optsprezece | 19 | douăzeci | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | treizeci | 31 |
0 | 0 | IR | Versiune | Modul | stratul orar | Interval de sondare | Precizie | ||||||||||||||||||||||||||
patru | 32 | Întârziere | |||||||||||||||||||||||||||||||
opt | 64 | Dispersia | |||||||||||||||||||||||||||||||
12 | 96 | ID sursă | |||||||||||||||||||||||||||||||
16 | 128 | Timpul de actualizare | |||||||||||||||||||||||||||||||
douăzeci | 160 | ||||||||||||||||||||||||||||||||
24 | 192 | Timpul de începere | |||||||||||||||||||||||||||||||
28 | 224 | ||||||||||||||||||||||||||||||||
32 | 256 | Ora primirii | |||||||||||||||||||||||||||||||
36 | 288 | ||||||||||||||||||||||||||||||||
40 | 320 | Timp de expediere | |||||||||||||||||||||||||||||||
44 | 352 |
Sens | Descriere |
---|---|
0 | Nici un avertisment |
unu | Ultimul minut al zilei conține 61 de secunde |
2 | Ultimul minut al zilei conține 59 de secunde |
3 | Necunoscut (timpul nesincronizat) |
Sens | Descriere |
---|---|
0 | rezervat |
unu | Mod activ simetric |
2 | Mod pasiv simetric |
3 | Client |
patru | Server |
5 | Modul de difuzare |
6 | Mesaj de control NTP |
7 | Rezervat pentru uz privat |
Sens | Descriere |
---|---|
0 | Nu este definit sau nevalid |
unu | Server primar |
2-15 | Server secundar folosind NTP |
16 | Desincronizat |
17-255 | rezervat |
ID | Sursă |
---|---|
MERGE | Satelitul geostaționar al sistemului de monitorizare și observare a mediului |
GPS | Sistem de poziționare globală |
fată | Sistem de pozitionare "Galileo" |
PPS | Semnal radio general cu durata impulsului egală cu 1 secundă |
IRIG | Telemetry Standards Group , SUA |
WWVB | Transmițător radio de joasă frecvență, 60 kHz, Fort Collins Colorado, SUA |
DCF | Transmițător radio de joasă frecvență, 77,5 kHz, DCF77 , Mainflingen, Germania |
HBG | Transmițător radio de joasă frecvență, 75 kHz, Prangins , Elveția |
MSF | Transmițător radio de joasă frecvență, 60 kHz, Anthorn , Marea Britanie |
JJY | Transmițător radio de joasă frecvență, 40 kHz, Fukushima, 60 kHz , Saga, Japonia |
LORC | Transmițător radio de frecvență medie, 100 kHz, navigație radio, LORAN-C |
TDF | Transmițător radio de frecvență medie, 162 kHz, Allouis Franța |
CHU | Transmițător HF, Ottawa, Ontario Canada |
WWV | Transmițător radio de înaltă frecvență, Fort Collins, Colorado , SUA |
WWVH | Transmițător radio de înaltă frecvență, Kauai, Hawaii , SUA |
NIST | Modem telefonic al Institutului Național de Standarde și Tehnologie din SUA |
ACTE | Modem telefonic al Institutului Național de Standarde și Tehnologie din SUA |
USNO | Modem telefonic al Observatorului Național al SUA |
PTB | Modem telefonic al Institutului Național de Metrologie din Germania |
Pentru stratul 0 , care este considerat nedefinit sau invalid, câmpul Identificator sursă poate fi utilizat pentru a livra mesaje care acționează ca date de stare a sistemului și control al accesului. Astfel de mesaje se numesc „Kiss-o'-Death” [Nota 1] (KoD), iar datele ASCII pe care le furnizează se numesc „kiss codes” (coduri de ajutor). Lista codurilor de „ajutor” acceptate în prezent este prezentată în tabelul de mai jos [6] .
Destinatarii mesajelor KoD trebuie să le verifice și să efectueze următoarele acțiuni [1] :
Codul | Descriere |
---|---|
ACST | Conexiune virtuală stabilită de serverul unicast |
AUTH | Autentificarea serverului a eșuat |
AUTO | Secvența tastelor automate este incorectă |
BCST | Conexiune virtuală stabilită de serverul de difuzare |
CRYP | Autentificarea sau identificarea criptografică a eșuat |
NEGA | Accesul la server la distanță a fost interzis |
CĂDERE BRUSCA | Pierderea serverului de timp la distanță în modul simetric |
RSTR | Acces interzis din cauza politicii locale de securitate |
INIT | Conexiunea virtuală a eșuat prima dată |
MCST | Conexiune de sincronizare virtuală stabilită de serverul descoperit dinamic |
NKEY | Cheia nu a fost găsită (fie nu a fost încărcată niciodată înainte, fie nu este de încredere) |
RATĂ | Viteza depășită. Serverul a refuzat temporar accesul deoarece clientul a depășit pragul de rată |
RMOT | Schimbarea conexiunii virtuale de la o gazdă IP la distanță utilizând direct protocolul NTP |
ETAPA | A avut loc o iterație de schimbare a orei sistemului, conexiunea de sincronizare virtuală nu a fost stabilită |
NTP folosește o rețea ierarhică, unde fiecare nivel are propriul său număr, numit strat ( ing. strat ). Nivelul 1 - Servere primare care sunt sincronizate direct cu serviciile naționale de timp prin satelit, radio sau modem telefonic. Nivelul 2 - servere secundare, sincronizare cu serverele primare etc. De obicei, clienții NTP și serverele cu relativ puțini clienți nu sunt sincronizate cu serverele primare. Există câteva sute de servere publice secundare care rulează pe straturile superioare. Sunt alegerea preferată [7] .
Timpul este reprezentat în sistemul NTP printr-un număr de 64 de biți (8 octeți ) format dintr-un numărător de secunde de 32 de biți și un numărător de secunde fracționale de 32 de biți, permițând transmiterea timpului în intervalul 2-32 de secunde, cu un precizie teoretică de 2-32 secunde. Deoarece scala de timp NTP se repetă la fiecare 232 de secunde (136 de ani), destinatarul trebuie să cunoască cel puțin timpul curent (în termen de 68 de ani [8] ). De asemenea, trebuie menționat că ora se numără de la miezul nopții de 1 ianuarie 1900, și nu din 1970, deci 70 de ani (inclusiv anii bisecti) trebuie scăzuți din timpul NTP pentru a alinia corect ora cu sistemele Windows sau Unix. [7] [9] .
Format de timp scurt
Pic | 0 | unu | 2 | 3 | patru | 5 | 6 | 7 | opt | 9 | zece | unsprezece | 12 | 13 | paisprezece | cincisprezece | 16 | 17 | optsprezece | 19 | douăzeci | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | treizeci | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | secunde | Fracțiuni de secunde |
Format orar normal
Pic | 0 | unu | 2 | 3 | patru | 5 | 6 | 7 | opt | 9 | zece | unsprezece | 12 | 13 | paisprezece | cincisprezece | 16 | 17 | optsprezece | 19 | douăzeci | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | treizeci | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | secunde | |||||||||||||||||||||||||||||||
patru | Fracțiuni de secunde |
Formatul datei
Pic | 0 | unu | 2 | 3 | patru | 5 | 6 | 7 | opt | 9 | zece | unsprezece | 12 | 13 | paisprezece | cincisprezece | 16 | 17 | optsprezece | 19 | douăzeci | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | treizeci | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Numărul epocii | |||||||||||||||||||||||||||||||
patru | liniuță epocă | |||||||||||||||||||||||||||||||
opt | Acțiuni | |||||||||||||||||||||||||||||||
12 |
TCP /IP pe straturi ale modelului OSI | Protocoale de bază|
---|---|
Fizic | |
canalizat | |
reţea | |
Transport | |
sesiune | |
Reprezentare | |
Aplicat | |
Altele aplicate | |
Lista de porturi TCP și UDP |