Wat is NTP? Een beginnersgids voor het Network Time Protocol
NTP is een internetprotocol dat wordt gebruikt om de klokken op computernetwerken te synchroniseren tot op enkele milliseconden van de gecoördineerde wereldtijd (UTC). Hiermee kunnen apparaten UTC aanvragen en ontvangen van een server die op zijn beurt de precieze tijd ontvangt van een atoomklok.
Waarom is tijdsynchronisatie belangrijk?
Wat is UTC en hoe wordt het bepaald?
Zo kunt u uw netwerk synchroniseren met een interne NTP-server
Wat is NTP?
"Een man met één horloge weet hoe laat het is. Een man met twee horloges weet het nooit precies."
De wet van Segal steekt de draak met de persoon die geen moeite doet om te controleren of hij gelijk heeft en benadrukt de complexiteit van het ontvangen van informatie uit meer dan één bron.
Voor de synchronisatie van uw activiteiten lost het network time protocol (NTP) beide problemen op en biedt het gebruikers de zekerheid van een nauwkeurige tijd in een heel netwerk van apparaten.
Zoals elk netwerkprotocol is NTP een verzameling regels, of conventies, die voorschrijven hoe apparaten op een netwerk gegevens moeten verzenden, ontvangen en begrijpen. Zie het als een gedeelde taal, waarmee apparaten kunnen communiceren, in dit geval over tijd.
Met NTP kunnen netwerkapparaten, zoals klokken, telefoons en computers, tijd opvragen en ontvangen van een server die op zijn beurt de precieze tijd ontvangt van een definitieve tijdbron, zoals een atoomklok.
NTP is ontwikkeld in de jaren tachtig en is nu aan versie vier toe. Sinds de introductie wordt het gebruikt om de kritische systemen van bedrijven, organisaties en overheden over de hele wereld te synchroniseren.
Waarom is tijdsynchronisatie belangrijk?
Nu het leven gedigitaliseerd en geautomatiseerd wordt, wordt exacte tijd steeds belangrijker:
- De telecommunicatiesector vertrouwt op nauwkeurige tijd voor de overdracht van enorme hoeveelheden gegevens.
- Nutsbedrijven gebruiken tijdsynchronisatie om de stroomdistributie te beheren.
- Financiële diensten hebben een exacte tijd nodig om transacties te timen en traceerbare records te garanderen.
- Satellietnavigatie is afhankelijk van een precieze tijd, waarbij een verschil van één microseconde een plaatsbepalingsfout van 300 meter kan veroorzaken.
- CCTV- en snelheidscamera's hebben een nauwkeurige tijdstempel nodig om als bewijsmateriaal te kunnen dienen.
- Talloze bedrijven vertrouwen op precieze tijd om hun dagelijkse processen te beheren, zoals het synchroniseren van inkloksystemen.
Voor organisaties van elke omvang is NTP een kosteneffectieve, betrouwbare en gebruiksvriendelijke methode om precieze tijd te verspreiden over een netwerk, waardoor gebruikers hun productiviteit kunnen verhogen, hun klantenservice kunnen verbeteren, de veiligheid kunnen vergroten en nog veel meer.
Door NTP te gebruiken voor synchronisatie met UTC - een wereldwijde tijdstandaard - kunnen organisaties en regeringen bovendien internationale operaties coördineren.
Wat is UTC en hoe wordt het bepaald?
UTC is de standaard die de wereld is overeengekomen als basis voor de civiele tijd. Het is het resultaat van een decennialang proces van uitvinding, herziening en samenwerking, waarin de standaard van Greenwich Mean Time (GMT), naar Atomic Time (TAI), naar UTC ging.
Belangrijk is dat UTC een tijdstandaard is, geen tijdzone, wat betekent dat het overal ter wereld hetzelfde is en niet wordt beïnvloed door de zomertijd. In feite worden tijdzones uitgedrukt volgens hun afwijking van UTC (+/- het aantal uren). UTC wordt gehandhaafd door meer dan 200 atoomklokken over de hele wereld met elkaar te vergelijken. Het Bureau International des Poids et Measures (BIPM) in Frankrijk is verantwoordelijk voor het verzamelen van deze gegevens en het genereren van de definitieve UTC-tijd.
Hoe werkt NTP?
NTP maakt UTC beschikbaar voor een organisatie door een tijdsignaal te nemen van één of meer atoomklokken en dit te distribueren naar netwerkapparatuur.
In de basis bestaat een NTP-netwerk uit de te synchroniseren apparaten (clients genoemd) en een NTP-server, die de UTC-tijd ontvangt en aan de clients doorgeeft.
De clients en de server communiceren in een reeks verzoeken en antwoorden:
- De client stuurt een NTP-aanvraagpakket naar de tijdserver, waarbij de tijd wordt gestempeld (de oorspronkelijke tijdstempel).
- De server stempelt het tijdstip waarop het aanvraagpakket wordt ontvangen (de tijdstempel van ontvangst).
- De server stempelt de tijd opnieuw wanneer hij een antwoordpakket terugstuurt naar de client (de tijdstempel van verzenden).
- De client stempelt het tijdstip waarop het antwoordpakket wordt ontvangen (de tijdstempel van de bestemming).
Dit proces duurt slechts een paar microseconden, maar de tijdstempels stellen de client in staat rekening te houden met de vertraging in het traject en het verschil uit te rekenen tussen zijn interne tijd en de door de server verstrekte tijd, en zichzelf zo nodig aan te passen en de synchronisatie in stand te houden.
NTP-hiërarchie: Uitleg over de Stratum-niveaus
Op grote netwerken kunnen er zoveel clients zijn dat de server niet alle verzoeken kan verwerken. In deze gevallen zijn servers en clients gerangschikt in een hiërarchie van niveaus die stratums worden genoemd.
Stratum 1-servers hebben een directe verbinding, via een radio- of GPS-signaal, met de primaire tijdbron, en zij leveren die tijd aan clients op stratum 2 via een netwerkverbinding.
Op hun beurt kunnen apparaten van stratum 2 functioneren als een server door tijd te leveren aan clients van stratum 3 en die van stratum 3 kunnen tijd leveren aan die van stratum 4, enzovoort. Op die manier worden stratum 1-apparaten niet overbelast met te veel verzoeken.
In totaal zijn 15 gesynchroniseerde stratumniveaus mogelijk (stratum 16 is voor niet-gesynchroniseerde clients), maar elk niveau introduceert een extra laag netwerkvertraging, waardoor de nauwkeurigheid afneemt. Om dit tegen te gaan kunnen NTP-clients worden ingesteld om de tijd op te vragen bij meerdere servers, zodat ze de juiste tijd zo goed mogelijk kunnen bepalen.
Wat is SNTP en waarin verschilt het?
Simple network time protocol (SNTP) is precies wat de naam suggereert: een simpelere versie van NTP die geschikt is voor kleine netwerken en computers met beperkte rekenkracht.
SNTP en NTP hebben verschillende overeenkomsten. Zo zijn de datapakketten die tussen de clients en de tijdserver worden uitgewisseld identiek, waardoor elke tijdserver compatibel is met beide.
SNTP mist echter de vele algoritmen die NTP gebruikt om de synchronisatie te bepalen en in stand te houden.
In de praktijk berekent NTP bijvoorbeeld de mate waarin een bepaalde klok afwijkt van de werkelijke tijd en past dit aan om de synchronisatie van de klok in stand te houden. SNTP daarentegen staat toe dat de klok afwijkt en springt dan in tijd vooruit of terug om met bepaalde tussenpozen overeen te komen met de werkelijke tijd.
Tussen deze intervallen is het mogelijk dat de klok niet synchroon loopt, wat SNTP ongeschikt maakt voor toepassingen die de hoogste nauwkeurigheid vereisen.
SNTP verschilt ook in het aantal servers dat gebruikt wordt voor synchronisatie. Terwijl NTP clients op de ene laag toestaat als server op te treden voor clients op de volgende, is SNTP gebaseerd op een enkele server-clientrelatie.
Extra tijdservers kunnen worden opgegeven als back-up, maar SNTP kan, in tegenstelling tot NTP, niet met meerdere servers communiceren om te bepalen welke de meest nauwkeurige is. SNTP werd in het begin van de jaren negentig uitgebracht om tegemoet te komen aan de beperkte rekenkracht van de toenmalige computers. Tegenwoordig zijn er weinig gevallen waarin NTP niet kan worden gebruikt, maar SNTP kan nog steeds nuttig zijn voor eenvoudige toepassingen die niet het hogere nauwkeurigheidsniveau van NTP vereisen.
Openbare NTP-servers vs. lokale NTP-servers
Er zijn twee soorten NTP-servers die u kunt gebruiken om uw netwerk van UTC-tijd te voorzien: openbare servers en lokale servers.
Een openbare tijdserver is eigendom van en wordt beheerd door een derde partij die hem beschikbaar stelt voor gebruik via het internet. Het NTP Pool Project biedt een online directory van openbare servers, zodat u uw clients gratis naar een van deze servers kunt verwijzen.
Lokale (oftewel interne) NTP-servers zijn die waarvan u zelf eigenaar bent en die u in uw bedrijf installeert, waarbij u een fysieke netwerkverbinding tot stand brengt tussen uw servers en clients.
Als gesynchroniseerde tijd cruciaal is voor uw activiteiten, dan zijn interne tijdservers de veiligste en betrouwbaarste optie. Zij bieden een grotere nauwkeurigheid en meer controle, terwijl de verschillende nadelen van openbare servers worden vermeden:
Openbare tijdservers | Lokale tijdservers |
---|---|
Eigendom van en beheerd door derden. Beschikbaarheid is niet gegarandeerd. | Uw eigendom en altijd onder controle. |
Synchronisatie is afhankelijk van een betrouwbare internetverbinding. | De synchronisatie blijft bestaan als de internetverbinding wegvalt. |
Vereisen een open poort in uw firewall, waardoor uw netwerk kwetsbaar wordt. | Zit binnen uw firewall en handhaaft de netwerkbeveiliging. |
Er is sprake van congestie bij toegang door een groot aantal gebruikers. | Alleen door u gebruikt, waardoor u 24/7 toegang heeft. |
Kan een lange trajectvertraging met zich meebrengen, waardoor de nauwkeurigheid van SNTP-clients, die geen rekening kunnen houden met netwerkvertraging, afneemt. | Minimale trajectvertraging, waardoor lokale servers nauwkeuriger zijn voor de gebruikers van SNTP. |
Kan onderhevig zijn aan snelheidsbegrenzing, wat het aantal tijdsaanvragen beperkt dat uw clients aan de server kunnen doen. Het overschrijden van snelheidsbegrenzing kan leiden tot een verbod. | U kunt uw eigen tarieflimieten instellen en zoveel clients gebruiken als u wilt — ideaal voor grote netwerken. |
Zo kunt u uw netwerk synchroniseren met een interne NTP-server
Om een NTP-netwerk met een interne tijdserver op te zetten, zijn een aantal dingen nodig:
- Een referentieklok/tijdbron die de ware tijd bepaalt en doorgeeft.
- Een tijdontvanger, in de vorm van een radio- of GPS-antenne.
- Een NTP-server, die de tijd van de antenne ontvangt en aan een netwerk doorgeeft.
- De te synchroniseren apparaten/clients.
Referentieklokken
Een referentieklok is de primaire tijdbron die de UTC-tijd definieert en levert. Atoomklokken zijn het meest nauwkeurige type referentieklok, met een onvoorstelbare precisie.
Zo meet de NIST-F2, gemaakt door het Amerikaanse National Institute of Standards and Technology, de trilling van een cesiumatoom om een seconde te bepalen (9.192.631.770 trillingen per seconde). Als de klok zonder onderbreking zou lopen, zou hij na 300 miljoen jaar geen seconde voor- of achterlopen.
Gelukkig hoeft u geen atoomklok in uw serverruimte te installeren om de tijd nauwkeurig te ontvangen. Ze zijn geïnstalleerd in de satellieten van het Global Positioning System, en ze worden onderhouden in de laboratoria van nationale normalisatie-instellingen over de hele wereld. Deze klokken zenden tijdsignalen uit die u kunt oppikken en gebruiken om uw eigen netwerk te synchroniseren.
Tijdontvangers
Elke GPS-satelliet zendt een tijdsignaal uit dat iedereen met een GPS-antenne kan ontvangen. Het wereldwijde positioneringssysteem is zo ontworpen dat ten minste vier satellieten voortdurend beschikbaar zijn vanaf elke plek ter wereld, waardoor het een zeer betrouwbare bron van nauwkeurige tijd is.
Als alternatief ontvangen radio-antennes een tijdsignaal van een van de verschillende atoomklokken op aarde. Het bereik van deze signalen is gelokaliseerd, dus gebruikers moeten nagaan welke zender het sterkste signaal levert en een antenne gebruiken die op die frequentie is ingesteld.
GPS-tijdsignalen zijn het nauwkeurigst en hebben het voordeel dat ze wereldwijd beschikbaar zijn. De antenne vereist echter een 360° zicht op de hemel, wat niet in elke situatie mogelijk is.
Radiotijdsignalen daarentegen kunnen door ramen worden ontvangen, waardoor een radiotijdbron een goede optie is voor gebouwen die geen vrij zicht op de hemel hebben.
Een radiotijdsignaal kan echter worden beïnvloed door topografie en storingen, waardoor het minder betrouwbaar is en niet ideaal voor de synchronisatie van zeer kritische systemen.
Hoe dan ook, de ontvanger maakt verbinding met een interne NTP-server via een kabel die maximaal 1000 meter lang kan zijn, indien gebruikt met een powerbooster, waardoor bedrijven veel flexibiliteit hebben bij de installatie.
Interne NTP-servers
Een NTP-server ontvangt de tijd van de referentieklok, via de antenne, en geeft deze door aan uw netwerk.
Welk type server u kiest, hangt af van een aantal factoren:
- Of u een GPS- of radiotijdbron gebruikt.
- Hoeveel clients u wilt synchroniseren.
- Of u al dan niet tijd aan meerdere netwerken wilt leveren.
- Welk besturingssysteem u wilt gebruiken.
- Hoe u de server fysiek wilt installeren.
Kies een radio- of GPS-tijdserver, afhankelijk van welke van deze bronnen voor u het beste is. Als alternatief zijn dubbele tijdservers een goede keuze voor toepassingen die het hoogste niveau van betrouwbaarheid vereisen. Deze servers gebruiken een radio- en een GPS-antenne om de tijd van beide te ontvangen, zodat de server tijd kan halen uit de sterkste bron en automatisch naar de andere kan terugkeren als het ene signaal wegvalt.
Om te voorkomen dat u geld uitgeeft aan functies die u niet nodig hebt, moet u uw tijdserver afstemmen op de grootte van uw netwerk.
De Galleon Systems NTS-4000 synchroniseert een enkel netwerk en is ideaal voor kleinere bedrijven. De NTS-6002 kan twee onafhankelijke netwerken synchroniseren, waardoor het een uitstekende keuze is voor organisaties met aparte personeels- en klantnetwerken.
Voor de meest veeleisende toepassingen kan de NTS-8000 maximaal zes netwerken synchroniseren—ideaal voor het leveren van nauwkeurige tijd aan onafhankelijke netwerken op verschillende verdiepingen van een gebouw.
Elk van deze tijdservers kan duizenden clients synchroniseren, en ze zijn allemaal beschikbaar in een radio-, GPS- of dubbele configuratie.
Tijdservers kunnen op verschillende besturingssystemen draaien, maar elke client heeft toegang tot een server die op elk besturingssysteem draait. Clients met MacOS kunnen bijvoorbeeld communiceren met een Windows-tijdserver door hun ingebouwde NTP-clientsoftware te gebruiken.
Kies ten slotte een server die voldoet aan de fysieke vereisten van uw ruimte. Veel tijdservers worden geleverd in een behuizing voor rekmontage, zodat u ze kunt integreren naast uw bestaande IT-hardware. Als alternatief biedt een standalone server, die op elk plat oppervlak kan worden geplaatst, dezelfde functionaliteit.
NTP-clients
Clients zijn de apparaten die u met uw tijdserver verbindt om gesynchroniseerd te worden. Vrijwel elk apparaat kan een client zijn als het aan drie voorwaarden voldoet:
- Het heeft een ingebouwde klok.
- Hij kan op een netwerk worden aangesloten via een ethernetverbinding.
- Er kan NTP/SNTP-clientsoftware op draaien.
Mogelijke klanten zijn onder meer computers, telefoons, klokken, CCTV-systemen, inkloksystemen en betaalterminals.
Veel apparaten hebben ingebouwde NTP-clientsoftware. Zo niet, dan is tijdsynchronisatiesoftware eenvoudig te installeren op Windows-apparaten, waarmee u een reeks clients voor uiteenlopende doeleinden kunt synchroniseren.
Wat is NTP? Conclusie
NTP biedt bedrijven en organisaties een betrouwbare, gebruiksvriendelijke en kosteneffectieve methode voor tijdsynchronisatie.
Het is een van de oudste internetprotocollen die nog steeds worden gebruikt en, hoewel nu aan versie vier toe, heeft het nog veel principes die het in de beginjaren zo populair maakten.
Door uw netwerkapparaten aan te sluiten op een tijdserver, die een signaal ontvangt van een definitieve tijdbron, kunt u profiteren van de voordelen van een nauwkeurige tijd op elke locatie, wat de productiviteit verhoogt, de klantenservice verbetert en uw activiteiten synchroniseert.