Network Time Protocol (NTP), Forståelse af synkronisering.
Sendt af Richard N Williams on Oktober 7th, 2008
Network Time Protocol synes at have eksisteret for altid. Faktisk er det faktisk en af internettets ældste protokoller, der er blevet udviklet i 1980'erne af professor David Mills og hans team fra Delaware University.
I en tilbagelænet verden er det måske ikke noget, om computernetværk ikke er synkroniseret. De eneste konsekvenser af timing fejl kan være, at en email kommer før det blev sendt, men i brancher som flyselskabs sæde reservation, børsen eller satellitkommunikation, fraktioner af et sekund kan forårsage alvorlige fejl som at sælge pladser mere end én gang, tabet af millioner af dollars eller endda bedrageri.
Computere er logiske maskiner, og da tiden er lineær til en computer, skal enhver begivenhed, der sker på en maskine, ske, før nyheden om den begivenhed når en anden. Når netværk ikke er synkroniserede, kæmper computere for at håndtere begivenheder, der naturligvis har fundet sted (som f.eks. En mail sendes), men ifølge deres klokkeslæt og tidsstempel er det endnu ikke, tænk bare tilbage til årtusindens fejl, hvor det var frygt for ure Gå tilbage til 1900!
Af denne grund blev NTP udviklet. NTP bruger en algoritme (Marzullo's algoritme) til at synkronisere tiden med den nuværende version af NTP kan bevare tiden over det offentlige internet til inden for 10 millisekunder og kan udføre endnu bedre over LAN. NTP-tidsserverne arbejder inden for TCP / IP-pakken og er afhængige af UDP (User Datagram Protocol).
NTP-servere er normalt dedikerede NTP-enheder, der bruger en enkelt tidsreference til at synkronisere et netværk til. Denne tidsreference er oftest en UTC (Koordineret Universal Time) kilde. UTC er en global tidsskala, der distribueres af atomur via internettet, specialiserede langbølges radiosender eller via GPS (Global Positioning System) netværk.
NTP-algoritmen anvender denne tidsreference for at bestemme mængden, der skal føres eller trækkes tilbage til systemet eller netværksklokken. NTP analyserer tidsstempelets værdier, herunder fejlfrekvensen og dens stabilitet. En NTP-server vil opretholde et estimat for kvaliteten af både referenceklokkerne og sig selv.
NTP er hierarkisk. Afstanden fra timingreferencen er opdelt i lag. Stratum 0 er atomurreferencen; Stratum 1 er NTP-serveren, mens Stratum 2 er en server, der modtager timingoplysninger fra NTP-serveren. NTP kan understøtte næsten ubegrænsede lag, selvom jo længere væk fra timingreferencen du går jo mindre præcis, bliver det.
Da hvert lagniveau både kan modtage og sende timingssignaler, er fordelene ved dette hierarkiske system, at tusindvis af maskiner kan synkroniseres med kun behovet for en NTP-server.
NTP indeholder en sikkerhedsforanstaltning kaldet godkendelse. Autentificering verificerer, at hver tidsstempel er kommet fra den tilsigtede tidsreference ved at analysere et sæt krypteringsnøgler, der sendes med tidsreferencen. NTP analyserer det og bekræfter, om det er kommet fra tidskilden ved at verificere det mod et sæt betroede nøgler i dens konfigurationsfiler.
Autentificering er dog ikke tilgængelig fra timing kilder fra hele internettet, hvorfor Microsoft og Novell blandt andet stærkt anbefaler kun, at eksterne tidsreferencer anvendes som en dedikeret GPS NTP-server eller en der modtager den nationale tid og frekvens langbølge transmission.