Network Time Protocol

Från Wikipedia
Hoppa till: navigering, sök

NTP eller Network Time Protocol är ett protokoll för att synkronisera tiden i ett nätverk med varierande svarstider. Det är speciellt designat för att motstå effekterna av varierande lagg (jitter). NTP använder UDP-porten 123 som sitt transportskikt.

NTP skapades av Dave Millis från University of Delaware, och släpptes 1984[1] och är ett av de äldsta protokollen som fortfarande används idag. Han har sedan fortsatt underhålla protokollet med ett team av frivilliga personer.

Överblick[redigera | redigera wikitext]

NTP använder Marzullos algoritm med tidsformatet UTC och har stöd för flera funktioner . En sådan funktion är tillägg av skottsekunder. NTPv4 kan normalt uppehålla en hastighet inom 10 millisekunder över internet och uppnå en noggrannhet av 200 mikrosekunder eller bättre i ett lokalt nätverk under ideala förhållanden.

En så kallad ”NTP Unix daemon” är en process som körs oavbrutet på en maskin med stöd för NTP och det mesta av protokollet är implementerat i denna process. För att få den bästa prestandan från NTP är det viktigt att ha en PLL-krets på operativsystemskärnan, istället för att bara använda den externa NTP daemon – alla de senaste versionerna av Linux, BSD och Solaris operativsystem har sådant stöd.

Ett mindre avancerat alternativ till NTP kallas Simple Network Time Protocol (SNTP). Den kräver ingen lagring av information om skapade förbindelser och kan användas när man inte behöver exaktheten hos NTP.

Gula pilar visar direkta förbindelser, röda pilar visar nätverksanslutningar.

Clock strata[redigera | redigera wikitext]

NTP använder ett hierarkiskt system för att skapa bättre kommunikation och det systemet kallas för ”clock strata”. Dessa strata innefattar:

Stratum 0 är enheter så som atomur, GPS klockor och andra former av radiobaserade klockor. Detta är högsta nivån i hierarkin

Stratum 1 kallas även för primära NTP servrar. Stratum 1 servrar hämtar sin tid direkt från stratum 0 enheter via direktkopplingar, så som RS-232.

Stratum 2 kallas även för sekundära NTP servrar. Dessa hämtar sin tid från stratum 1 servrarna, det vill säga från de primära servrarna.

Stratum 3 hämtar sin tid från stratum 2 servrar och fungerar på samma sätt som en stratum 2 server i övrigt. Andra servrar kan i sin tur hämta tid från en stratum 3 server.

För varje nivån minskar exaktheten något, dock knappt märkbart för normal användning. För NTP version 4 är den maximala strata nivån 16[2]

NTP i Sverige[redigera | redigera wikitext]

1993 etablerades en svensk NTP server via företaget STUPI AB. Televerket/Telia hade tidigare krävt 100 000 USD per år för samma tjänst men STUPI lyckades ordna detta för en startkostnad på 5000 USD. Då Telia själva började använda nättjänsten men inte önskade betala samma belopp för sitt användande så blev Telias nät spärrat med BGP filtrering.[3]

Källor[redigera | redigera wikitext]

  1. ^ Mills, David L (18 maj 2005). ”“A Maze of Twisty, Turney Passages” – Routing in the Internet Swamp (and other adventures)”. University of Delaware. sid. s. 39. http://www.eecis.udel.edu/~mills/database/brief/goat/goat.pdf. 
  2. ^ RFC5905, 7.2. Global Parameters, s. 16
  3. ^ ”Svensk Tele Utveckling & Produkt Innovation STUPI AB”. internetdagarna.se. 2010-01-21. sid. 3,8. http://www.internetdagarna.se/arkiv/2007/11-tid/i2007_peter_lothberg.pdf. Läst 24 september 2013.