Håller tid med Network Time Protocol
Postat av Richard N Williams on April 30th, 2012
När det gäller att nätverkssynkronisering, Network Time Protocol (NTP) är det överlägset mest använda mjukvaruprotokollet. Oavsett om det är för att hålla ett nätverk av hundratals eller tusentals maskiner synkroniserade, eller att en enda maskin körs sant, erbjuder NTP lösningen. Utan NTP, och NTP-server, många av de uppgifter vi utför på internet, från shopping till onlinebankning, skulle helt enkelt inte vara möjligt.
Synkronisering är avgörande för nätverk som fungerar över internet. Utan synkronisering skulle det finnas kaos. Tänk dig att ta emot ett mail från någon fem minuter innan det skickades eller överför pengar till en användare vars maskin säger pengarna kvar innan den kom fram.
Koordinerad universell tid
För att undvika alla dessa problem används en enda universell tidsskala över internet, vilket är detsamma oavsett vilken tidszon en maskin finns. Koordinerad universell tid (UTC) styrs av atomur, så det är mycket noggrant och stabilt.
För datanätverk för att ta emot UTC använder de NTP-servrar, vilka tar emot tidskällan från antingen GPS-nätverket (Global Positioning System), radiosändningar eller från själva Internet. När den är mottagen är det upp till NTP att ta huvudkällan och distribuera den runt ett nätverk för att säkerställa synkronisitet.
Förklarade nätverkstidsprotokoll
NTP är ett av de äldsta protokollen i databehandling. Det går tillbaka till när internet fortfarande var i sin linda, men det har ändrats och anpassats för att det fortfarande är relevant. I grund och botten är NTP en algoritm utformad för att bestämma tidpunkten på enskilda datorer och jämföra dem med UTC-tidskällan. Om NTP upptäcker och avviker, justerar den klockan på den förekommande enheten för att säkerställa att den matchar. NTP gör det med en sådan noggrannhet att ett nätverk av tusen maskiner kan synkroniseras till inom några millisekunder av varandra.
NTP antar ett hierarkiskt system. I stället för att alla enheter i ett nätverk har kontrollerats med NTP-servern och dess UTC-källa, tillåter protokollet de maskiner som ligger närmast servern, för att användas som referens till maskiner som ligger neråt. Detta undviker en tillströmning av trafik till NTP-servern och tillåter en enda enhet att behålla synkronisering i ett nätverk av hundratals eller till och med tusentals enheter.
Skottsekunder
En av de största utmaningarna som NTP står inför för att använda UTC som tidskälla är att denna universella tid justeras ibland för att upprätthålla sin korrelation med jordens rotation. Eftersom planeten någonsin är så svagt långsammare, är atomklockorna som styr UTC UTC noggranna att planeten själv, så en enstaka sekund läggs till en eller två gånger per år för att säkerställa att det inte går någon drift från dag till natt (även om en sådan process skulle ta miljontals år).
Dessa inkrementella förändringar är kända som Språng sekunder och identifieras i signalerna som skickas till de flesta NTP-servrar. När NTP upptäcker ett steg som andra läggs till, justerar det automatiskt alla enheter på ett nätverk genom att upprepa en sekund. Underlåtenhet att justera för dessa språng sekunder skulle leda till att nätverket gradvis glider bort från UTC och blir synkroniserat med resten av internetgemenskapen.