Introduktion til Network Time Protocol
Sendt af Stuart on September 8th, 2008
Netværkstidsprotokol (NTP) er en af internetets ældste protokoller, der stadig er i brug. 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 urene på computere og netværk på tværs af internettet eller lokale eller bredere netværk (LAN / WANS).
I en moderne global økonomi er tidssynkronisering afgørende for at gennemføre tidsfølsomme transaktioner som f.eks. Booking af en flybillet til at byde på et internet auktionssted. Hvis ure ikke blev synkroniseret til samme tid, kan du finde dit flyselskabs sæde solgt, efter at du havde købt det, og Ebays administratorer ville ikke kunne opdage, hvis bud var det seneste.
NTP er et multi-tieret system, hvor hver tier kaldes et lag. Servere på hvert niveau kommunikerer med hinanden (peer) og giver tid til lavere lag. Servere på det øverste lag, stratum 1 forbinder til et atomur enten via internettet eller af en radio eller GPS-modtager, mens en stratum 2-server vil oprette forbindelse til et lag 1.
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 tid servere arbejde inden for TCP / IP-pakken og stole på 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).
NTP-programmet (kendt som en dæmon på UNIX og en tjeneste på Windows) kører i baggrunden og nægter at tro på den tid, det bliver fortalt, indtil der har fundet sted flere udvekslinger, der hver bestod af et sæt tests. Hvis svarene fra en server opfylder disse 'protokolspecifikationer', accepteres serveren. Det tager normalt omkring fem gode prøver (fem minutter), indtil en NTP-server accepteres som en kilde til synkronisering.
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.
En forenklet version af NTP, der hedder Simple Network Time Protocol (SNTP) eksisterer, der ikke kræver opbevaring af oplysninger om tidligere kommunikation som krævet af NTP. Den bruges i nogle enheder og applikationer, hvor høj præcisionstidspunkt ikke er lige så vigtig og installeres på ældre versioner af Microsoft Windows. Windows, da 2000 har inkluderet Windows Time Service (w32time.exe), der bruger SNTP til at synkronisere computeruret. NTP er også tilgængelig på UNIX og LINUX (download via NTP.org).