Introduksjon til Network Time Protocol (NTP)
Postet av Richard N Williams on Januar 29th, 2008
Network Time Protocol (NTP) er en av internettets eldste protokoller som fortsatt brukes i dag. Utviklet av Dr David Mills fra University of Delaware, har det vært i konstant bruk og kontinuerlig oppdatert siden 1985. NTP er en protokoll utviklet for å synkronisere klokkene på datamaskiner og nettverk på Internett eller lokalnettverk (LAN).
NTP bruker en algoritme (Marzullos algoritme) for å synkronisere tid på et nettverk ved hjelp av tidsskalaer som UTC (Koordinert Universal Time eller Temps Universal Coordonné) og kan støtte slike funksjoner som sprang sekunder - lagt til for å kompensere for bremsing av jordens rotasjon.
NTP (versjon 4 er den siste) kan opprettholde tid over det offentlige Internett til innen 10 millisekunder (1 / 100th av et sekund) og kan utføre enda bedre over LAN med nøyaktighet av 200 mikrosekunder (1 / 5000th av et sekund) under ideelle forhold .
NTP-tidsservere jobber i TCP / IP-pakken og stole på UDP (User Datagram Protocol). En mindre kompleks form for NTP, som kalles Simple Network Time Protocol (SNTP) som ikke krever lagring av informasjon om tidligere kommunikasjon, som trengs av NTP, brukes i enkelte enheter og applikasjoner der høy nøyaktighetstiming ikke er like viktig og også er inkludert som standard i Windows-programvare (selv om nyere versjoner av Microsoft Windows har full NTP installert og kildekoden er gratis og lett tilgjengelig på Internett).
Tidssynkronisering med NTP er relativt enkel, det synkroniserer tiden med henvisning til en pålitelig klokkekilde. Denne kilden kan være relativ (en datamaskinens innvendige klokke eller tiden på en armbåndsur) eller absolutt (en UTC-kilden, som en atomur, som er nøyaktig som det er menneskelig mulig).
Atomic klokker er de mest absolutte tids holde enheter. De arbeider på prinsippet om at den atom, cesium-133, har et eksakt antall perioder av stråling hvert sekund (9,192,631,770). Dette har vist seg å være så nøyaktig at den SI-systemet (SI) er nå definert den andre som varigheten av 9,192,631,770 sykluser av strålingen fra cesium-133 atom.
Men atomklokker er ekstremt dyre og er generelt bare å bli funnet i storskala fysikklaboratorier. NTP kan imidlertid synkronisere nettverk til en atomur ved å bruke enten Global Positioning System (GPS) nettverk eller spesialisert radiotransmisjon.
Den mest brukte er den GPS-system som består av et antall satellitter som gir nøyaktig posisjonering og plassering informasjon. Hver GPS-satellitt kan kun gjøre dette ved å benytte en atomklokke som i sin tur kan brukes som en tidsstyringsreferanse.
En typisk GPS-mottaker kan gi timingen informasjon til noen få nanosekunder av UTC så lenge det er en antenne som ligger med god utsikt til himmelen.
Det er også en rekke nasjonale tids- og frekvensradio-sendinger som kan brukes til å synkronisere en NTP-server. I Storbritannia sendes signalet (kalt MSF) av National Physics Laboratory i Cumbria som fungerer som Storbritannias nasjonale tidsreferanse. Det finnes også lignende systemer i Colorado, USA (WWVB) og i Frankfurt, Tyskland (DCF-77). Disse signalene gir UTC-tid til en nøyaktighet av 100 mikrosekunder, men radiosignalet har et begrenset område og er sårbart for forstyrrelser.
Avstanden fra referanseklokke er kjent som stratumnivået og de eksisterer for å hindre sykluser i NTP og bekreft nøyaktighet. Stratum 0 er enheter som atomklokker koblet direkte til en datamaskin. Stratum 1 er datamaskiner som er koblet til stratum 0-enheter (som via en GPS-mottaker), mens Stratum 2 er datamaskiner som sender NTP-forespørsler til Stratum 1-servere. NTP kan støtte opptil 256-lag.
Alle Microsoft Windows-versjoner siden 2000 inkluderer Windows Time Service (w32time.exe) som har mulighet til å synkronisere datamaskinens klokke til en NTP-server. Det bør bemerkes at Microsoft anbefaler at eksterne tidsreferanser brukes i stedet for Internettbaserte, da disse ikke kan godkjennes. Spesialistiske NTP-servere er tilgjengelige som kan synkronisere tid på nettverk ved hjelp av enten MSF (eller tilsvarende) eller GPS-signal.