Forstå Computer Timestamps med NTP
Postet av Richard N Williams on September 8th, 2008
Måten en datamaskin behandler med tiden, er helt annerledes enn menneskene oppfatter. Vi ordner tiden i sekunder, minutter, timer, dager, uker, måneder og år, mens datamaskiner derimot ordner tid som et enkelt nummer som representerer sekunder som har gått fra et enkelt tidspunkt, kjent som prime epoken.
De fleste datamaskiner bruker NTP (Network Time Protocol) for å håndtere tid og på nettverk mange synkroniseres ved hjelp av en dedikert NTP-tidsserver. NTP vet ingenting om dager, år eller århundrer, bare sekunder fra prime epoken. Denne primære epoken er satt (for de fleste systemer) ved midnatt ved århundreskiftet tjuende århundre som for et menneske ville bli registrert som noe som: 00: 00 - 01,01,1900.
Datamaskiner teller imidlertid tid som antall sekunder forbi dette punktet. Hvis en datamaskin var i 1900, var tidsstempel om midnatt januar 1 0, mens i 1972 samme dato var tidsstempelet 2,272,060,800, som representerer antall sekunder siden 1900.
Tidsstemplene starter hver 136-år med neste vikle rundt på grunn i 2036, dette har forårsaket uro blant noen som frykter et scenario med Millennium Bug-typen, selv om de fleste tvil om slike hendelser vil oppstå, men når en vikling av tidsstempel skjer æra heltall vil bli lagt til (+ 1), slik at datamaskiner kan håndtere tidsforbruk som dekker mer enn en omgang. Hvis datamaskiner og NTP trenger å håndtere tid som strekker seg over prime epoken, brukes et negativt heltall (for år 1500 vil a-3 brukes til å representere tre sykluser i 136 år).
Timestamps brukes i nesten alle transaksjoner som moderne datamaskiner har til oppgave å gjøre, for eksempel å sende e-post, feilsøking og programmering. Fordi tiden er lineær, vet en datamaskin at hver tidsstempel alltid er større enn den forrige, og derfor finner datamaskiner og NTP det vanskelig å håndtere unøyaktigheter i tide, spesielt når tiden plutselig ser ut til å gå bakover.
Dette kan skje hvis datamaskiner ikke er synkronisert til samme tid. Hvis en e-post sendes til en maskin med en langsommere klokke, ser det ut til at datamaskinen har blitt mottatt før den er sendt. Mangel på synkronisering kan føre til alvorlige problemer og kan til og med la et system være sårbart for ondsinnede angrep og til og med svindel.
På grunn av dette synkroniseres de fleste datanettverk til UTC (Koordinert Universal Time). UTC er en global tidsskala, og det samme for alle verdensomspennende er det basert på tiden som ble fortalt av atomklokker som er svært nøyaktige, og hverken får eller mister et sekund i millioner av år.
De fleste datanettverk bruker en dedikert Ntp tid å motta en UTC-tid for å synkronisere sine datamaskiner også. UTC er tilgjengelig fra hele Internett (selv om det ikke er sikret), via GPS-nettverket (Global Positioning System), eller ved å motta nasjonale tids- og frekvenssendinger via lang bølge.
NTP synkroniserer en datamaskin ved å sjekke mottatt UTC-tid og legge til eller holde en datamaskinens tidsstempel til den passer perfekt til UTC. Ved å bruke en dedikert NTP-tidsserver, kan UTC opprettholdes på et nettverk til noen millisekunder av UTC-tid.