Sådan en NTP-server Works
Sendt af Richard N Williams on Januar 30th, 2008
Network Time Protocol (NTP) er en af internetets ældste protokoller, der stadig er i brug. Opfundet af dr. David Mills fra University of Delaware er det blevet brugt siden 1985. NTP er designet til at synkronisere uret på computere og netværk på tværs af internettet eller lokalt netværk (LAN).
NTP (i øjeblikket version 4) er faktisk tre ting i én; et softwareprogram, der kører i baggrunden af Windows eller UNIX; en protokol, der udveksler tidsværdier mellem servere og klienter og en række algoritmer, der behandler tidsværdierne for at fremme eller trække sig tilbage fra systemuret.
NTP bruger en algoritme (Marzullo's algoritme) til at synkronisere tid på et netværk ved hjælp af en tidsreference. Selvom netværk kan synkroniseres med interne ure eller internetbaserede timingreferencer, anbefales det stærkt af Microsoft og andre, at en ekstern timingreference skal bruges til at garantere godkendelse. En absolut timingreference skal bruge UTC (Coordinated Universal Time eller Temps Universal Coordonné), der understøtter sådanne funktioner som spring sekunder - tilføjet for at kompensere for forsinkelsen af jordens rotation.
NTP arbejder inden for TCP / IP-suite og er afhængig af UDP, eksisterer en mindre kompleks form af NTP kaldet Simple Network Time Protocol (SNTP), som ikke kræver lagring af oplysninger om tidligere meddelelser, der kræves af NTP. Det bruges i nogle enheder og applikationer, hvor høj nøjagtighed timing er ikke så vigtigt, er det også inkluderet i de fleste Windows-operativsystemer, men nyere versioner har den fulde NTP allerede er installeret, som også er gratis at downloade via internettet.
Synkronisering med NTP er relativt enkel, det synkroniserer tidspunkt med henvisning til en pålidelig clock kilde, såsom et atomur, selvom disse er ekstremt dyre og er generelt kun findes i store fysiklaboratorier imidlertid NTP kan bruge enten Global Positioning (GPS) netværk eller specialist radiotransmission at modtage UTC-tid fra disse ure.
NTP bruger tidsstempler til at repræsentere den aktuelle tidspunkt på dagen hver tidsstemplet er flygtig, med andre ord, det er altid større end den tidligere tidsstempel som tiden aldrig løber baglæns. NTP analyserer tidsstemplet værdier, herunder hyppigheden af fejl og stabilitet. En NTP-server vil opretholde et skøn over kvaliteten af sine referencepunkter ure og for sig selv.
Afstanden fra referenceklokken er kendt som stratum niveauer og de findes at forhindre cykler i NTP. Stratum 0 er anordninger såsom referencenumre ure tilsluttet direkte til en computer. Stratum 1 er computere knyttet til stratum 0 enheder, mens Stratum 2 er computere, der sender NTP anmodninger til Stratum 1 servere. NTP kan understøtte op til 256 lag.
NTP tidsstempler er i to formater, men de viderebringe sekunderne fra et sæt tidspunkt (kendt som den primære epoke, indstillet på 00: 00 1 januar 1900) NTP-algoritmen bruger derefter disse tidsstempel at bestemme mængden for at gå videre eller trække sig tilbage i systemet eller netværk ur.
NTP-programmet (kendt som en dæmon på UNIX og en tjeneste på Windows) kører i systemets baggrund. NTP nægter at tro på den tid, det bliver fortalt, indtil der er fundet flere pakkeudvekslinger, der hver især bestaar af et sæt tests. Kun hvis svarene fra en server opfylder testen, kendt som protokolspecifikationer, betragtes serveren. Det tager normalt omkring fem minutter (fem gode prøver), indtil en NTP-server accepteres som en synkroniseringskilde.
En typisk GPS-tidsserver kan give timing information inden for et par nanosekunder af UTC, så længe der er en antenne med en god udsigt over himlen.
Der er også en række nationale tid- og frekvensradio-transmissioner, der kan bruges til at synkronisere en NTP-server. I Storbritannien udsendes signalet (kaldet MSF) af National Physics Laboratory i Cumbria, der fungerer som Det Forenede Kongeriges nationale tidsreference. Der findes også lignende systemer i Colorado, USA (WWVB) og i Frankfurt, Tyskland (DCF-77). Disse signaler giver UTC-tid til en nøjagtighed af 100-mikrosekunder, men radiosignalet har et begrænset antal og er sårbart for interferens.