Hur en NTP-server Works
Postat av Richard N Williams on Januari 30th, 2008
Network Time Protocol (NTP) är ett av Internetens äldsta protokoll som fortfarande används. Inventad av Dr David Mills från University of Delaware har den använts sedan 1985. NTP är utformad för att synkronisera klockorna på datorer och nätverk över Internet eller lokala nätverk (LAN).
NTP (för närvarande version 4) är faktiskt tre saker i ett; ett program som körs i bakgrunden av Windows eller UNIX; ett protokoll som utbyter tidsvärden mellan servrar och klienter; och en serie algoritmer som behandlar tidsvärdena för att fördjupa eller återgå till systemklockan.
NTP använder en algoritm (Marzullos algoritm) för att synkronisera tiden på ett nätverk med hjälp av en tidsreferens. Även om nätverk kan synkroniseras med interna klockor eller Internetbaserade tidsreferenser, rekommenderas det av Microsoft och andra att en extern tidsreferens bör användas för att garantera autentisering. En absolut timingreferens bör använda UTC (Coordinated Universal Time eller Temps Universel Coordonné) som stöder sådana funktioner som språng sekunder - läggs till för att kompensera för saktning av jordens rotation.
NTP arbetar inom TCP / IP och förlitar sig på UDP, finns ett mindre komplex form av NTP kallas Simple Network Time Protocol (SNTP) som inte kräver lagring av information om tidigare kommunikation, som behövs av NTP. Det används i vissa enheter och applikationer där hög noggrannhet timing är inte lika viktigt, är det också ingår i de flesta Windows-operativsystem, men nyare versioner har hela NTP redan installerat, vilket också är gratis att ladda ner via Internet.
Synkronisering med NTP är relativt enkelt, det synkroniserar tid med hänvisning till en pålitlig klockkälla, såsom en atomklocka, även om dessa är extremt dyra och är endast i allmänhet återfinns i storskaliga fysik laboratorier emellertid NTP kan antingen använda Global Positioning (GPS) nätverk eller specialist radioöverföring för att ta emot UTC-tid ur dessa klockor.
NTP använder tidsstämplar för att representera den aktuella tiden på dagen varje tidsstämpel är kortlivad, med andra ord är alltid större än den tidigare tidsstämpel som tiden går aldrig bakåt. NTP analyserar tidsstämpelvärden inklusive felfrekvensen och stabiliteten. En NTP-server kommer att upprätthålla en uppskattning av kvaliteten på sina referensklockor och av sig själv.
Avståndet från referensklockan är känt som stratum nivåer och de för att hindra cykler i NTP. Stratum 0 är anordningar såsom referensklockor anslutna direkt till en dator. Stratum 1 finns datorer anslutna till stratum 0 enheter medan stratum 2 är datorer som skickar NTP förfrågningar till Stratum 1 servrar. NTP kan hantera upp till 256 strata.
NTP tidsstämplar är i två format, men de relä sekunder från en uppsättning tidpunkt (känd som den främsta epoken, inställd på 00: 00 1 januari 1900) NTP-algoritmen använder sedan denna tidsstämpel att fastställa det belopp som avancera eller retirera systemet eller nätverksklockan.
NTP-programmet (känt som en demon på UNIX och en tjänst på Windows) körs i systembakgrunden. NTP vägrar att tro på den tid den får veta tills flera paketutbyten har ägt rum, var och en överensstämmer med en uppsättning test. Endast om svaren från en server uppfyller testet, känt som protokollspecifikationer, betraktas servern. Det tar vanligtvis ungefär fem minuter (fem bra exempel) tills en NTP-server accepteras som en synkroniseringskälla.
En typisk GPS-tidsserver kan tillhandahålla tidsinformation till några nanosekunder i UTC så länge som det finns en antenn belägen med en bra utsikt över himlen.
Det finns också ett antal nationella tid- och frekvensradioöverföringar som kan användas för att synkronisera en NTP-server. I Storbritannien sänds signalen (kallad MSF) av National Physics Laboratory i Cumbria som fungerar som Förenade kungarikets nationella tidsreferens. Det finns också liknande system i Colorado, USA (WWVB) och i Frankfurt, Tyskland (DCF-77). Dessa signaler ger UTC-tid till en noggrannhet av 100-mikrosekunder, men radiosignalen har ett begränsat intervall och är sårbart för störningar.