Nettverkstidsprotokoll (NTP), Forståelse av synkronisering.
Postet av Richard N Williams on Oktober 7th, 2008
Network Time Protocol synes å ha eksistert for alltid. Faktisk er det faktisk en av internettets eldste protokoller som har blitt utviklet i 1980s av professor David Mills og hans team fra Delaware University.
I en tilbaketrukket verden er det ikke viktig om datanettverk ikke er synkronisert. De eneste konsekvensene av timingfeil kan være at en epost kommer før den ble sendt, men i bransjer som for eksempel plassering av flyselskaper, børs eller satellittkommunikasjon, kan fraksjoner av et sekund føre til alvorlige feil som å selge seter mer enn en gang, tapet av millioner av dollar eller til og med svindel.
Datamaskiner er logiske maskiner, og ettersom tiden er lineær til en datamaskin, skal enhver hendelse som skjer på en maskin, skje før nyheten om hendelsen når en annen. Når nettverk ikke synkroniseres, sliter datamaskiner seg til å håndtere hendelser som åpenbart har skjedd (for eksempel en epost som sendes), men i henhold til deres klokke og tidsstempel har den ennå ikke, bare tenk tilbake til årtusensbuggen hvor det var fryktet klokker ville hopp tilbake til 1900!
Av denne grunn ble NTP utviklet. NTP bruker en algoritme (Marzullos algoritme) for å synkronisere tiden med den nåværende versjonen av NTP kan opprettholde tid over det offentlige Internett til innen 10 millisekunder og kan utføre enda bedre over LAN. NTP-tidsservere jobber i TCP / IP-pakken og stole på UDP (User Datagram Protocol).
NTP-servere er normalt dedikerte NTP-enheter som bruker en enkelt referanse til å synkronisere et nettverk til. Denne tidsreferansen er oftest en UTC (Koordinert Universal Time) kilde. UTC er en global tidsskala som distribueres av atomur via Internett, spesialiserte langbølge-radiotransmisjoner eller via GPS-nettverket (Global Positioning System).
NTP-algoritmen bruker denne tidsreferansen til å bestemme mengden som skal forskyves eller trekkes tilbake til systemet eller nettverksklokken. NTP analyserer tidsstempelets verdier, inkludert frekvensen av feil og stabiliteten. En NTP-server vil opprettholde et estimat på kvaliteten på både referanseklokkene og seg selv.
NTP er hierarkisk. Avstanden fra tidsreferansen er delt inn i lag. Stratum 0 er atomurreferansen; Stratum 1 er NTP-serveren, mens Stratum 2 er en server som mottar timinginformasjon fra NTP-serveren. NTP kan støtte nesten ubegrensede lag, selv om jo lenger unna timingreferansen du går, desto mindre nøyaktig vil det være.
Siden hvert lagnivå kan både motta og sende tidssignaler, er fordelen med dette hierarkiske systemet at tusenvis av maskiner kan synkroniseres med bare behovet for en NTP-server.
NTP inneholder et sikkerhetsmål som kalles godkjenning. Autentisering verifiserer at hver tidsstempel har kommet fra den tiltenkte tidsreferansen ved å analysere et sett med krypteringsnøkler som sendes med tidsreferansen. NTP analyserer det og bekrefter om det har kommet fra tidskilden ved å verifisere det mot et sett med pålitelige nøkler i konfigurasjonsfilene.
Autentisering er imidlertid utilgjengelig fra timing kilder fra over Internett, hvorfor Microsoft og Novell blant annet anbefaler sterkt at kun eksterne tidsreferanser brukes som en dedikert GPS NTP server eller en som mottar den nasjonale tid og frekvensen langbølgeoverføring.