NTP | |
---|---|
namn | Network Time Protocol |
Nivå (enligt OSI-modellen ) | Applicerad |
Familj | TCP/IP |
Skapad i | 1985 |
Port/ID | 123/ UDP |
Syftet med protokollet | Klocksynkronisering |
Specifikation | RFC 5905 |
NTP ( Network Time Protocol ) är ett nätverksprotokoll för att synkronisera en dators interna klocka med hjälp av nätverk med variabel latens . Protokollet utvecklades av David L. Mills , en professor vid University of Delaware , 1985. Versionen för 2015 är NTPv4 [1] .
NTP, baserat på Marzullo-algoritmen , använder UDP- protokollet för sin drift och tar hänsyn till överföringstiden. NTP - systemet är extremt robust för förändringar i medialatens . I version 4 kan den uppnå en noggrannhet på 10 ms (1/100 s) vid arbete över Internet och upp till 0,2 ms (1/5000 s) och bättre inom lokala nätverk [2] .
NTP-protokollet används mest för att synkronisera exakta tidsservrar. För maximal noggrannhet är det att föredra att alltid köra NTP-programvaran i systemserviceläge . I Microsoft Windows - familjen av operativsystem är detta W32Time-tjänsten [3] , Linux är Ntpd-demonen [ 4] eller chronyd.
En enklare implementering av denna algoritm är känd som SNTP , Simple Network Time Protocol. Det används i inbyggda system och enheter som inte kräver hög noggrannhet, samt i anpassade tidsprogram [5] .
Paketstrukturen beskrivs i RFC 5905 [1] . Ett paket består av ett heltal av 32-bitars ord.
Data i rubriken kommer att vara olika för olika driftlägen. Till exempel bör klienten i fälten timlager , källidentifierare , starttid och tid för mottagning skriva nollor.
Indrag | Oktett | 0 | ett | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oktett | Bit | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 | arton | 19 | tjugo | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | trettio | 31 |
0 | 0 | IR | Version | Läge | timlager | Polling intervall | Noggrannhet | ||||||||||||||||||||||||||
fyra | 32 | Dröjsmål | |||||||||||||||||||||||||||||||
åtta | 64 | Dispersion | |||||||||||||||||||||||||||||||
12 | 96 | Käll-ID | |||||||||||||||||||||||||||||||
16 | 128 | Uppdaterings tid | |||||||||||||||||||||||||||||||
tjugo | 160 | ||||||||||||||||||||||||||||||||
24 | 192 | Starttid | |||||||||||||||||||||||||||||||
28 | 224 | ||||||||||||||||||||||||||||||||
32 | 256 | Tidpunkt för mottagning | |||||||||||||||||||||||||||||||
36 | 288 | ||||||||||||||||||||||||||||||||
40 | 320 | Utskickstid | |||||||||||||||||||||||||||||||
44 | 352 |
Menande | Beskrivning |
---|---|
0 | Ingen varning |
ett | Dagens sista minut innehåller 61 sekunder |
2 | Dagens sista minut innehåller 59 sekunder |
3 | Okänd (tid ut synkroniserad) |
Menande | Beskrivning |
---|---|
0 | reserverad |
ett | Symmetriskt aktivt läge |
2 | Symmetriskt passivt läge |
3 | Klient |
fyra | Server |
5 | Sändningsläge |
6 | NTP-kontrollmeddelande |
7 | Reserverad för privat bruk |
Menande | Beskrivning |
---|---|
0 | Ej definierad eller ogiltig |
ett | Primär server |
2-15 | Sekundär server som använder NTP |
16 | Osynkroniserad |
17-255 | reserverad |
ID | Källa |
---|---|
GÅR | Geostationär satellit för miljöövervaknings- och observationssystemet |
GPS | Global Positioning System |
tjej | Positioneringssystem "Galileo" |
PPS | Allmän radiosignal med pulslängd lika med 1 sekund |
IRIG | Telemetry Standards Group , USA |
WWVB | Lågfrekvent radiosändare, 60 kHz, Fort Collins Colorado, USA |
DCF | Lågfrekvent radiosändare, 77,5 kHz, DCF77 , Mainflingen, Tyskland |
HBG | Lågfrekvent radiosändare, 75 kHz, Prangins , Schweiz |
Läkare Utan Gränser | Lågfrekvent radiosändare, 60 kHz, Anthorn , Storbritannien |
JJY | Lågfrekvent radiosändare, 40 kHz, Fukushima, 60 kHz , Saga, Japan |
LORC | Mediumfrekvens radiosändare, 100 kHz, radionavigering, LORAN-C |
TDF | Mediumfrekvens radiosändare, 162 kHz, Allouis Frankrike |
CHU | HF-sändare, Ottawa, Ontario Kanada |
WWV | Högfrekvent radiosändare, Fort Collins, Colorado , USA |
WWVH | Högfrekvent radiosändare, Kauai, Hawaii , USA |
NIST | US National Institute of Standards and Technology telefonmodem |
ACTS | US National Institute of Standards and Technology telefonmodem |
USNO | US National Observatory telefonmodem |
PTB | Telefonmodem från National Metrology Institute of Germany |
För lager 0 , som anses odefinierat eller ogiltigt, kan fältet Källa Identifier användas för att leverera meddelanden som fungerar som systemtillståndsdata och åtkomstkontroll. Sådana meddelanden kallas "Kiss-o'-Death" [Note 1] (KoD), och ASCII-data de levererar kallas "kysskoder" (hjälpkoder). Listan över för närvarande accepterade "hjälp"-koder presenteras i tabellen nedan [6] .
Mottagare av KoD-meddelanden måste kontrollera dem och utföra följande åtgärder [1] :
Koden | Beskrivning |
---|---|
ACST | Virtuell anslutning upprättad av unicast-server |
AUTH | Serverautentisering misslyckades |
BIL | Autokey-sekvensen är felaktig |
BCST | Virtuell anslutning upprättad av broadcast-server |
CRYP | Kryptografisk autentisering eller identifiering misslyckades |
FÖRNEKA | Fjärrserver nekad åtkomst |
SLÄPPA | Förlust av fjärrtidsserver i symmetriskt läge |
RSTR | Åtkomst nekad på grund av lokal säkerhetspolicy |
I DET | Virtuell anslutning misslyckades första gången |
MCST | Virtuell synkroniseringsanslutning upprättad av dynamiskt upptäckt server |
NKEY | Nyckeln hittades inte (antingen har den aldrig laddats förut, eller så är den opålitlig) |
BETYGSÄTTA | Hastigheten överskred. Servern har tillfälligt nekat åtkomst eftersom klienten har överskridit hastighetströskeln |
RMOT | Ändra den virtuella anslutningen från en fjärransluten IP-värd direkt med hjälp av NTP-protokollet |
STEG | Byte av systemtid inträffade, virtuell synkroniseringsanslutning har inte upprättats |
NTP använder ett hierarkiskt nätverk, där varje nivå har sitt eget nummer, som kallas ett lager ( eng. stratum ). Layer 1 - Primära servrar som är direkt synkroniserade med nationella tidstjänster via satellit, radio eller telefonmodem. Lager 2 - sekundära servrar, synkronisera med primära servrar, etc. Vanligtvis är NTP-klienter och servrar med relativt få klienter inte synkroniserade med primära servrar. Det finns flera hundra offentliga sekundära servrar som körs på de högre lagren. De är det föredragna valet [7] .
Tiden representeras i NTP-systemet av ett 64-bitars nummer (8 byte ) bestående av en 32-bitars sekundräknare och en 32-bitars bråkdelssekundräknare, vilket gör att tiden kan sändas i intervallet 2-32 sekunder, med en teoretisk noggrannhet på 2-32 sekunder. Eftersom NTP-tidsskalan upprepas var 232 :e sekund (136 år), måste mottagaren åtminstone ungefär veta den aktuella tiden (till inom 68 år [8] ). Det bör också noteras att tiden räknas från midnatt den 1 januari 1900, och inte från 1970, så 70 år (inklusive skottår) måste subtraheras från NTP-tiden för att korrekt anpassa tiden med Windows- eller Unix-system [7] [9] .
Bit | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 | arton | 19 | tjugo | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | trettio | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Sekunder | Bråkdelar av sekunder |
Bit | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 | arton | 19 | tjugo | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | trettio | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Sekunder | |||||||||||||||||||||||||||||||
fyra | Bråkdelar av sekunder |
Bit | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 | arton | 19 | tjugo | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | trettio | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Era nummer | |||||||||||||||||||||||||||||||
fyra | era indrag | |||||||||||||||||||||||||||||||
åtta | Aktier | |||||||||||||||||||||||||||||||
12 |
TCP / IP-protokoll efter lager av OSI-modellen | Grundläggande|
---|---|
Fysisk | |
kanaliserad | |
nätverk | |
Transport | |
session | |
Representation | |
Applicerad | |
Annat ansökt | |
Lista över TCP- och UDP-portar |