Ta emot en tidskälla
Postat av Richard N Williams on September 18th, 2008
A NTP-server ansluts till ett datornätverk med syftet att synkronisera alla datorer, routrar och andra enheter till exakt samma tidpunkt. NTP-servrar använder Network Time Protocol för att justera driften av olika maskiner för att matcha referenstiden.
NTP-servrar är beroende av att använda en referensklocka; De flesta nätverk som använder en NTP-server använder en UTC-källa (UTC). UTC är baserat på den tid som beräknas av de otroligt noggranna och dyra atomklockorna.
Atomklockor arbetar med att en enskild atom (i de flesta fall cesium-133) resoneras i en exakt takt vid vissa energinivåer. Noggrannheten hos atomur är så skicklig att UTC utvecklades för att tillåta internationell atomtid (TAI) och Greenwich Meantime (GMT) att kombineras, vilket möjliggör en saktning av jordens rotation genom att lägga till språng sekunder och därför hålla solen vid jordens meridian vid middagstid.
Om man inte tar hänsyn till detta sakta i jordens snurr skulle det leda till att dag och natt eventuellt går i drift (om än i många årtusenden).
A NTP-server kan ställas in för att ta emot en UTC-tidssignal från hela Internet, även om dessa kan variera enormt i noggrannhet och är beroende av relativt nära avstånd från klient och server.
Att förlita sig på en Internetbaserad tidsreferens kan också låta ett nätverk vara öppet för skadliga användare eftersom de inte kan använda NTP-autentisering, vilket är en säkerhetsåtgärd som används för att säkerställa en tidsreferens är vad den säger att den är.
Många dedikerade NTP-servrar är utformade för att få en mer exakt och autentiserad tidsreferens. En metod använder radioöverföringar som sänds av flera nationella fysiklaboratorier som NIST (National Institute for Standards and Technology) i USA (WWVB-signalen) och NPL (National Physical Laboratory) i Storbritannien (MSF-signalen). Dessa signaler sänds i långvåg och kan plockas upp inom sändningsområdet, även om signalerna kan blockeras av lokala geografiska särdrag.
En annan metod för att få en UTC-timingreferens är att använda atomklockorna ombord på GPS-nätverket (Global Positioning System). Medan GPS är mest känt som ett positionssystem, sänder satelliten faktiskt tidpunktsinformation som används av GPS-mottagare för att beräkna den tid det har rest och därmed avståndet.
Medan GPS-signalerna inte sänds i UTC-format är de mycket exakta och NTP har inga problem med att konvertera dem.
De NTP-server kontrollerar tidsstämpeln från UTC-källan och använder informationen för att beräkna om nätverksklockorna drivs och lägger till eller subtraherar en sekund för att matcha referensklockan. NTP-servern gör det med bestämda intervaller, normalt var 15: e minut för att säkerställa perfekt noggrannhet.
NTP är korrekt inom 1 / 100th av en sekund (10 millisekunder) över det offentliga Internetet och kan fungera ännu bättre över LAN och WANS med noggrannheter av 1 / 5000th av en sekund (200 mikrosekunder) inte oöverträffad.
För att säkerställa ytterligare noggrannhet kör NTP-tjänsten (eller daemon på Linux) i bakgrunden och tror inte på den tid det berättas förrän efter flera utbyten och var och en har gått igenom en protokollspecifikation (ett test), övervägas servern. Det tar vanligtvis cirka fem bra exempel) tills en NTP-server accepteras som en tidkälla.