Network Time Protocol (NTP), Förstå synkronisering.
Postat av Richard N Williams on Oktober 7th, 2008
Network Time Protocol verkar ha funnits för evigt. Det är faktiskt en av Internetets äldsta protokoll som har utvecklats i 1980s av professor David Mills och hans team från Delaware University.
I en avslappnad värld spelar det ingen roll om datanät inte synkroniseras. De enda konsekvenserna av tidsfel kan vara att ett mail kommer innan det skickades men i industrier som flygbolagets platsbokning, börsen eller satellitkommunikationen kan fraktioner av en sekund orsaka allvarliga fel som att sälja platser mer än en gång, förlusten av miljoner dollar eller till och med bedrägerier.
Datorer är logiska maskiner och eftersom tiden är linjär till en dator måste varje händelse som händer på en maskin ske innan nyheten om händelsen når en annan. När nätverk inte är synkroniserade kämpar datorer för att hantera händelser som uppenbarligen har inträffat (som ett e-postmeddelande skickas) men enligt deras klocka och tidsstämpel har det ännu inte funnits, bara tänka tillbaka till millenniumbuggen där det var rädda klockor skulle Hoppa tillbaka till 1900!
Av denna anledning har NTP utvecklats. NTP använder en algoritm (Marzullos algoritm) för att synkronisera tiden med den nuvarande versionen av NTP kan behålla tid över det offentliga Internet till inom 10 millisekunder och kan fungera ännu bättre över LAN. NTP-tidsservrar arbetar inom TCP / IP-paketet och är beroende av UDP (User Datagram Protocol).
NTP-servrar Normalt är dedikerade NTP-enheter som använder en enda tidsreferens för att synkronisera ett nätverk till. Denna tidsreferens är oftast en UTC (Koordinerad Universal Time) -källa. UTC är en global tidsskala som distribueras av atomklockor via Internet, specialistlängdsradioöverföringar eller via GPS-nätverket (Global Positioning System).
NTP-algoritmen använder denna tidsreferens för att bestämma mängden för att avancera eller returera systemet eller nätverksklockan. NTP analyserar tidstempelens värden inklusive frekvensen av fel och dess stabilitet. En NTP-server kommer att behålla en uppskattning av kvaliteten på både referensklockorna och sig själv.
NTP är hierarkisk. Avståndet från tidsreferensen är uppdelad i strata. Stratum 0 är atomklockreferensen; Stratum 1 är NTP-servern, medan Stratum 2 är en server som tar emot timinginformation från NTP-servern. NTP kan stödja nästan obegränsade lag, även om det längre bort från timingreferensen du går, desto mindre exakt blir det.
Eftersom varje stratumnivå både kan ta emot och skicka timingssignaler är fördelen med detta hierarkiska system att tusentals maskiner kan synkroniseras med endast behovet av en NTP-server.
NTP innehåller en säkerhetsåtgärd som kallas autentisering. Autentisering verifierar att varje tidsstämpel har kommit från den avsedda tidsreferensen genom att analysera en uppsättning krypteringsnycklar som skickas med tidsreferensen. NTP analyserar det och bekräftar om det har kommit från tidskällan genom att verifiera det mot en uppsättning betrodda nycklar i dess konfigurationsfiler.
Autentisering är dock inte tillgänglig från tidskällor från hela Internet, varför Microsoft och Novell bland annat rekommenderar starkt endast externa tidsreferenser används som en dedikerad GPS NTP-server eller en som mottar den nationella tid och frekvens långvågsöverföring.