Hur en NTP-server Works
Network Time Protocol (NTP) är en av Internets äldsta protokoll som fortfarande är i bruk. Uppfanns av Dr David Mills från University of Delaware har 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 en; ett program som körs i bakgrunden av Windows eller UNIX; ett protokoll som utbyter tidsvärden mellan servrar och klienter; och en svit av algoritmer som bearbetar tidsvärdena att avancera eller retirera systemklockan.
NTP använder en algoritm (Marzullo algoritm) för att synkronisera tiden i ett nätverk med hjälp av en tidsreferens. Även nätverk kan synkroniseras med interna klockor eller Internetbaserade tidsreferenser, är det starkt rekommenderat av Microsoft och andra att en extern timing referens bör användas för att garantera autentisering. En absolut tidsreferens bör använda UTC (Coordinated Universal Time eller Temps Universel Coordonné) som stöder sådana funktioner som skottsekunder - sattes för att kompensera för den långsammare 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änd som en demon på UNIX och en tjänst på Windows) körs i system bakgrunden. NTP vägrar att tro den tid det berättas förrän flera paket utbyten har ägt rum, var för sig går en uppsättning av tester. Endast om svaren från en server uppfyller testet, känd som protokollspecifikationer, är servern beaktas. Det brukar ta ungefär fem minuter (fem bra prover) tills en NTP-server accepteras som en synkroniseringskälla.
En typisk GPS-tidsserver kan tillhandahålla tidsinformation till inom några få nanosekunder av UTC så länge som det finns en antenn belägen med en god sikt mot himlen.
Det finns också ett antal nationella tid och frekvens radiosändningar som kan användas för att synkronisera en NTP-server. I Storbritannien signalen (kallad MSF) sänds av National Physics Laboratory i Cumbria som fungerar som Storbritanniens nationella tidsreferens, det finns också liknande system i Colorado, USA (WWVB) och i Frankfurt, Tyskland (DCF-77). Dessa signaler ger UTC-tid med en noggrannhet av 100 mikrosekunder har emellertid radiosignalen ett ändligt intervall och är känsliga för störningar.