Introduktion til Network Time Protocol (NTP)
Sendt af Richard N Williams on Januar 29th, 2008
Network Time Protocol (NTP) er en af Internetets ældste protokoller, der stadig anvendes i dag. Udviklet af Dr. David Mills fra University of Delaware, det har været i konstant brug og løbende opdateret siden 1985. NTP er en protokol designet til at synkronisere uret på computere og netværk på tværs af internettet eller lokale netværk (LAN).
NTP bruger en algoritme (Marzullo's algoritme) til at synkronisere tiden på et netværk ved hjælp af tidsskalaer som UTC (Coordinated Universal Time eller Temps Universal Coordonné) og kan understøtte sådanne funktioner som spring sekunder - tilføjet for at kompensere for forsinkelsen af jordens rotation.
NTP (version 4 er den seneste) kan holde tid over det offentlige internet til inden for 10 millisekunder (1 / 100th af et sekund) og kan udføre endnu bedre over LAN med nøjagtighed af 200 mikrosekunder (1 / 5000th af et sekund) under ideelle forhold .
NTP-tidsserverne arbejder inden for TCP / IP-pakken og er afhængige af UDP (User Datagram Protocol). En mindre kompleks form for NTP, der kaldes Simple Network Time Protocol (SNTP), der ikke kræver opbevaring af oplysninger om tidligere kommunikation, der kræves af NTP, anvendes i nogle enheder og applikationer, hvor høj præcisionstiming ikke er lige så vigtig og også medtages som standard i Windows-software (selvom nyere versioner af Microsoft Windows har den fulde NTP installeret og kildekoden er gratis og let tilgængelig på internettet).
Tidssynkronisering med NTP er relativt enkel, det synkroniserer tiden med henvisning til en pålidelig urkilde. Denne kilde kan være relativ (en computers interne ur eller tiden på et armbåndsur) eller absolut (en UTC-kildesource, som en atomur, der er præcis som det er menneskeligt muligt).
Atomure er de mest absolutte tid-holde enheder. De arbejder efter princippet, at atomet, cæsium 133, har et helt antal cykler af stråling hvert sekund (9,192,631,770). Dette har vist sig så nøjagtig internationale enhedssystem (SI) har nu defineret det andet som varigheden af 9,192,631,770 cykler af stråling af cæsium 133 atom.
Atomkloder er dog ekstremt dyre og findes generelt kun i storskala fysiklaboratorier. NTP kan dog synkronisere netværk til et atomur ved hjælp af enten Global Positioning System (GPS) netværk eller specialradio transmission.
Den mest udbredte er den GPS-system, som består af et antal satellitter, der leverer præcis positionering og placering. Hver GPS satellit kan kun gøre dette ved at udnytte et atomur, som igen kan kan bruges som en timing reference.
En typisk GPS-modtager kan give oplysninger om tid til inden for et par nanosekunder af UTC, så længe der er en antenne beliggende med en god udsigt til 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.
Afstanden fra referenceklokken er kendt som stratumniveauerne, og de eksisterer for at forhindre cyklusser i NTP og bekræfte nøjagtigheden. Stratum 0 er enheder som atomklokker, der er tilsluttet direkte til en computer. Stratum 1 er computere tilsluttet stratum 0-enheder (ligesom via en GPS-modtager), mens Stratum 2 er computere, der sender NTP-anmodninger til Stratum 1-servere. NTP kan understøtte op til 256-lag.
Alle Microsoft Windows-versioner siden 2000 omfatter Windows Time Service (w32time.exe), som har mulighed for at synkronisere computeruret til en NTP-server. Det skal bemærkes, at Microsoft anbefaler, at eksterne tidsreferencer anvendes i stedet for internetbaserede, da disse ikke kan godkendes. Specialiserede NTP-servere er tilgængelige, der kan synkronisere tid på netværk ved hjælp af enten MSF (eller tilsvarende) eller GPS-signal.