Holde tid med Network Time Protocol
Postet av Richard N Williams on April 30th, 2012
Når det kommer til nettverkssynkronisering, Network Time Protocol (NTP) er langt den mest brukte programvareprotokollen. Enten det er for å holde et nettverk av hundrevis eller tusenvis av maskiner synkronisert, eller at en enkelt maskin kjører sant, tilbyr NTP løsningen. Uten NTP, og NTP server, mange av oppgavene vi utfører på internett, fra shopping til nettbank, ville ikke være mulig.
Synkronisering er viktig for nettverk som opererer over internett. Uten synkronisering ville det være kaos. Tenk deg å motta en e-post fra noen fem minutter før den ble sendt eller overført penger til en bruker hvis maskin sier pengene igjen før det kom.
Coordinated Universal Time
For å unngå alle disse problemene, er en enkelt universell tidsskala ansatt over Internett, noe som er det samme uansett hvilken tidssone en maskin ligger i. Coordinated Universal Time (UTC) styres av atomklokker, så det er svært nøyaktig og stabilt.
For datanettverk for å motta UTC bruker de NTP-servere, som mottar tidskilden fra enten GPS-nettverket (Global Positioning System), radiotransmisjoner, eller fra selve Internett. Når mottatt, er det opp til NTP å ta hovedkilden og distribuere den rundt et nettverk for å sikre synkronisering.
Nettverkstidsprotokoll forklart
NTP er en av de eldste protokollene i databehandling. Det går tilbake til når internett var fortsatt i sin barndom, men det har blitt endret og tilpasset for å sikre at det fortsatt er relevant. I hovedsak er NTP en algoritme designet for å bestemme timingen på individuelle datamaskiner og sammenligne dem med UTC-tidskilden. Hvis NTP finner og uoverensstemmelser, justerer den klokken på den fornærmende enheten for å sikre at den samsvarer. NTP gjør dette med en slik nøyaktighet at et nettverk på tusen maskiner kan synkroniseres til noen få millisekunder av hverandre.
NTP vedtar et hierarkisk system. I stedet for at alle enheter på et nettverk er sjekket med NTP-serveren og UTC-tidskilden, tillater protokollen de maskinene nærmest serveren, som skal brukes som referanse til maskiner nedre. Dette unngår en tilstrømning av trafikk til NTP-serveren og tillater en enkelt enhet å opprettholde synkronisering i et nettverk av hundrevis eller tusenvis av enheter.
Leap Seconds
En av de største utfordringene NTP står overfor ved bruk av UTC som tidskilde er at denne universelle tiden er av og til justert for å opprettholde sin korrelasjon med jordens rotasjon. Fordi planeten er litt svakere, er atomklokker som styrer UTC, nøyaktige at selve planeten, så en og annen sekund legges en eller to ganger i året for å sikre at det ikke går noen drift fra dag til natt (selv om en slik prosess ville ta millioner av år).
Disse trinnvise endringene er kjent som Sprang sekunder og identifiseres i signalene som sendes til de fleste NTP-servere. Når NTP oppdager et sprang andre legges til, justerer det automatisk alle enhetene på et nettverk ved å gjenta et sekund. Unnlatelse av å justere for disse sprang sekunder vil føre til at nettverket gradvis går bort fra UTC og blir ute av synkronisering med resten av internettfellesskapet.