NTP – förkortning av Network Time Protocol – är ett av de äldsta protokollen på internet idag. Första officiella versionen kom 19851, men tekniken beskrevs redan 198123. NTP används för att synkronisera tiden över ett närverk.

Klocka

Den senaste versionen av NTP-protokollet är version 4, och beskrivs i RFC 59054 från 2010. Sedan dess har ingen ny version kommit, men däremot en rad tillägg och förslag. Senaste är RFC 85735 som beskriver autentisering av meddelanden.

Varför är tidssynkronisering så viktigt?

Att ha en datorklocka som går exakt är viktigt av flera anledningar. Exempelvis baseras många säkerhetsprotokoll som exempelvis Kerberos på att klockan går rätt. Har du servrar på internet är det av stor vikt att klockan går rätt, både för att loggarna ska stämma överens med verkligheten, men även här för att olika säkerhetsprotokoll ska fungera korrekt.

Synkroniserar du din klocka med en NTP-server kommer du få en exakthet på mellan 5–100 ms. Protokollet är byggt för att kompensera för lagg på nätverket.

Hur fungerar det och varifrån kommer tiden?

NTP-protokollet är hierarkiskt uppbyggd. Längst upp i hierarkin finns enheter som kallas för Stratum 0. Detta är dessa enheter som levererar tiden till de första servrarna i hierarkin, på den lägre nivån. Dessa enheter är ofta atomur, radioklockor eller GPS-klockor. Dessa enheter benämns också som referensklockor.

Nästa nivå är Stratum 1. Detta är således maskinerna som hämtar tiden från atomur, radioklockor eller GPS-klockor. Stratum 1-servrar är alltså de första NTP-servrarna i hierarkin.

På nästa nivå finns Stratum 2. Detta är servrar (och även vissa klienter) som hämtar sin tid från Stratum 1-servrarna.

Därefter har vi Stratum 3. Detta är oftast klienter, alltså vanliga datorer, som hämtar sin tid från Stratum 2-servrar.

ANNONS FÖR VÅRA EGNA BÖCKER Demonerna på internet

Med andra ord kan stratum beskrivas som antalet steg eller hopp från referensklockan. En stratum 3-enhet befinner sig alltså 3 hopp från referensklockan. Maximala antalet steg är 156.

Stratum

Var hittar jag NTP-servrar och hur använder jag dem?

Det finns idag ett stort kluster av NTP-servrar – kallat NTP Pool Project – som drivs på frivillig basis av Ask Bjørn Hansen. I den svenska NTP-poolen7 finns i skrivande stund 36 IPv4-servrar och 26 IPv6-servrar.

För att använda den svenska poolen lägger du in följande adresser i ditt operativsystem. Hur du gör detta skiljer sig från system till system. De flesta stora Linuxdistributioner använder redan NTP-poolen som standard (men ofta en vendor-zon).

0.se.pool.ntp.org
1.se.pool.ntp.org
2.se.pool.ntp.org
3.se.pool.ntp.org

När du angett dessa adresser i ditt operativsystem, kommer din dators klocka att synkroniseras med jämna mellanrum mot en slumpvis vald NTP-server ur poolen.

Det finns mängder av enheter som kan synkronisera sin klocka mot NTP-servrar, alltifrån datorer, surfplattor och VoIP-telefoner till nätverksanslutna väggklockor och väckarklockor.

Referenser