Opprettholde presis tid på datamaskinene dine
Postet av Richard N Williams on Januar 15th, 2008
Alle PC- og nettverksenheter bruker klokker for å opprettholde en intern systemtid. Disse klokkene, kalt Real Time Clock chips (RTC), gir informasjon om tid og dato. Sjetongene er batteribacket, slik at selv under strømbrudd, kan de opprettholde tiden. Personlige datamaskiner er imidlertid ikke designet for å være perfekte klokker, deres design har blitt optimalisert for masseproduksjon og billigere enn å opprettholde presis tid.
Disse interne klokkene er tilbøyelige til drift, og selv om det for mange applikasjoner kan være ganske tilstrekkelig, må maskiner ofte samarbeide på et nettverk, og hvis datamaskinene går i forskjellige takter, blir datamaskinene ute av synkronisering med hverandre, og det kan oppstå problemer spesielt med tidsfølsomme transaksjoner.
Network Time Protocol (NTP) er en av internettets eldste protokoller som fortsatt er brukt, oppfunnet av Dr David Mills fra University of Delaware, den har vært i bruk siden 1985. NTP er en protokoll utviklet for å synkronisere klokkene på datamaskiner og nettverk på Internett eller lokalnettverk (LAN).
NTP (versjon 4) kan opprettholde gang over det offentlige Internett til innen 10 millisekunder (1 / 100th av et sekund), og kan utføre enda bedre over LAN med nøyaktighet på 200 mikrosekunder (1 / 5000th av et sekund) under ideelle forhold.
NTP arbeider innen TCP / IP-suite og er avhengig av UDP, eksisterer en mindre kompleks form av NTP kalles Simple Network Time Protocol (SNTP) som ikke krever lagring av informasjon om tidligere kommunikasjon, trengs av NTP. Den brukes i noen enheter og applikasjoner der høy nøyaktighet timingen er ikke så viktig.
Mange operativsystemer, inkludert Windows, UNIX og LINUX, kan bruke NTP og SNTP, og 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 - Universal Koordinert Tidskilde som er nøyaktig som det er menneskelig mulig).
Alle Microsoft Windows-versjoner siden 2000 inkluderer Windows Time Service (w32time.exe) som har mulighet til å synkronisere datamaskinens klokke til en NTP-server.
Det er et stort antall Internett-hostede NTP-servere som synkroniseres med eksterne UTC-referanser som time.nist.gov eller ntp.my-inbox.co.uk, men det må bemerkes at Microsoft og andre anbefaler at en ekstern kilde brukes til å synkroniser maskinene dine, da internettbaserte referanser ikke kan godkjennes. Spesialistiske NTP-tidsservere er tilgjengelige som kan synkronisere tid på nettverk ved hjelp av enten MSF (eller tilsvarende) eller GPS-signal.
Den mest brukte er GPS-tidsservere som bruker GPS-systemet til å reléere nøyaktig tid. GPS-systemet består av en rekke satellitter som gir nøyaktig posisjonering og plasseringsinformasjon. Hver GPS-satellitt kan bare gjøre dette ved å bruke en atomur som i sin tur kan være, kan brukes som en tidsreferanse.
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 finnes 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.